пятница, 15 января 2010 г.

[comp.prog.thoughts] Краткое впечатление после прочтения статьи Б.Страуструпа об обучении программистов

Закончил чтение статьи “What Should We Teach New Software Developers? Why?” Первая мысль после прочтения: то, о чем пишет Страуструп, было в нашем, тогда еще советском, образовании. Я учился с 1990-го по 1995-ый. У нас было и общее направление – разработка ПО (в рамках которого читались курсы и по архитектуре ЭВМ, и по алгоритмам, и по структурам данных, и по языкам программирования, и по базам данных, и по системному программированию и т.д.). Но была и специализация – я шел по кафедре Вычислительной Математики и Программирования, и в рамках специализации нам читали спецкурсы по методам вычислений вообще, методу конечных разностей, методу конечных элементов, методу граничных элементов в частности. Чего не было у студентов соседней кафедры Математических Проблем Управления – у них были свои спецкурсы. Была общематематическая подготовка – дискретка, линейная алгебра, аналитическая геометрия, матан + ТФКП + основы функана, теория вероятностей, дифуры, уравнения мат.физики, методы оптимизации и пр. Были общеобразовательные курсы – от истории и философии до гражданской обороны и метрологии.

Было несколько учебных практик. Была большая производственная практика перед защитой диплома. Было множество лабораторных. Были курсовые работы (по нескольку штук на весь год). У многих курсовые перерастали в большой, долгоиграющий проект, который выливался в диплом. Зачастую толковые студенты писали код для своих научных руководителей, некоторые при этом участвовали в коммерческих проектах, которые эти руководители вели. Так что к моменту завершения ВУЗ-а те студенты, которые сами все делали, имели за плечами далеко не одну тысячу написанных и отлаженных строк на разных языках программирования.

Были у нас разные преподаватели. И типичные представители академической науки, которые считали программирование занятием для обезьян. И прожженные практики, многие из которых имели многолетний опыт написания разнообразных программных систем (часть преподавателей была переманена из гомельского КБСП). Иногда их рассказы “за жизнь” были полезнее всяких теоритических лекций.

Ну и, наконец, было подобие желаемого Страуструпом “лицензирования” специалистов – защита диплома + гос.экзамен. Ведь корочка с подтверждением того, что ты дипломированный инженер-программист, не просто так выдавалась. Право на ее обладание еще подтвердить нужно было.

В общем то, о чем “плачется” Страуструп в своей статье, уже было построено в СССР в конце 80-х. А затем – благополучно просрано. Я так думаю.

PS. Я обещался написать еще свои мысли по поводу обучения программистов. Сделаю это обязательно в одной из следующих заметок.

Комментариев нет: