Что вы делате не так, уважаемые преподаватели
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.10 18:18
Оценка: 61 (4) +3
Эта микро-сатья родилась как ответ на одно из сообщений темы Перевод статьи Страуструпа
Автор: LaptevVV
Дата: 13.01.10
. Поняв, что получилось слишком много решил оформить в виде отдельной темы.

Недавно создатель C++ Бьярн Страуструп написал и опубликовал статью под заголовком «What should we teach new software developers? Why?» (Чему мы должны учить новых разработчиков ПО? И зачем?). В ней он делится неожиданным для него наблюдением – есть огромный разрыв между тем, что требуется от разработчика ПО на практике, и тем, чему и как его учат в высших учебных заведениях. Фактически никаких реальных решений данной проблемы Страуструп в статье не приводит (и вообще, занимается в основном переливанием из пустого в порожнее). Но сама проблема стоит отдельного рассмотрения.
Не вдаваясь в причины появления такой статьи (подозреваю, что такой причиной стало неприятие учениками его любимого детища) хочется заметить, что проблема и вправду сложная и важная. Дискуссия (Перевод статьи Страуструпа) на нашем форуме Образование и наука показала, что даже сами преподаватели зачастую не понимают причин такого положения дел и не знают, как исправить эту ситуацию.
На мой взгляд, стать хорошим программистом можно только на практике. Нет, конечно, теория очень важна, и лучше, если ее преподают хорошие учителя по хорошей программе. Куда хуже, если она получается при чтении урывками книг неизвестного качества, или если ее нет вовсе, но все же практика для программистов – это очень важная часть процесса обучения. В сущности, хороший программист учится всю жизнь.
По сути, программист, работающий на коммерческом или государственном предприятии (т.е. не занимающийся наукой непосредственно) – это инженер или даже рабочий. Обычно программист даже не производит сложных расчетов. Он создает проект ПО или вовсе воплощает в жизнь проект, разработанный кем-то другим (клинические случаи, когда программист пишет код, даже не задумываясь о проектировании, отбрасываем).
Для программиста несомненно важны такие преподаваемые в ВУЗах знания, как общеупотребительные алгоритмы, устройство компьютера, языки программирования, математика, логика и даже, возможно, физика (хотя на мой взгляд, школьной программы обычному программисту хватило бы за глаза). Но также ему нужны умения: работы в команде над одним проектом, использования средств контроля версий, тестирования ПО, использования различных фреймворков. Да и знания, перечисленные в первом списке, требуют опыта практического применения. Ведь далеко не факт, что человек знающий алгоритм сортировки, сможет применить его на практике. Более того, как справедливо замечает Страуструп, «мы часто видим студентов с хорошими оценками по алгоритмам, структурам данных и программной инженерии, которые, тем не менее, на занятиях по операционным системам используют сомнительные решения с абсолютным пренебрежением к всё тем же алгоритмам, структуре данных и кода». Странно только то, что Страуструп не видит, что причиной тому является отсутствие реальной практики.
Вы будете смеяться, но в советские времена при подготовке «работяг» в ПТУ использовалось весьма эффективное сочетание теоретических и практических занятий. Станочник или даже электрогазосварщик в первом полугодии обучения (помимо школьной программы 9-10 класса) получал базовую теорию по выбранной им профессии, а уже начиная со второго полугодия обучения вводились один или два дня практических занятий. Сначала эти практические занятия велись на базе ПТУ (в них обычно были нужные станки и оборудование), а потом, ближе ко второму курсу, занятия переходили в цеха реального завода. Так поступали не везде (не везде могли договориться с заводами), но по крайней мере в ПТУ при заводах (например, при ЗИЛ-е) такое практиковалось. В итоге ПТУ-шник к концу обучения умел сносно работать на настоящих станках (причем даже с ЧПУ, т.е. компьютерах) или (если выбранной специальностью была электрогазосварка) умел резать метал автогеном и сваривать его же электросваркой. При этом рабочий получался весьма качественный (по сравнению с обучением на производстве), так как он имел серьезную (по крайней мере для станочников) теоретическую подготовку. Единственная проблема, возникающая при этом – это нагрузка на ученика. 4-5 пар при этом было нормой.
Почему же при подготовке программистов, большая часть которых также работает «на производстве», практика считается чем-то второстепенным или даже вообще не нужным?
Аргументы против введения обязательных одного-двух дней практики в неделю: «придется жертвовать какими-то предметами», «неясно, где проводить практику». Еще одна проблема – кто должен контролировать практикантов?
Программистов учат 5 лет. Можно учить шесть, как врачей. Причем часть шестого года вообще превратить во что-то похожее на ординатуру врачей (когда ученик занимается реальной практикой за нереально мизерные деньги, но под надзором реальных профессионалов), а часть ее распределить по начальным годам обучения.
Если ввести один-два дня практических занятий в неделю, то на начальных курсах их можно проводить прямо в институте, под началом преподавателей. Это будет полезно не только ученикам, но и самим преподавателям, которые, участвуя в реальном процессе разработки, вынуждены будут держать себя «в тонусе», то есть иметь необходимую для преподавателей данной специальности практику реальной работы. Кроме того, они будут видеть реальные успехи своих учеников, что позволит точнее оценивать их успеваемость. На старших курсах студентов можно продавать «в рабство», т.е. заключать контракты с фирмами. В результате фирмы получат специалистов, готовых к работе у них, а ВУЗы – почти гарантированное трудоустройство (хотя бы для тех, кто на самом деле способен быть программистом).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Что вы делате не так, уважаемые преподаватели
От: LaptevVV Россия  
Дата: 19.01.10 19:07
Оценка: 2 (1)
Здравствуйте, VladD2, Вы писали:

