Инновационная система подготовки специалистов в области производства программного обеспечения в СПбГУ ИТМО

1

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

УДК 681.31

ИННОВАЦИОННАЯ СИСТЕМА ПОДГОТОВКИ СПЕЦИАЛИСТОВ В ОБЛАСТИ ПРОИЗВОДСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

В СПбГУ ИТМО В.Н. Васильев, В.Г. Парфенов, А.А. Шалыто

В 2008 г. СПбГУ ИТМО возглавил мировой рейтинг университетов, составленный по результатам выступлений университетов на студенческих командных чемпионатах мира по программированию за последние пять и десять лет. Университет ИТМО входит в число ведущих вузов мира, занимающихся подготовкой специалистов по производству программного обеспечения (ПО). Эти достижения во многом связаны с разработкой и внедрением в учебный процесс инновационной системы подготовки, основанной на сочетании проектного и соревновательного подходов. В статье рассмотрены научно-методические основы построения этой системы. Ее эффективность подтверждается очередной победой команды СПбГУ ИТМО на чемпионате мира по программированию ACM ICPC в 2009 г.

Ключевые слова: производство программного обеспечения, проектный подход, соревновательный подход, подготовка специалистов, чемпионат мира по программированию ACM ICPC.

Научно-методические основы построения системы подготовки высококвалифицированных специалистов в области производства

программного обеспечения

В настоящее время перед Россией стоит задача интенсивного развития инновационного сектора экономики, связанного с высокими технологиями и, в частности, с информационными технологиями и программированием. В последние годы общепризнано, что именно здесь позиции России на мировом рынке высоких технологий являются наиболее сильными и перспективными. В России сфера производства программного обеспечения (ПО) стала лидером по темпам развития среди других направлений высоких технологий, а технологии производства ПО включены в состав важнейших критических технологий Российской Федерации.

Учитывая такие обстоятельства социального развития России, как демографический кризис, с одной стороны, и рост среднего уровня заработной платы в стране, с другой стороны, приходится констатировать, что в области решения «простых» задач Россия становится неконкурентоспособной по сравнению с Индией и Китаем. Поэтому российская «ставка» на мировом рынке производства ПО - это выполнение сложных проектов с использованием высококвалифицированных специалистов, развитие и доведение инновационных идей до коммерческого использования, а также проведение научно-исследовательских работ. Таким образом, для нашей страны особую ценность представляют наиболее талантливые специалисты, способные стать лидерами проектов и научно-исследовательских работ по разработке ПО в качестве руководителей и «генераторов идей». Это тем более важно потому, что программирование в последние годы превратилось в индустрию, а разработка ПО - в производство, которое неразрывно связано с процессом его проектирования.

Охарактеризуем условия, в которых сегодня готовятся такие специалисты.

Сложный социально-экономический кризис, пережитый нашей страной, вывел из индустрии разработки ПО, как и из многих других областей высоких технологий, целое поколение «сорокалетних», которые закончили вузы в конце восьмидесятых - начале девяностых годов. Аналогичный, но еще более острый характер, имеют кадровые про-

блемы в области научных исследований. В результате нарушилась цепочка преемственности в подготовке кадров: сегодняшние молодые люди, приходящие в индустрию разработки ПО, практически лишены возможности опереться на реальный производственный опыт старших коллег.

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

В области производства ПО огромную роль играет возрастной фактор. Программирование - это занятие для очень молодых. Опыт показывает, что изучение ряда фундаментальных курсов теоретической информатики и программирования надо начинать еще в школьные годы, и подчас даже в весьма молодом, по общепринятым стандартам, возрасте весьма трудно наверстать упущенное в школе, так как с годами резко падает способность к обучению программированию. Молодой человек даже в двадцать с небольшим лет может оказаться слишком «старым» для начала целевой программистской подготовки. С другой стороны, в силу чрезвычайно высокой скорости развития информационных технологий в области производства ПО срок, за который разработчик может стать руководителем проекта, существенно сократился по сравнению с традиционными инженерными отраслями. Можно привести много примеров, когда спустя всего два-три года после окончания вуза молодые специалисты становились руководителями технических и технологических направлений компаний на позициях не только руководителей проектов, но и технических директоров.

