For example,Бобцов

INNOVATIVE SYSTEMOF EDUCATION SPECIALISTS IN SOFTWARE DESIGN SPHERE IN St.P SU ITMO

В.Н. Васильев, В.Г. Парфенов, А.А. Шалыто

1 НОВЫЕ ТЕХНОЛОГИИ В ОБРАЗОВАНИИ

УДК 681.31
ИННОВАЦИОННАЯ СИСТЕМА ПОДГОТОВКИ СПЕЦИАЛИСТОВ В ОБЛАСТИ ПРОИЗВОДСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
В СПбГУ ИТМО
В.Н. Васильев, В.Г. Парфенов, А.А. Шалыто
В 2008 г. СПбГУ ИТМО возглавил мировой рейтинг университетов, составленный по результатам выступлений университетов на студенческих командных чемпионатах мира по программированию за последние пять и десять лет. Университет ИТМО входит в число ведущих вузов мира, занимающихся подготовкой специалистов по производству программного обеспечения (ПО). Эти достижения во многом связаны с разработкой и внедрением в учебный процесс инновационной системы подготовки, основанной на сочетании проектного и соревновательного подходов. В статье рассмотрены научно-методические основы построения этой системы. Ее эффективность подтверждается очередной победой команды СПбГУ ИТМО на чемпионате мира по программированию ACM ICPC в 2009 г. Ключевые слова: производство программного обеспечения, проектный подход, соревновательный подход, подготовка специалистов, чемпионат мира по программированию ACM ICPC.
Научно-методические основы построения системы подготовки высококвалифицированных специалистов в области производства
программного обеспечения
В настоящее время перед Россией стоит задача интенсивного развития инновационного сектора экономики, связанного с высокими технологиями и, в частности, с информационными технологиями и программированием. В последние годы общепризнано, что именно здесь позиции России на мировом рынке высоких технологий являются наиболее сильными и перспективными. В России сфера производства программного обеспечения (ПО) стала лидером по темпам развития среди других направлений высоких технологий, а технологии производства ПО включены в состав важнейших критических технологий Российской Федерации.
Учитывая такие обстоятельства социального развития России, как демографический кризис, с одной стороны, и рост среднего уровня заработной платы в стране, с другой стороны, приходится констатировать, что в области решения «простых» задач Россия становится неконкурентоспособной по сравнению с Индией и Китаем. Поэтому российская «ставка» на мировом рынке производства ПО – это выполнение сложных проектов с использованием высококвалифицированных специалистов, развитие и доведение инновационных идей до коммерческого использования, а также проведение научно-исследовательских работ. Таким образом, для нашей страны особую ценность представляют наиболее талантливые специалисты, способные стать лидерами проектов и научно-исследовательских работ по разработке ПО в качестве руководителей и «генераторов идей». Это тем более важно потому, что программирование в последние годы превратилось в индустрию, а разработка ПО – в производство, которое неразрывно связано с процессом его проектирования.
Охарактеризуем условия, в которых сегодня готовятся такие специалисты. Сложный социально-экономический кризис, пережитый нашей страной, вывел из индустрии разработки ПО, как и из многих других областей высоких технологий, целое поколение «сорокалетних», которые закончили вузы в конце восьмидесятых – начале девяностых годов. Аналогичный, но еще более острый характер, имеют кадровые про-

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 4(62)

5

ИННОВАЦИОННАЯ СИСТЕМА ПОДГОТОВКИ СПЕЦИАЛИСТОВ …
блемы в области научных исследований. В результате нарушилась цепочка преемственности в подготовке кадров: сегодняшние молодые люди, приходящие в индустрию разработки ПО, практически лишены возможности опереться на реальный производственный опыт старших коллег.
Во всех развитых странах, в том числе в России, констатируются такие социальнопсихологические процессы, как общее падение интереса молодежи к занятиям точными науками, сильный отток в промышленность наиболее активных и способных университетских преподавателей, негативное воздействие на молодежь клиповой и Интернеткультур, компьютерных игр, телевидения и т.д., приводящее к сдвигам в психике молодых людей, препятствующим их долговременной сосредоточенной умственной деятельности (так называемый синдром перманентного частичного внимания), и общее уменьшение настроя молодежи на напряженный труд. В российских условиях эти процессы в сочетании с отмеченным выше демографическим спадом резко снижают стремление молодых специалистов к затрате усилий для повышения своей квалификации.
В области производства ПО огромную роль играет возрастной фактор. Программирование – это занятие для очень молодых. Опыт показывает, что изучение ряда фундаментальных курсов теоретической информатики и программирования надо начинать еще в школьные годы, и подчас даже в весьма молодом, по общепринятым стандартам, возрасте весьма трудно наверстать упущенное в школе, так как с годами резко падает способность к обучению программированию. Молодой человек даже в двадцать с небольшим лет может оказаться слишком «старым» для начала целевой программистской подготовки. С другой стороны, в силу чрезвычайно высокой скорости развития информационных технологий в области производства ПО срок, за который разработчик может стать руководителем проекта, существенно сократился по сравнению с традиционными инженерными отраслями. Можно привести много примеров, когда спустя всего два–три года после окончания вуза молодые специалисты становились руководителями технических и технологических направлений компаний на позициях не только руководителей проектов, но и технических директоров.
Как показывает практика, малоэффективной является и переподготовка для работы в области производства ПО даже недавних выпускников вузов, окончивших математические или физические специальности, которые не получили интенсивной программистской подготовки в студенческие годы. Такая переподготовка была возможна в семидесятых − начале восьмидесятых годов. Однако за последние десятилетия технологии производства ПО (software engineering) получили огромное развитие как самостоятельное инженерное и научное направление, включающее большое число специальных дисциплин и технологических компетенций, предусмотренных соответствующими международными стандартами. Знания, умения и навыки, полученные в двух–трех последних классах средней школы и на первых трех–четырех курсах вузов при изучении фундаментальных дисциплин в области теоретической информатики и технологий программирования, играют огромную (если не решающую) роль в становлении высококвалифицированных разработчиков и исследователей.
Некоторые из указанных факторов лежат вне сферы образования, однако, несмотря на это, в работу образовательных учреждений должны быть внесены изменения, которые позволят (хотя бы частично) компенсировать негативное влияние внешних условий. В связи с изложенным весьма актуальным является построение системы «школа – вуз – научные исследования – индустрия», обеспечивающей поиск, профориентацию, отбор, дополнительное обучение, предпрофессиональную и профессиональную подготовку (включая обучение в аспирантуре и докторантуре) высококвалифицированных специалистов в области производства ПО, которые смогут выполнять функции разра-
6 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2009, № 4(62)

В.Н. Васильев, В.Г. Парфенов, А.А. Шалыто
ботчиков, исследователей и руководителей широкого круга научно-технических, научно-исследовательских и инновационных проектов.
Такая система должна использовать учебно-методические, технологические и организационные подходы, позволяющие нейтрализовать указанные выше негативные социально-психологические и демографические процессы, т.е. отвечать следующим требованиям:
обеспечивать максимальную стандартизацию, формализацию, автоматизацию и унификацию соответствующих процедур, позволяющих сократить потребность в высококвалифицированных педагогических кадрах, что особенно важно в связи с их сильным дефицитом;
реализовывать современные формы самостоятельной работы студентов, которые «позволят молодым людям научиться учиться» [1] и будут использоваться наряду с традиционными формами, поскольку самостоятельная работа чрезвычайно важна при подготовке специалистов в области производства ПО. Эти формы должны отвечать психологическому настрою современного молодого человека на применение в учебном процессе сетевых технологий;
поддерживать активность учащихся в ходе образовательного процесса, обеспечивая эффективное взаимодействие не только преподавателя с учащимися, но и учащихся между собой;
готовить учащихся к инновационной и научной деятельности в условиях сильной конкуренции, характерной для современного мирового рынка разработок и научных исследований в области информационных технологий.
При разработке указанной системы авторами в качестве базовых совместно использовались и развивались два подхода – проектный и соревновательный, обеспечивающие выполнение приведенных требований.
Преимущества проектного подхода при организации обучения хорошо известны. Как отмечается в работе [1], «... практика работы в проектном подходе позволит выявить и передать современные способы организации мыслительной работы человека, что и является современным содержанием образования». Важность использования проектного подхода при подготовке высококвалифицированных специалистов в области производства ПО определяется также и тем обстоятельством, что если разработка ПО может выполняться без его проектирования, то производство ПО без проектирования невозможно. Однако наши исследования позволили выявить специфику проектного подхода в этом случае.
При реализации проектного подхода при подготовке специалистов в области производства ПО не удается использовать методики проектного обучения, применяемые в классических инженерных областях, где общий цикл подготовки высококвалифицированного специалиста составляет не менее десяти–пятнадцати лет. В рассматриваемой области этот цикл составляет шесть–восемь лет, за который используемые технологии обычно изменяются.
Применение проектного подхода особенно актуально при обучении школьников, так как в противном случае молодой разработчик впервые сталкивается с жесткими требованиями обязательного ведения проектной документации только в начале своей трудовой деятельности в «зрелом» для программиста возрасте. При этом весьма часто возникают острые конфликтные ситуации с заказчиками и коллегами, а времени для перестройки взглядов на процесс создания ПО и дополнительного обучения непосредственно в ходе трудовой деятельности практически не остается.
Раннее обучение молодых людей выполнению проектов представляется в настоящее время тем более актуальным, что упомянутый выше синдром частичного пер-

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 4(62)

7

ИННОВАЦИОННАЯ СИСТЕМА ПОДГОТОВКИ СПЕЦИАЛИСТОВ …
манентного внимания находится в противоречии с характером и духом требований к качественным программным проектам. При реализации проектного подхода к подготовке специалистов в области производства ПО возникают трудности, связанные с необходимостью воспроизведения в учебном процессе реального процесса создания ПО, включающего такие этапы, как формирование архитектуры, кодирование, тестирование и документирование, а также элементов научно-исследовательской работы. Полная и качественная реализация этих этапов ограничивается выделяемым на учебные проекты временем и трудностями привлечения к учебному процессу высококвалифицированных специалистов, имеющих опыт практической работы. Задача еще более усложняется, если принять во внимание наличие большого числа подходов к организации процесса создания ПО, парадигм программирования, инструментальных средств и т.д. Кроме того, необходимо обеспечить адаптацию реальных процессов создания ПО, имеющих место в различных компаниях, к уровню учащихся, начиная от школьников старших классов и кончая студентами старших курсов вузов.
Опыт работы кафедр компьютерных технологий и технологий программирования СПбГУ ИТМО позволил сделать вывод о том, что указанной специфике отвечает учебный процесс, основанный на проектном подходе с применением автоматного программирования [2–4]. Применение автоматного подхода позволяет студентам сконцентрироваться на проектировании программ, а не на их реализации. Отметим, что при традиционном обучении за время, отведенное на реализацию курсовой работы, студенты успевают только написать код и, изредка, фрагменты документации. В описываемом подходе основное время уходит на проектирование, что позволяет студентам получить необходимые навыки в этой области, обеспечивает высокое качество работ и позволяет применять полученные результаты и другим людям.
Проектный подход воспитывает у учащихся аккуратность, умение доводить начатое дело до конца, самостоятельно мыслить, работать в коллективе, грамотно писать и правильно оформлять проектную документацию, дает возможность реализовывать различные формы самостоятельной работы студентов [5]. В настоящее время проектный подход внедряется в школы [6].
Вторым эффективным средством для решения указанных выше проблем стал соревновательный подход, суть которого состоит во введении элементов коллективных и индивидуальных интеллектуальных соревнований в учебный процесс, причем не только в форме предметных олимпиад. Охарактеризуем преимущества такого подхода для подготовки разработчиков ПО.
Практика последних пятнадцати лет показала, что одним из наиболее результативных средств мотивации молодых людей на построение карьеры в области разработки ПО, которое доказало свою работоспособность даже в экстремальных политикоэкономических условиях 1990-х г.г., является проведение олимпиад по информатике и программированию. Широкое распространение в России олимпиад по этим предметам позволяет одновременно решать задачи профориентации, поиска, отбора и подготовки школьников и студентов, а также ряд важных методических и организационных вопросов. На базе подготовки к олимпиадам в школах [7] и вузах [8] под руководством наиболее квалифицированных преподавателей формируются коллективы способных, увлеченных и трудолюбивых студентов и школьников, ориентированных на выстраивание серьезной профессиональной карьеры в области информационных технологий.
Во многом благодаря объединяющей и организующей роли олимпиад в вузах, средних школах и учреждениях дополнительного образования возникают неформальные сообщества преподавателей и учащихся, интересующихся фундаментальными и прикладными вопросами в области компьютерных технологий. Регулярно проводятся
8 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2009, № 4(62)