VD>На мой взгляд, стать хорошим программистом можно только на практике. Нет, конечно, теория очень важна, и лучше, если ее преподают хорошие учителя по хорошей программе. Куда хуже, если она получается при чтении урывками книг неизвестного качества, или если ее нет вовсе, но все же практика для программистов – это очень важная часть процесса обучения. В сущности, хороший программист учится всю жизнь.


VD>По сути, программист, работающий на коммерческом или государственном предприятии (т.е. не занимающийся наукой непосредственно) – это инженер или даже рабочий. Обычно программист даже не производит сложных расчетов. Он создает проект ПО или вовсе воплощает в жизнь проект, разработанный кем-то другим.

Ты удивительным образом стоишь на тех же позициях, что и оберонщики. В частности Илья Ермаков. Он неоднократно утверждал (и я с ним согласен), что программист, который не лезет в науку, а занимается производственными залдачами — это инженер. Инженеров и надо готовить. А не ученых.
VD>Для программиста несомненно важны такие преподаваемые в ВУЗах знания, как общеупотребительные алгоритмы, устройство компьютера, языки программирования, математика, логика и даже, возможно, физика (хотя на мой взгляд, школьной программы обычному программисту хватило бы за глаза). Но также ему нужны умения: работы в команде над одним проектом, использования средств контроля версий, тестирования ПО, использования различных фреймворков.

VD>Вы будете смеяться, но в советские времена при подготовке «работяг» в ПТУ использовалось весьма эффективное сочетание теоретических и практических занятий. [...] Единственная проблема, возникающая при этом – это нагрузка на ученика. 4-5 пар при этом было нормой.
VD>Почему же при подготовке программистов, большая часть которых также работает «на производстве», практика считается чем-то второстепенным или даже вообще не нужным? Аргументы против введения обязательных одного-двух дней практики в неделю: «придется жертвовать какими-то предметами», «неясно, где проводить практику». Еще одна проблема – кто должен контролировать практикантов?
VD>Программистов учат 5 лет. Можно учить шесть, как врачей. Причем часть шестого года вообще превратить во что-то похожее на ординатуру врачей (когда ученик занимается реальной практикой за нереально мизерные деньги, но под надзором реальных профессионалов), а часть ее распределить по начальным годам обучения.
VD>Если ввести один-два дня практических занятий в неделю, то на начальных курсах их можно проводить прямо в институте, под началом преподавателей. Это будет полезно не только ученикам, но и самим преподавателям, которые, участвуя в реальном процессе разработки, вынуждены будут держать себя «в тонусе», то есть иметь необходимую для преподавателей данной специальности практику реальной работы. Кроме того, они будут видеть реальные успехи своих учеников, что позволит точнее оценивать их успеваемость. На старших курсах студентов можно продавать «в рабство», т.е. заключать контракты с фирмами. В результате фирмы получат специалистов, готовых к работе у них, а ВУЗы – почти гарантированное трудоустройство (хотя бы для тех, кто на самом деле способен быть программистом).
Вот про все это могу рассказать, как у нас. И почему практики не хватает.
1. Часов в учебном плане дофига. И дисциплин, в которых с той или иной стороны изучается программирование — дофина! Однако есть две небольшие заковыки. Первая: по стандарту направления-специальности аудиторная нагрузка в неделю для студента должна быть в среднем 27 часов. В эти часы входят ВСЕ предметы, не только программистские. Эта величина раситывается при составлении учебного плана. Если в одной неделе перебрал, в другой придется немного сократить. Эту величину проверяют все проверяющие комиссии — не дай Бог нагрузить студента сверх 27 часов.
27 (ну 28) часов это 14 пар в неделю 14 пар на 6 дней — это 2-3 пары ежедневно. И перепрыгнуть пока никак. Новых стандартов нет.
Вторая закавыка заключается в том, что при коллективной работе, например, в паре, реально работает только один. А второй сидит рядом. Вообще-то проблема решаемая, но требует исключительно тяжелого труда от препода по крайней мере поначалу. Препод должен сам сечь особенности коллективной разработки по сравнению с индивидуальной. И тратить очень много времени на работу со студентами по таким проектам. Об этом писал Шалыто в одной из своих статей: он ежедневно беседует в течение 2-3 часов с одной из команд, выполняющих коллективную разработку. То есть, препод должен быть энтузиастом, и задавать не учебные курсовые проекты, а реальные нужные проги.
2. Я согласен, почему-то так сложилось, что системы контроля версий, системы тестироования практически не изучаются. По крайней мере, у нас в учебном процессе. Правда, мы открыли у себя годовой курс ТET-программирование с курсовым проектом во второй половине. Ведет наш выпускник, аспирант (уже кандидат), проработавший в отделе АСУ 4 года, причем 3 из них начальником. Он сам в свое время перевел весь АСУ на дотнет, и сам писал массу прог. Разбирается в психологии работников, и озабочен именно научением народа коллективной работе. Посмотрим, как у него получится.
3. Мы своих лучших студентов отправляем работать в отдел АСУ уже со 2 курса, и уж с 3-го — практически обязательно. К сожалению, штаты не резиновые, поэтому всех принять не можем.
4. Ждем новые стандарты образования. По новым вуз получает право половину учебного плана формировать сам (а сейчас — только 10 %). Тогда можно будет сдделать отдельный спецкурс по любой тематике. И это — хорошо! Только вот преподов, которые способны разработать современный спецкурс — маловато! Допустим у нас на кафедре таких только 4 человека во главе с заведующим. Допустим, мы по 2 курса в год будем читать: один в первом семестре, другой — во втором. Это всего 8 спецкурсов. А нужно штук 35-40. Кто будет читать и разрабатывать? Допустим, пригласим мы еще 5 наших выпускников по совместительству — это опять же всего 10 курсов.
Вот и проблема. Еще раз повторю: речь идет о СОВРЕМЕННОМ спецкурсе.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Что вы делате не так, уважаемые преподаватели
От: Mr.Cat  
Дата: 19.01.10 19:17
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>ученик занимается реальной практикой за нереально мизерные деньги, но под надзором реальных профессионалов
Не поверишь, мы этим начинаем заниматься я на последних 2-3 курсах, а то и раньше.