Как показывает практика, малоэффективной является и переподготовка для работы в области производства ПО даже недавних выпускников вузов, окончивших математические или физические специальности, которые не получили интенсивной программистской подготовки в студенческие годы. Такая переподготовка была возможна в семидесятых - начале восьмидесятых годов. Однако за последние десятилетия технологии производства ПО (software engineering) получили огромное развитие как самостоятельное инженерное и научное направление, включающее большое число специальных дисциплин и технологических компетенций, предусмотренных соответствующими международными стандартами. Знания, умения и навыки, полученные в двух-трех последних классах средней школы и на первых трех-четырех курсах вузов при изучении фундаментальных дисциплин в области теоретической информатики и технологий программирования, играют огромную (если не решающую) роль в становлении высококвалифицированных разработчиков и исследователей.

Некоторые из указанных факторов лежат вне сферы образования, однако, несмотря на это, в работу образовательных учреждений должны быть внесены изменения, которые позволят (хотя бы частично) компенсировать негативное влияние внешних условий. В связи с изложенным весьма актуальным является построение системы «школа - вуз - научные исследования - индустрия», обеспечивающей поиск, профориентацию, отбор, дополнительное обучение, предпрофессиональную и профессиональную подготовку (включая обучение в аспирантуре и докторантуре) высококвалифицированных специалистов в области производства ПО, которые смогут выполнять функции разра-

ботчиков, исследователей и руководителей широкого круга научно-технических, научно-исследовательских и инновационных проектов.

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

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

- реализовывать современные формы самостоятельной работы студентов, которые «позволят молодым людям научиться учиться» [1] и будут использоваться наряду с традиционными формами, поскольку самостоятельная работа чрезвычайно важна при подготовке специалистов в области производства ПО. Эти формы должны отвечать психологическому настрою современного молодого человека на применение в учебном процессе сетевых технологий;

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

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

При разработке указанной системы авторами в качестве базовых совместно использовались и развивались два подхода - проектный и соревновательный, обеспечивающие выполнение приведенных требований.

Преимущества проектного подхода при организации обучения хорошо известны. Как отмечается в работе [1], «... практика работы в проектном подходе позволит выявить и передать современные способы организации мыслительной работы человека, что и является современным содержанием образования». Важность использования проектного подхода при подготовке высококвалифицированных специалистов в области производства ПО определяется также и тем обстоятельством, что если разработка ПО может выполняться без его проектирования, то производство ПО без проектирования невозможно. Однако наши исследования позволили выявить специфику проектного подхода в этом случае.

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

- Применение проектного подхода особенно актуально при обучении школьников, так как в противном случае молодой разработчик впервые сталкивается с жесткими требованиями обязательного ведения проектной документации только в начале своей трудовой деятельности в «зрелом» для программиста возрасте. При этом весьма часто возникают острые конфликтные ситуации с заказчиками и коллегами, а времени для перестройки взглядов на процесс создания ПО и дополнительного обучения непосредственно в ходе трудовой деятельности практически не остается.

- Раннее обучение молодых людей выполнению проектов представляется в настоящее время тем более актуальным, что упомянутый выше синдром частичного пер-

манентного внимания находится в противоречии с характером и духом требований к качественным программным проектам.

При реализации проектного подхода к подготовке специалистов в области производства ПО возникают трудности, связанные с необходимостью воспроизведения в учебном процессе реального процесса создания ПО, включающего такие этапы, как формирование архитектуры, кодирование, тестирование и документирование, а также элементов научно-исследовательской работы. Полная и качественная реализация этих этапов ограничивается выделяемым на учебные проекты временем и трудностями привлечения к учебному процессу высококвалифицированных специалистов, имеющих опыт практической работы. Задача еще более усложняется, если принять во внимание наличие большого числа подходов к организации процесса создания ПО, парадигм программирования, инструментальных средств и т.д. Кроме того, необходимо обеспечить адаптацию реальных процессов создания ПО, имеющих место в различных компаниях, к уровню учащихся, начиная от школьников старших классов и кончая студентами старших курсов вузов.