В.Н. Васильев, В.Г. Парфенов, А.А. Шалыто

семинары и тренировочные занятия, ведутся отбор и большая подготовительная работа. Участие в тренировках и соревнованиях (особенно индивидуальных) – одна из наиболее эффективных современных форм самостоятельной работы учащихся.
Соревновательный подход воспитывает у учащихся способность работать в условиях конкуренции и дефицита времени, дисциплинированность, умение общаться и работать в коллективе (при проведении получивших широкое распространение командных олимпиад), проявлять инициативу и брать ответственность на себя, быстро ориентироваться в новой предметной области и быстро решать возникающие в ней задачи. Отметим, что именно эти качества, которые не могут быть развиты за счет других видов занятий, часто становятся определяющими при приеме на работу в таких компании, как Google и Microsoft, которые добились выдающихся результатов в индустрии разработки ПО.
Сочетание соревновательного и проектного подходов формирует у обучающихся дополняющие друг друга наборы качеств, необходимых высококвалифицированным специалистам в области производства ПО. Их совокупность образует оптимальный набор качеств, позволяющих специалистам, обладающих ими, эффективно выполнять инновационные программные проекты.
Авторы настоящей статьи совместно с Г.А. Корнеевым и М.А. Казаковым отмечены премией Правительства РФ 2008 г. в области образования за научнопрактическую и методическую разработку «Инновационная система поиска и подготовки высококвалифицированных специалистов в области производства программного обеспечения на основе проектного и соревновательного подходов» для образовательных учреждений высшего профессионального образования [9].
Победы студентов СПбГУ ИТМО в чемпионатах мира по программированию – один из показателей эффективности системы подготовки одаренных программистов
Созданная авторами инновационная система поиска и подготовки высококвалифицированных специалистов ПО ярко продемонстрировала свою эффективность в ходе участия команд студентов СПбГУ ИТМО в чемпионатах по программированию самого высокого уровня. Студенты университета ИТМО шесть раз выигрывали полуфинальные соревнования чемпионата мира по программированию ACM ICPC, причем в 1995 г. первыми из российских вузов пробились в финал чемпионата, пять раз (в 1996, 2001, 2003, 2004 и 2007 г.г.) становились чемпионами России по программированию, а в 2000, 2005 и 2006 г.г. – вице-чемпионами. В течение двенадцати лет, начиная с 1995 г., студенты университета ИТМО неизменно выходили в финал чемпионата мира, где в 2000 г. завоевали серебряные медали, в 1999, 2001, 2003, 2005 и 2007 г.г. – золотые, а в 2004 г. стали абсолютными чемпионами мира и Европы по программированию. При этом необходимо отметить, что эти результаты достигнуты не одной, а семью различными командами университета по три студента в каждой.
Эти достижения были в очередной раз подтверждены результатами участия студентов СПбГУ ИТМО в финале студенческого командного чемпионата мира по программированию ACM ICPC 2009 года (Стокгольм, 21 апреля 2009 г.). На этих соревнованиях, как и в 2008 г., команда СПбГУ ИТМО в составе Максима Буздалова, Евгения Капуна и Владислава Исенбаева получила золотые медали и стала абсолютным чемпионом мира и Европы 2009 года (фото 1). Команда решила девять из 11 задач со штрафным временем 1381 минута. Как и все последние годы, тренером команды являлся доцент кафедры компьютерных технологий А.С. Станкевич, а руководителем команды – декан факультета информационных технологий и программирования В.Г. Парфенов.

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 4(62)

9

ИННОВАЦИОННАЯ СИСТЕМА ПОДГОТОВКИ СПЕЦИАЛИСТОВ …
Фото 1. Команда СПбГУ ИТМО, крайние слева и справа – организаторы соревнований. Слева направо: Андрей Станкевич, Максим Буздалов, Евгений Капун, Владислав Исенбаев
Фото 2. Лауреаты премии DeBlasi Award и организаторы ACM ICPC (крайние слева и справа). В середине: В.Г. Парфенов, Р.А. Елизаров и В.Н. Васильев
10 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2009, № 4(62)