VD>На старших курсах студентов можно продавать «в рабство», т.е. заключать контракты с фирмами.

Зачем? И так "см. выше".
Re[2]: Что вы делате не так, уважаемые преподаватели
От: Tesh США  
Дата: 19.01.10 19:39
Оценка:
35-40 спецкурсов? А что вы собрались в них включать?
Нас в свое время учили основам, мозги в нужную сторону поворачивали, а не конкретным технологиям.
Технологии меняются, главное чтобы мышление было правильное у человека и чтобы развиваться хотел.
Вообще считаю что главное человека заинтересовать, а дальше он сам разберется и откопает все что ему нужно.
А если ему не интересно, то никакое количество спецкурсов тут не поможет.
Re[2]: Что вы делате не так, уважаемые преподаватели
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.10 20:04
Оценка: +2 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Ты удивительным образом стоишь на тех же позициях, что и оберонщики. В частности Илья Ермаков. Он неоднократно утверждал (и я с ним согласен), что программист, который не лезет в науку, а занимается производственными залдачами — это инженер. Инженеров и надо готовить. А не ученых.


У нас с ними разные мысли по поводу самого Оберона .

LVV>1. Часов в учебном плане дофига. И дисциплин, в которых с той или иной стороны изучается программирование — дофина! Однако есть две небольшие заковыки. Первая: по стандарту направления-специальности аудиторная нагрузка в неделю для студента должна быть в среднем 27 часов. В эти часы входят ВСЕ предметы, не только программистские. Эта величина раситывается при составлении учебного плана. Если в одной неделе перебрал, в другой придется немного сократить. Эту величину проверяют все проверяющие комиссии — не дай Бог нагрузить студента сверх 27 часов.


Так не надо считать часы практики "аудиторной нагрузкой". Это смена вида деятельности. Можно считать ее даже отдыхом (по известному определению).

Что касается "только программистские", то может быть лучше было бы сократить их объем?
Ну, зачем программистам то чем они не будут пользоваться? Если им будет нужно что-то в реальной работе, то они найдут нужный учебник (или книгу) и прочтут/изучат.

LVV>27 (ну 28) часов это 14 пар в неделю 14 пар на 6 дней — это 2-3 пары ежедневно. И перепрыгнуть пока никак. Новых стандартов нет.


В общем, я понял. ПТУ-шники они значительно умнее. Они и 5-6 пар тянут. А студенты вузов они дохлеьнкие. Их беречь надо.
Если серьезно, то ответ уже был выше.