Опыт работы кафедр компьютерных технологий и технологий программирования СПбГУ ИТМО позволил сделать вывод о том, что указанной специфике отвечает учебный процесс, основанный на проектном подходе с применением автоматного программирования [2-4]. Применение автоматного подхода позволяет студентам сконцентрироваться на проектировании программ, а не на их реализации. Отметим, что при традиционном обучении за время, отведенное на реализацию курсовой работы, студенты успевают только написать код и, изредка, фрагменты документации. В описываемом подходе основное время уходит на проектирование, что позволяет студентам получить необходимые навыки в этой области, обеспечивает высокое качество работ и позволяет применять полученные результаты и другим людям.

Проектный подход воспитывает у учащихся аккуратность, умение доводить начатое дело до конца, самостоятельно мыслить, работать в коллективе, грамотно писать и правильно оформлять проектную документацию, дает возможность реализовывать различные формы самостоятельной работы студентов [5]. В настоящее время проектный подход внедряется в школы [6].

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

Практика последних пятнадцати лет показала, что одним из наиболее результативных средств мотивации молодых людей на построение карьеры в области разработки ПО, которое доказало свою работоспособность даже в экстремальных политико-экономических условиях 1990-х г.г., является проведение олимпиад по информатике и программированию. Широкое распространение в России олимпиад по этим предметам позволяет одновременно решать задачи профориентации, поиска, отбора и подготовки школьников и студентов, а также ряд важных методических и организационных вопросов. На базе подготовки к олимпиадам в школах [7] и вузах [8] под руководством наиболее квалифицированных преподавателей формируются коллективы способных, увлеченных и трудолюбивых студентов и школьников, ориентированных на выстраивание серьезной профессиональной карьеры в области информационных технологий.

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

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

Соревновательный подход воспитывает у учащихся способность работать в условиях конкуренции и дефицита времени, дисциплинированность, умение общаться и работать в коллективе (при проведении получивших широкое распространение командных олимпиад), проявлять инициативу и брать ответственность на себя, быстро ориентироваться в новой предметной области и быстро решать возникающие в ней задачи. Отметим, что именно эти качества, которые не могут быть развиты за счет других видов занятий, часто становятся определяющими при приеме на работу в таких компании, как 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 минута. Как и все последние годы, тренером команды являлся доцент кафедры компьютерных технологий А.С. Станкевич, а руководителем команды - декан факультета информационных технологий и программирования В.Г. Парфенов.

Фото 1. Команда СПбГУ ИТМО, крайние слева и справа - организаторы соревнований. Слева направо: Андрей Станкевич, Максим Буздалов, Евгений Капун, Владислав

Исенбаев

Фото 2. Лауреаты премии DeBlasi Award и организаторы ACM ICPC (крайние слева и справа). В середине: В.Г. Парфенов, Р.А. Елизаров и В.Н. Васильев

Команда СПбГУ ИТМО стала чемпионом мира в третий раз (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 с.

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

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

Васильев Владимир Николаевич

Парфенов Владимир Глебович

Шалыто Анатолий Абрамович

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

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

УДК 37.014.5

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

Т.А. Гетманская, Д.М. Гриншпун, В.В. Королев, С.К. Стафеев

В статье определена цель мониторинга и гипотеза исследования, обоснована его актуальность, описана его организация, методы сбора, математической обработки и представления данных, приведены результаты, на основании которых сделаны выводы.

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

Введение

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

Предпрофильная подготовка

Профильное обучение

Профессиональное образование

Рис. 1. Образовательные этапы

Актуальность исследования определена тенденцией раннего профессионального самоопределения подростков, что имеет как положительные, так и отрицательные стороны, сбалансировать которые можно обеспечением преемственности образовательных