В.Н. Васильев, В.Г. Парфенов, А.А. Шалыто
Команда СПбГУ ИТМО стала чемпионом мира в третий раз (2004, 2008 и 2009 г.г.), догнав по этому показателю Стэнфордский университет, который трижды становился чемпионом мира по программированию. Отметим, что три из четырех золотых медалей в финале чемпионата 2009 г. завоевали российские команды. Еще никогда наши команды не занимали на одном чемпионате мира первое, третье и четвертое места. Кроме того, еще одна российская команда выиграла серебряные медали, заняв восьмое место. К успехам российских команд общественность начинает привыкать, но каждый год российские молодые программисты достигают все лучших результатов. Практически нет других видов человеческой деятельности, где у России были бы такие успехи! При этом необходимо учесть, что на стадии отборочных соревнований в чемпионате участвовало 7109 команд из 1838 университетов 88 стран мира, а в финале – 100 команд. Решением оргкомитета ACM ICPC ежегодная премия DeBlasi Award 2009 года за большой вклад в развитие соревнований ICPC вручена СПбГУ ИТМО: ректору, профессору В.Н. Васильеву, директору NEERC, профессору В.Г. Парфенову и председателю жюри NEERC Р.А. Елизарову (фото 2).
Заключение
Таким образом, в СПбГУ ИТМО создана и успешно развивается инновационная система поиска и подготовки высококвалифицированных специалистов в области разработки ПО, авторы которой были удостоены Премии Правительства РФ 2008 г. в области образования. В результате применения системы на базе СПбГУ ИТМО сформировался получивший международное признание центр подготовки одаренных программистов, эффективность которого регулярно подтверждается победами студентов СПбГУ ИТМО в чемпионатах мира по программированию.
Литература
1. Волков А., Ливанов Д., Фурсенко А. Высшее образование: повестка 2008–2016 // Эксперт. – 2007. – № 32. – С. 42−47.
2. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. – СПб: Питер, 2009. – 176 с.
3. Васильев В.Н., Казаков М.А., Корнеев Г.А., Парфенов В.Г., Шалыто А.А. Применение проектного подхода на основе автоматного программирования при подготовке разработчиков программного обеспечения // Труды Первого СанктПетербургского конгресса «Профессиональное образование, наука, инновации в XXI веке». – СПб: СПбГУ ИТМО, 2007. – С. 98–100.
4. Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. – СПб: Наука, 1998. – 628 с.
5. Шалыто А.А. Триединая задача одного педагогического эксперимента в области ИТобразования // Инженерное образование. – 2007. – № 4. – С. 208–213.
6. Автоматное программирование в школе [Электронный ресурс]. – Режим доступа: http://is.ifmo.ru/automata_school/, свободный.
7. Девятая Всероссийская олимпиада школьников по информатике и программированию / Под ред. В.Н. Васильева, В.Г. Парфенова и А.С. Станкевича. – СПб: СПбГУ ИТМО, 2008. – 204 с.
8. Командный чемпионат мира по программированию ACM 2007/2008. СевероВосточный европейский регион / Под ред. В.Н. Васильева и В.Г. Парфенова. – СПб: СПбГУ ИТМО, 2007. – 242 с.

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 4(62)

11

МОНИТОРИНГ ПРОФИЛЬНОГО ОБУЧЕНИЯ: АНАЛИЗ СПРОСА И ПРЕДЛОЖЕНИЯ

9. Васильев В.Н., Казаков М.А., Корнеев Г.А., Парфенов В.Г., Шалыто А.А. Инновационная система поиска и подготовки высококвалифицированных разработчиков программного обеспечения на основе проектного и соревновательных подходов // Труды Первого Санкт-Петербургского конгресса «Профессиональное образование, наука, инновации в XXI веке». – СПб: СПбГУ ИТМО, 2007. – С. 84–97.

Васильев Владимир Николаевич Парфенов Владимир Глебович Шалыто Анатолий Абрамович

– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, ректор, доктор технических наук, профессор, vasilev@mail.ifmo.ru
– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, доктор технических наук, профессор, заведующий кафедрой,
parfenov@mail.ifmo.ru – Санкт-Петербургский государственный университет ин-
формационных технологий, механики и оптики, доктор технических наук, профессор, заведующий кафедрой,
shalyto@mail.ifmo.ru

12 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2009, № 4(62)