LVV>Вторая закавыка заключается в том, что при коллективной работе, например, в паре, реально работает только один. А второй сидит рядом.


Это не работа. Это какое-то показательное парное программирование в стиле ХР-программирования.
Работа — это кода есть задача и команда ее решающая. Тогда команда делает план работ, делит обязанности и начинает решать задачу. Более опытные занимаются координацией и решением очень сложных задач. Менее опытные получают подзадачки по проще и решают их. При этом волей-неволей всей команде придется координировать действия.

В прочем и парное программирование можно задействовать если перенять тот же опыт ХР. Людей нужно переодически менять местами, а второй программист должен не просто сидеть, а контролировать первого (искать ошибки, предлагать лучшее решение, в общем, думать вместе).

LVV>Вообще-то проблема решаемая, но требует исключительно тяжелого труда от препода по крайней мере поначалу.


А почему банальные менеджеры на производстве с этой задачей справляются на раз, а для преподов она вдруг стала очень сложной?

LVV>Препод должен сам сечь особенности коллективной разработки по сравнению с индивидуальной.


Ну, дык! О том и речь. За одно и сам научится тому предмету, что преподает.

LVV>И тратить очень много времени на работу со студентами по таким проектам.


Ну, дык. Я и говорю. Минимум 2 дня в неделю практических занятий. Ну, первый выпуск по такому плану может быть будет не ахти, а там препод поднатореет все пойдет само собой.

LVV>Об этом писал Шалыто в одной из своих статей: он ежедневно беседует в течение 2-3 часов с одной из команд, выполняющих коллективную разработку. То есть, препод должен быть энтузиастом, и задавать не учебные курсовые проекты, а реальные нужные проги.


Это само собой. Кстати, потому его студенты видимо и срубают все призы на олимпиадах.

LVV>2. Я согласен, почему-то так сложилось, что системы контроля версий, системы тестироования практически не изучаются. По крайней мере, у нас в учебном процессе.


А зачем мне твое согласие? Исправь эту ситуацию!
Возьми SVN... Прочти сам пару статей по SCV (у нас на сайте есть) и примени в практической работе. Тебе и объяснять то ничего не придется. Студенты сами будут спрашивать.

LVV>Правда, мы открыли у себя годовой курс ТET-программирование с курсовым проектом во второй половине. Ведет наш выпускник, аспирант (уже кандидат), проработавший в отделе АСУ 4 года, причем 3 из них начальником. Он сам в свое время перевел весь АСУ на дотнет, и сам писал массу прог. Разбирается в психологии работников, и озабочен именно научением народа коллективной работе. Посмотрим, как у него получится.


Вот и помогите ему выделив РЕАЛЬНОЕ время на практику.
Кстати, кто такой ТЕТ?

LVV>3. Мы своих лучших студентов отправляем работать в отдел АСУ уже со 2 курса, и уж с 3-го — практически обязательно.


Здорово! Но это вы. А надо чтобы так поступали все. Нужна система.

LVV>К сожалению, штаты не резиновые, поэтому всех принять не можем.


Плохо. Это потому то нет системы.

LVV>4. Ждем новые стандарты образования.


А нельзя как-то без них? Ну, типа в отчетах все по стандартам, а на практике как вам удобнее?

LVV>По новым вуз получает право половину учебного плана формировать сам (а сейчас — только 10 %). Тогда можно будет сдделать отдельный спецкурс по любой тематике. И это — хорошо! Только вот преподов, которые способны разработать современный спецкурс — маловато! Допустим у нас на кафедре таких только 4 человека во главе с заведующим. Допустим, мы по 2 курса в год будем читать: один в первом семестре, другой — во втором. Это всего 8 спецкурсов. А нужно штук 35-40. Кто будет читать и разрабатывать?


Дык. Если у вас будет практика и вы что-то из созданного на ней сможете продать, то правдами или неправдами вы сможете получить дополнительные бабки в свой карман (тут главное не переборщить с жадностью). Это может привлечь тех кто может и пошел бы преподавать, но ему деньги нужны.
Плюс сама практика поможет поднять уровень преподавательского состава. А так же выявит тех кто для этого вообще не пригоден.

LVV> Допустим, пригласим мы еще 5 наших выпускников по совместительству — это опять же всего 10 курсов.

LVV>Вот и проблема. Еще раз повторю: речь идет о СОВРЕМЕННОМ спецкурсе.

В армии служил? Дедовщину помнишь? Вот введите что-то похожее. Ну, без насилия конечно. Пусть студенты старших курсов пасут младших. Тем самым за одно получая реальный опыт руководства! Это же НЕ ОБУЧЕНИЕ! Это же практическая разработка! Только название будет "курс".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Что вы делате не так, уважаемые преподаватели
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.10 20:06
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Не поверишь, мы этим начинаем заниматься я на последних 2-3 курсах, а то и раньше.


Ну, может у вас и студенты после выпуска что-то умеют?

Потом, почему на последних? Почему не на первых?

VD>>На старших курсах студентов можно продавать «в рабство», т.е. заключать контракты с фирмами.

MC>Зачем? И так "см. выше".

За тем, чтобы как Лаптев здесь не плакаться. В реальных условиях ученикам сразу мозг на место поставят. Вам и напрягаться не придется.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что вы делате не так, уважаемые преподаватели
От: LaptevVV Россия  
Дата: 19.01.10 22:30
Оценка:
Здравствуйте, Tesh, Вы писали:

T>35-40 спецкурсов? А что вы собрались в них включать?

T>Нас в свое время учили основам, мозги в нужную сторону поворачивали, а не конкретным технологиям.
T>Технологии меняются, главное чтобы мышление было правильное у человека и чтобы развиваться хотел.
T>Вообще считаю что главное человека заинтересовать, а дальше он сам разберется и откопает все что ему нужно.
T>А если ему не интересно, то никакое количество спецкурсов тут не поможет.
1. По новым стандартам требуется, чтобы студент, как в америке, сам выбирал курсы, на которые записаться. А для этого — должен быть выбор.
2. Правильное мышление закладывается задолго до спецкурсов — на 1-2, максимум в начале третьего курса. А дальше начинается углубление в конкретику. Например, сейчас есть общий курс Системное ПО. По новому стандарту такого курса не будет. Вместо одного можно штук пять более специальных сделать, один из которых , например, по компиляторам.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Что вы делате не так, уважаемые преподаватели
От: Mr.Cat  
Дата: 20.01.10 00:45
Оценка:
Здравствуйте, VladD2, Вы писали:
MC>>Не поверишь, мы этим начинаем заниматься я на последних 2-3 курсах, а то и раньше.
VD>Ну, может у вас и студенты после выпуска что-то умеют?
Хз, вроде что-то умеем. Но тут уже трудно различить, чему научили, а чему "сами" научились.

VD>Потом, почему на последних? Почему не на первых?

На первых и больше надо времени на учебу тратить (ну у нас так было), и мотивация не у всех есть.

VD>>На старших курсах студентов можно продавать «в рабство», т.е. заключать контракты с фирмами.

MC>Зачем? И так "см. выше".
VD>За тем, чтобы как Лаптев здесь не плакаться. В реальных условиях ученикам сразу мозг на место поставят. Вам и напрягаться не придется.
Честно говоря, у меня какое-то предубеждение есть против любого принуждения к трудоустройству.
Re: Что вы делате не так, уважаемые преподаватели
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 20.01.10 01:11
Оценка:
Здравствуйте, VladD2, Вы писали:

Самый главный вопрос: а почему именно 1-2 дня в неделю? Почему не распределить эти 1-2 дня по паре часов на каждый день, как это давно уже делают студенты в рамках НИРС-ов, подработок и т.п? С ПТУ, особенно заводскими — понятно, есть рабочий день предприятия, нужно адаптировать людей именно к нему. Но у программистов немалая часть работы может совершаться вообще в течение всего дня, совершенно не зависимо от времени суток. Ключевой момент-то, это не "собраться гуртом в одной комнате в час X", а обеспечить правильное перемещение правильных документов, кода, и т.п. Зато такая постановка вопроса: а) снимает необходимость разрывать учебный процесс, б) не требует растягивать обучение ещё на год, в) позволяет сосредоточиться на ключевых аспектах организации коллективного труда программистов (если люди научатся писать, то смогут и общаться).

Наконец, когда количество специалистов, подготовленных к тому, чтобы писать, а не бегать толпами, достигнет критической массы — глядишь, индустрия-то поменяется.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Что вы делате не так, уважаемые преподаватели
От: skeptik_  
Дата: 20.01.10 01:16
Оценка:
Здравствуйте, VladD2, Вы писали:

В Германии например есть следующие возможности:
0. Профессиональное обучение (Ausbildung, специальность Fachinformatiker, есть разделение на админов и программеров). Ученик ходит в профшколу за теорией и одновременно работает учеником на фирме.
1. Fachhochschule — четыре года инженерного образования по жесткой программе.
2. Bachelor по информатике в универе — три года образования, достаточно сильно ориентировано на практику. Математики например у нас в Хагене всего два семестра, плюс семестр теоретической информатики (computability, complexity, formal languages).
3. Master по информатике в универе — два года после бакалавра, все предметы на выбор. Предполагает научную карьеру.
Re[3]: Что вы делате не так, уважаемые преподаватели
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 20.01.10 01:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Потом, почему на последних? Почему не на первых?


Потому что раннее трудоустройство заложит в мозг неправильные паттерны. Получится хороший рабочий, заточенный под определённые практики. Плюс к тому, как правильно заметил Mr.Cat, на младших курсах студентам хватает работы по изучению фундамента, не фиг реалиями мозги забивать.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Что вы делате не так, уважаемые преподаватели
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 20.01.10 04:27
Оценка: +1
оговорка: к образованию никакого отношения не имею.
вступление: сначала хотел плюсануть первое сообщение. потом второе. потом не выдержал, и отвечаю на третье.
топик еще не дочитал. сразу, мне ближе позиция LaptevVV-а.

Здравствуйте, VladD2, Вы писали:

тут такая засада... смените в вашем стартовом сообщении программиста на строителя, или электрика, или слесаря (рабочие специальности), или на руководителя (отдельная специальность, требующая специфических навыков). и что получится? всех учить дольше, ввести больше практики.
в реальной жизни, нормальный студент работает с 2-3-го курса. навыков командной работы ему не хватает конечно. потому что студента в команду взять — время терять серьезно. но это проблема руководителя работ, а не программиста. в рамках команды и для жуткого эгоцентриста позиция найдется.

VD>Здравствуйте, LaptevVV, Вы писали:


LVV>>Ты удивительным образом стоишь на тех же позициях, что и оберонщики. В частности Илья Ермаков. Он неоднократно утверждал (и я с ним согласен), что программист, который не лезет в науку, а занимается производственными залдачами — это инженер. Инженеров и надо готовить. А не ученых.

VD>У нас с ними разные мысли по поводу самого Оберона .

но программист-то все же инженер и в вашей позиции.

VD>Так не надо считать часы практики "аудиторной нагрузкой". Это смена вида деятельности. Можно считать ее даже отдыхом (по известному определению).


гм... прикольно. в армию сходить — вообще отдохнуть от жизни. полный дзен.

LVV>>Вторая закавыка заключается в том, что при коллективной работе, например, в паре, реально работает только один. А второй сидит рядом.

VD>Это не работа. Это какое-то показательное парное программирование в стиле ХР-программирования.

не поверите, но в _школе_ часто дают задание на пару или на группу.
работает один, максимум пара подруг из команды.
собственно — и что?! вы собираетесь перевоспитать человечество?!.

VD>Работа — это кода есть задача и команда ее решающая. Тогда команда делает план работ, делит обязанности и начинает решать задачу. Более опытные занимаются координацией и решением очень сложных задач. Менее опытные получают подзадачки по проще и решают их. При этом волей-неволей всей команде придется координировать действия.


подобная команда _само_-организуется редко. выделять лида формально — создать напряжение в сложившемся социуме.

VD>В прочем и парное программирование можно задействовать если перенять тот же опыт ХР. Людей нужно переодически менять местами, а второй программист должен не просто сидеть, а контролировать первого (искать ошибки, предлагать лучшее решение, в общем, думать вместе).


перечитайте фразу. у вас получилось 3 человека: 2 хр-шника, и руководитель.

VD>А почему банальные менеджеры на производстве с этой задачей справляются на раз, а для преподов она вдруг стала очень сложной?


потому что руководитель и преподаватель — разные работы.
вы еще препода на рояле поиграть попросите. ну играет же мп3-плеер, значит — нефиг делать.

LVV>>Препод должен сам сечь особенности коллективной разработки по сравнению с индивидуальной.


но не обязан. вспоминая своих лучших преподавателей-предметников — нафиг им даже воспитательные функции.
а вы им еще и менеджерские хотите добавить.

"капитан должен быть сильный как медверь и смелый как лев. да у тебя не капитан получается, а зоопарк какой-то" (с) денискины рассказы

VD>Ну, дык! О том и речь. За одно и сам научится тому предмету, что преподает.


зачет. поддерживаю.


VD>Здорово! Но это вы. А надо чтобы так поступали все. Нужна система.

VD>Плохо. Это потому то нет системы.
LVV>>4. Ждем новые стандарты образования.
VD>А нельзя как-то без них? Ну, типа в отчетах все по стандартам, а на практике как вам удобнее?

логика где?

VD>Плюс сама практика поможет поднять уровень преподавательского состава. А так же выявит тех кто для этого вообще не пригоден.


прямо сейчас можно выявить 10-20% непригодного преподавательского состава. и что дальше? расстрелять и родить-вырастить новых?!

VD>В армии служил? Дедовщину помнишь? Вот введите что-то похожее. Ну, без насилия конечно. Пусть студенты старших курсов пасут младших. Тем самым за одно получая реальный опыт руководства! Это же НЕ ОБУЧЕНИЕ! Это же практическая разработка! Только название будет "курс".


в развитых странах это называется "наставник". ...и там же все нос воротят от этого. слишком формально.
рассказывать реальные случаи из моего опыта — лень.

и самое главное: вы где собираетесь брать преподавателей-предметников (аутистов, завенутых на своей дисциплине ) с навыками (и желанием) педагогической и менеджерской работы??? перечитайте свой пост с заменой программистов на _их_ преподавателей и помедитируйте над фразой "кого бы я народил, если бы был властелином мира".

зюыю так то все правильно, да уж больно от жизни далеко. во
Re[2]: Что вы делате не так, уважаемые преподаватели
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 20.01.10 10:43
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>В Германии например есть следующие возможности:

_>0. Профессиональное обучение (Ausbildung, специальность Fachinformatiker, есть разделение на админов и программеров). Ученик ходит в профшколу за теорией и одновременно работает учеником на фирме.

советское пту.

_>1. Fachhochschule — четыре года инженерного образования по жесткой программе.


советский техникум.

_>2. Bachelor по информатике в универе — три года образования, достаточно сильно ориентировано на практику. Математики например у нас в Хагене всего два семестра, плюс семестр теоретической информатики (computability, complexity, formal languages).


незаконченное высшее.

_>3. Master по информатике в универе — два года после бакалавра, все предметы на выбор. Предполагает научную карьеру.


законченное высшее.

сравнивали уже не раз. потерянное средне-техническое образование дает себя знать.
для занятия _рабочей_ должности, надо иметь высшее образования. именно это нам рассказывали лет 25-30 назад про японию (в те годы).
так что мы все пришли ровно туда, куда нас посылали. во
Re: Что вы делате не так, уважаемые преподаватели
От: Кодёнок  
Дата: 20.01.10 12:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Аргументы против введения обязательных одного-двух дней практики в неделю: «придется жертвовать какими-то предметами»


Вот тут я думаю и есть корень проблемы. В преподавании используется средневековый подход — научить современным знаниям. Но их объем уже такой, что за 5 лет даже просто познакомиться можно максимум с 1%, а уж нормально изучить — не более 0.000………01%. А стремительно устаревающие технологии? Объемы полезных знаний (которые хотя бы раз пригодятся на работе) уже давно не влазят ни в какой курс, в дальнейшем будут только расти.

Студент 95% времени занимается вещами, с которыми столкнется в лучшем случае раз в 3 года (а то и никогда), и лишь 5% уделяется чему-то действительно нужному. Потому практика дает такой колоссальный эффект — в реальной работе, до 100% времени изучаемых в процессе вещей являются непосредственно тем, чему надо учиться, и которые будут нужны практически каждый день. Сравните — изучаемое на курсах является наверное полезным (если преподы не ошиблись), изучаемое на практике является 100% точно полезным (ошибки быть не может).

Почему очень важное не отличают от просто полезного? Зачем цель «Научиться» повсеместно подменяется на цель «Развить правильное мышление изучением дисциплин из заданной сверху программы»? — это те еще вопросы.

Тут все зависит от того, к каким выводам ты готов прийти, а к каким нет. Если представить на секунду, что найден способ учиться программированию в разы быстрее и качественней, но он не совместим с изучением фундаментальных дисциплин, что ты выберешь?

VD>Программистов учат 5 лет. Можно учить шесть, как врачей. Причем часть шестого года вообще превратить во что-то похожее на ординатуру врачей


Ну и какого качество этого решения: пять лет достигаем не то, из-за подмены настоящей цели обучения, давайте добавим еще годик, чтобы еще и настоящую все-таки начать достигать? Как консенсус сойдет, если условиться, что на программы от минобра ты влиять никак не можешь.
Re[3]: Что вы делате не так, уважаемые преподаватели
От: skeptik_  
Дата: 20.01.10 14:58
Оценка:
Здравствуйте, bastrakov, Вы писали:

B>Здравствуйте, skeptik_, Вы писали:


_>>1. Fachhochschule — четыре года инженерного образования по жесткой программе.


B>советский техникум.


Скорее политех.
Re[2]: Что вы делате не так, уважаемые преподаватели
От: LaptevVV Россия  
Дата: 21.01.10 10:30
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Студент 95% времени занимается вещами, с которыми столкнется в лучшем случае раз в 3 года (а то и никогда), и лишь 5% уделяется чему-то действительно нужному. Потому практика дает такой колоссальный эффект — в реальной работе, до 100% времени изучаемых в процессе вещей являются непосредственно тем, чему надо учиться, и которые будут нужны практически каждый день. Сравните — изучаемое на курсах является наверное полезным (если преподы не ошиблись), изучаемое на практике является 100% точно полезным (ошибки быть не может).

Да нифига подобного!
Вот наши студенты программирование в разных видах изучают в Дотнете 2008. И проектирование — в реальных case-системах. И базы данных в SQL Server 2005.
Насчет того, что некие предметы как-бы не нужны. Вот, например, вычислительная математика или уравнения теоретической физики. Типа нафига они программисту. А вот зафига: седни разговариваю с заведующим кафедрой из строительного института. И он интересуется, как бы это пару программистов ему от нас заиметь. А что за задачи? Да в строительной какой-то задаче нужно сеточным методом обсчитать уравнение теплопроводности, да еже и графики все построить. И у них таких задач — ну просто дофига и маленькая тележка!
Вот тебе и 95% ненужного, изучаемого программистами. А уравнение теплопроводности — вы меня извините, но матанализ нужно если не сечь, то знать...

Кё>Почему очень важное не отличают от просто полезного? Зачем цель «Научиться» повсеместно подменяется на цель «Развить правильное мышление изучением дисциплин из заданной сверху программы»? — это те еще вопросы.

Кё>Тут все зависит от того, к каким выводам ты готов прийти, а к каким нет. Если представить на секунду, что найден способ учиться программированию в разы быстрее и качественней, но он не совместим с изучением фундаментальных дисциплин, что ты выберешь?
А вы за первое или за второе?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Что вы делате не так, уважаемые преподаватели
От: Кодёнок  
Дата: 21.01.10 11:00
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Вот тебе и 95% ненужного, изучаемого программистами. А уравнение теплопроводности — вы меня извините, но матанализ нужно если не сечь, то знать...


Ты всего лишь демонстрируешь
Кё>>Почему очень важное не отличают от просто полезного?
...типичное неумение отличать самое главное от потенциально полезного.

Я не называл эти 95% ненужными. Любое знание — нужное, но одни нужные дают огого какой эффект, а про другие нужные и в жизни не догадаешься, что они изучались. Если б полезность можно было измерить в цифрах, то разница была бы на порядки. В современном в/о происходит попирание того, что дает «огого» огромной массой мелочей, дающими мизер, и эффект получается где-то на уровне среднего между тем, что надо, и нулем.
Re: Что вы делате не так, уважаемые преподаватели
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.01.10 10:25
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Недавно создатель C++ Бьярн Страуструп написал и опубликовал статью под заголовком «What should we teach new software developers? Why?» (Чему мы должны учить новых разработчиков ПО? И зачем?). В ней он делится неожиданным для него наблюдением – есть огромный разрыв между тем, что требуется от разработчика ПО на практике, и тем, чему и как его учат в высших учебных заведениях.


При чем говорит он это не про российские вузы, а про западные, где программуха даётся совершенно иначе.

VD>Почему же при подготовке программистов, большая часть которых также работает «на производстве», практика считается чем-то второстепенным или даже вообще не нужным?


В МИТ напрмер в семестр практики по программухе больше, чем за 2 курса на той специальности где я учился

Что бы высвободить время, нужно отказаться от предметов вроде Многооконный интерфейс, машинная графика, Обработка изображений, Интерфейсы ПЭВМ и много чего еще и все это заполнить практикой по предметам программухой, например структуры данных те же или фп.

Просто нагружать, как ты предлагаешь, нужно ждать законодательных решений, что очвидно, вряд ли произойдет в ближайшее время.
Re[2]: Что вы делате не так, уважаемые преподаватели
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.01.10 13:52
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>В МИТ напрмер в семестр практики по программухе больше, чем за 2 курса на той специальности где я учился


Ну, дык МИТовцы вроде как ценятся очень высоко. Вот и надо брать с них опыт. Потому как то что приходит устраиваться на работу у нас — это ни в какие ворота не лезет.

I>Что бы высвободить время, нужно отказаться от предметов вроде Многооконный интерфейс, машинная графика, Обработка изображений, Интерфейсы ПЭВМ и много чего еще и все это заполнить практикой по предметам программухой, например структуры данных те же или фп.


Дык и избавляйтесь. Это предметы которые имеют смысл исключительно на практике. Теорию паттерна MVC объясните, а остальное пусть осваивают за компом. Да и толку с ваших куросов — 0, так как при реальной работе библиотеки будут другими, а значит и приемы тоже другие будут.

I>Просто нагружать, как ты предлагаешь, нужно ждать законодательных решений, что очвидно, вряд ли произойдет в ближайшее время.


Сдается мне нужно одно законодательное решение — не мешать тем кто понимает, что делает делать то что он хочет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что вы делате не так, уважаемые преподаватели
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.01.10 16:39
Оценка:
Здравствуйте, VladD2, Вы писали:

I>>В МИТ напрмер в семестр практики по программухе больше, чем за 2 курса на той специальности где я учился


VD>Ну, дык МИТовцы вроде как ценятся очень высоко. Вот и надо брать с них опыт. Потому как то что приходит устраиваться на работу у нас — это ни в какие ворота не лезет.


Страуструп вобщем то и пишет про ВУЗы уровня МИТ,а не про российские
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.