УДК 519.683; 378.2
Институт систем информатики им. А. П. Ершова СО РАН пр. Академика Лаврентьева, 6, Новосибирск, 630090, Россия E-mail: 1 [email protected]; 2 [email protected]
СИСТЕМА ПОДГОТОВКИ КАДРОВ ДЛЯ СИБИРСКОЙ НАУКИ
В статье рассматривается подход к привлечению талантливой молодёжи в сферу влияния науки и развития отечественной информационной индустрии. Важным моментом в данной деятельности представлен механизм выездной работы со школьниками. Такого рода мероприятия помогают вести обкатку методик раннего обучения информатике.
Ключевые слова: информационные технологии, программирование, методика, образование.
Научное сообщество - образованию
Со времен академика М. А. Лаврентьева и члена-корреспондента Академии наук А. А. Ляпунова уделялось большое внимание школьникам Сибири. Их рассматривали в качестве главного потенциала для создания кадров сибирской науки. Создание в Сибири физикоматематической школы, подготовка и проведение Всесибирской математической олимпиады, разработка и ведение оригинальных курсов для общеобразовательных школ различных направлений способствовали решению задачи поиска талантливой молодежи. Видный советский математик и педагог А. А. Ляпунов проводил многообразную педагогическую работу, участвовал в составлении школьных курсов программирования и кибернетики.
По мере объединения усилий педагогов, математиков, программистов в области создания школьного курса, в котором рассматривались средства программирования и происходило знакомство с электронно-вычислительной машиной, началась деятельность двух инициативных групп. Одной из них была группа по применению вычислительной техники Научного совета по проблемам образования при Президиуме Сибирского отделения АН СССР. Второй была группа школьной информатики Вычислительного центра Сибирского отделения АН СССР. В составе отдела экспериментальной информатики СО АН СССР было создано первое научно-исследовательское подразделение для формирования концепций и разработки программного обеспечения школьной информатики - группа школьной информатики. Научно-методический семинар «ЭВМ и учебный процесс» начал в стенах ВЦ СО АН СССР свою работу по объединению потенциала науки и образования.
Школьная информатика
Когда заходит речь о школьной информатике, всегда вспоминается имя Андрея Петровича Ершова, личной энергией и обаянием направившего первые шаги движения за компьютерную грамотность.
В дневниках А. П. Ершова 1 можно найти подтверждение его неподдельного интереса к школьникам, относящееся к ноябрю 1961 г.: «Сразу после праздников подошла ко мне пятерка симпатичных школьников. Дал им программу получения плоских графов и раскраски их путем выделения тетраэдров». К январю 1964 г. относятся следующие записи: «Вчера приехал опять учитель Дорфман из Инской школы. Хотят с понедельника 27-го вести программирование в 10 классе их школы. Вместе с ним был зав. производственным обучением Сергей Генрихович Кубат... Приезжал Кубат и Саша Нариньяни (нет, Александр Семенович) стал учителем...»
1 Дневник заведующего отделом // Архив А. П. Ершова. П. 35. Л. 124.
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2008. Том 6, выпуск 3 © А. Г. Марчук, Т. И. Тихонова, 2008
Первые занятия факультативного курса программирования с практическими работами школьников на ЭВМ относятся к началу 60-х гг. уже прошлого столетия. Их проводили сотрудники Института математики, которые впоследствии стали сотрудниками Вычислительного центра СО АН СССР. Проводились эти занятия на базе школы № 10 г. Новосибирска.
В школе № 130 новосибирского Академгородка было введено программирование как профориентационная специализация в 9-10 классах. Надо отметить, что эта форма обучения значительное время, вплоть до 90-х гг., продержалась в школах и получила достаточно широкое распространение по стране. В рамках этих занятий прошли апробацию несколько учебных курсов. В школе № 130 прошли проверку курсы, базирующиеся на различных языках программирования: Алгол, Бейсик, Фортран. В школе было установлено пять терминалов, которые обеспечивали связь в диалоговом режиме с машинами ВЦ СО АН СССР, кроме того, было устройство подготовки перфокарт для программ пакетного режима. В этом терминальном классе проводилась исследовательская и экспериментальная работа по применению вычислительной техники в школьном образовании. Это было не только обучение программированию на языке, но и, в частности, выполнение контрольных работ по английскому языку с использованием автоматической системы распознавания текстовых ответов (то, что сейчас относится к межпредметным связям).
Школы юных программистов
А. П. Ершов решительно поддержал тех, кто стоял у истоков школ юных программистов в Новосибирске. Невозможно рассматривать Школу юных программистов без первых единомышленников Андрея Петровича. Нина Александровна Садовская, аспирантка ВЦ, и Самуил Исакович Литерат, завуч 130 школы, организовали и провели первую Летнюю школу юных программистов. К ним энергично присоединился Юрий Абрамович Первин.
Примерно через год (в 1977 г.) Андрей Петрович пригласил из Харькова в Новосибирск Геннадия Анатольевича Звенигородского, который занялся организацией школы юных программистов (ШЮП). Он создал первую учебную среду программирования - «Школьница», выбрал ключевые идеи языков Робик и Рапира, прошагавшие благодаря широкому охвату талантливой молодежи бывшего Советского Союза Новосибирской школой по всем городам и весям. А. П. Ершов считал районную ШЮП главной формой работы с ребятами из Академгородка [Ершов и др., 1981]. В результате трехлетней работы к 1981 г. в ней насчитывалось около 200 школьников. Набор новичков производился с сентября. Это были школьники со второго по седьмой классы.
Очень серьезно рассматривался план работы, ориентированный на младших участников. В нем не только учитывали требования к языкам программирования, но также разрабатывали специализированное математическое обеспечение. В учебном плане стояли два теоретических занятия в неделю. Кроме этого, в течение четверти школьники благодаря возможности, которую предоставлял Вычислительный центр СО АН СССР в утренние часы суббот и воскресений, выполняли две-три практические работы. К преподавательской деятельности в районной ШЮП были привлечены квалифицированные программисты из числа аспирантов ВЦ и НГУ, инженеры ВЦ, студенты-старшекурсники университета, выбравшие школьную информатику в качестве специализации.
Надо отметить, что на второй год обучения многие юные программисты переходили к решению задач в рамках производственных заказов институтов и предприятий. Например, была создана система анализа первичных структур белковых соединений, информационная система по книгообмену, программа подготовки перфолент для программно-управляемых вышивальных аппаратов. Помимо прикладных задач, школьники участвовали в реализации сложного математического обеспечения учебного процесса. Заметными работами было создание модулей транслятора Робика и Рапиры, системы машинной графики «Шпага» и др.
Вскоре (в 1978 г.) в Академгородок переехала Нина Ароновна Юнерман (Гейн), живущая ныне в Екатеринбурге и заведующая кафедрой информатики в СУНЦ Екатеринбургского университета. Ею в дополнение к очной ШЮП с сентября 1979 г. была развернута заочная школа на страницах журнала «Квант», лучшие ученики которой приглашались летом в Новосибирск.
Система школ юных программистов, «Школьница», первый школьный учебник информатики, первый в нашей стране школьный кабинет, составленный из отечественных «Агатов» в школе № 166 Академгородка, - все это звенья одной цепи: зарождавшейся и бурно развивающейся школьной информатики. В этой цепи важным звеном была проводящаяся каждое лето в новосибирском Академгородке начиная с 1976 г. Летняя школа юных программистов.
Летняя школа юных программистов
Новосибирской Летней школе (ЛШ) есть чем гордиться. Раннее обучение информатике, ярко проявившееся в период интенсивного проведения ЛШ, отражает многочисленные достоинства этого подхода [Отчет..., 1987]. Существенную роль в отборе школьников на ЛШ сыграл журнал «Квант». Благодаря олимпиаде, проводимой по окончании заочной ШЮП, выявлялись талантливые школьники, которые приглашались на две недели в круг единомышленников.
В течение пяти первых лет устоялась система занятий, которые проводились в ЛШ. Учащиеся распределялись по трем категориям: новички; школьники, знакомые с основами программирования; имеющие опыт работы юные программисты. На деле оказалось, что двухнедельный срок проведения ЛШ достаточен для начинающих программистов, чтобы усвоить основные понятия программирования и приобрести навыки работы на компьютере.
В рамках ЛШ проводились две конференции. Первая - в начале школы, доклады на ней были в основном о работах, которые выполнялись школьниками дома. Вторая (заключительная) конференция заслушивала доклады о программах, написанных за две недели пребывания в ЛШ. Некоторые работы, по решению председателей секций, рекомендовались к практическому использованию или к публикации. Помимо этого, выполнялась не менее важная задача - увлечь ребят идеями информатики.
Среди любимых детьми преподавателей ЛШ и одновременно известных в мире величин можно назвать А. А. Берса, А. Н. Терехова, Н. Н. Бровина, Л. Е. Штернберга, О. Ф. Титова, Ю. И. Брука и многих других, с энтузиазмом разрабатывавших первые уроки программирования для советских школьников. Нельзя не сказать об умении естественно и ненавязчиво применить на практике человеческий фактор работы в команде, взаимодействующей с внешним миром (позже - мастерские), об акцентировании внимания на работе в команде по внешнему заказу; о возможности выхода в большой мир благодаря многочисленным участникам, приезжавшим в ЛШ из городов всей страны и зарубежья (ЛШ с международным участием: ЧССР, Болгария, Польша, Германия, Голландия, Франция, Венгрия). В ЛШ бывали люди, об общении с которыми можно было лишь мечтать (приезд Мак-Карти, например).
Летняя школа вырастила и дала путевку в жизнь многим специалистам-программистам, которые успешно работают в ведущих научных институтах СО РАН, в компьютерных фирмах «Microsoft», «Intel», «Exselsior» и др.
Летняя школа юных программистов им. А. П. Ершова - день сегодняшний
С 2001 г. научный руководитель ЛШЮП - директор ИСИ СО РАН, доктор физикоматематических наук Александр Гурьевич Марчук считает, что более тридцати лет существования ЛШЮП показали, что механизм этот очень эффективный. Мы работаем со школьниками и показываем им их будущую профессию, а также думаем о пополнении рядов наших ученых — профессионалов-программистов, нацеливаем ребят на поступление в НГУ, а потом кто-то остается в институте, кто-то идет работать в фирмы.
В категории школ программирования эта школа - первая по времени создания. И сегодня она одна из самых заслуженных. В советское время ЛШЮП разрасталась до масштабов всесоюзной и даже международной, собирала до 250 школьников. Потом ее формат немного изменился, но в целом она выжила. А главная особенность этой школы в том, что у руля стоят ученые.
Председатель жюри ЛШЮП, ведущий научный сотрудник Института систем информатики СО РАН, профессор университета, доктор технических наук, академик Международной академии информатизации Андрей Александрович Берс говорит, что когда деревья были ма-
ленькими, а мы на отчество короче, Андрей Петрович Ершов организовал ЛШЮП. За 32 года ее существования Андрей Александрович не пропустил ни одной школы. В машинной системе исчисления это даже круглая дата. Он участвовал в ЛШЮП не только как председатель жюри, но и как лектор, занятия которого оформились в уникальный жанр, условное название которому «Берседа».
Законы образования информации управляют образованием людей в обществе и, в частности, составляют структурную сетку, по которой человек образуется. Ведь человека самого по себе в природе не бывает, он бывает только в обществе.
Завуч и координатор Летней школы юных программистов, научный сотрудник Института систем информатики Татьяна Ивановна Тихонова видит важную составляющую в методике преподавания. Методические особенности нашей школы - в некотором ключе основа модернизации современного образования. Дело в том, что в большинстве школ сейчас делается упор на пользовательские курсы. Соответственно теряется когорта детей, способных на большее в области программирования. Мы стараемся сохранить традиции воспитания и образования детей, которые поддержали бы сибирскую школу программирования, всегда славившуюся своим умением писать системы, трансляторы, т. е. те программы, которые может использовать весь мир. ЛШЮП дает толчок к развитию. Дети возвращаются в свои школы, рассказывают, что они могут делать, а преподаватели уже ищут дополнительные ресурсы, чтобы поддержать заданный уровень и тематику.
С 2001 г. ЛШ проводится во второй половине июля в течение двух недель. Это время удобно для привлечения в качестве преподавательского состава студентов и преподавателей НГУ, научных сотрудников институтов СО РАН. ЛШ является выездным мероприятием. Как правило, это близлежащие к Академгородку туристические и детские оздоровительные центры. Примерно раз в два-три года ЛШ выезжает на Алтай [Отчет..., 2004].
Основными задачами ЛШ являются отбор талантливых старшеклассников, заинтересованных в профессиональном овладении программированием, обучение учеников среднего звена навыкам коллективной работы с применением современных информационных технологий и содействие развитию способностей к практическому программированию учащихся младших классов, а также поддержка педагогов, успешно преподающих информатику и программирование в общеобразовательной системе.
Часть детей приглашается по результатам работы в прошедших Летних школах. Остальные проходят отбор на командной олимпиаде, мероприятиях программы «Молодые информатики Сибири», Новосибирской областной олимпиады школьников, Областной научнопрактической конференции школьников в секциях «Информатика» и «Программирование» и других мероприятиях, рекомендованных членами оргкомитета и преподавателями ЛШ. Каждый из участников проходит предварительное собеседование и заполняет специальную анкету, разработанную для участников Летней школы в ИСИ СО РАН завучем.
Мероприятия программы «Молодые информатики Сибири» ежегодно проводятся в период с октября по март, областная олимпиада школьников - с ноября по январь в три этапа (районная, городская, областная). Областная научно-практическая конференция школьников проводится в апреле, после отбора работ на районных научно-практических конференциях. При отборе участников ВКИ и СУНЦ НГУ учитываются результаты их учебы на специальных факультативных занятиях по программированию, проводимых членами оргкомитета. Отбор областных участников проводится по результатам участия школьников в олимпиадах, в конференциях, а также по результатам работы в Зимней школе по предметам, которые организует УО Администрации Новосибирской области. Младшие школьники отбираются на командной олимпиаде, проводимой на языке ЛОГО. В основном это ребята, которые учатся в школах, традиционно преподающих информатику с начальных классов (гимназии № 1, 3, ЛИТ и некоторые другие).
Информация о вышеупомянутых мероприятиях распространяется через систему повышения квалификации школьных педагогов и семинары по проведению олимпиад по информатике для школьников совместно с районными методистами, размещается в газетах «Навигатор» и «Эпиграф», развешиваются информационные листки и плакаты в школах, раздаются буклеты на мероприятиях с участием иногородних преподавателей и школьников. Постоянно
в течение года информация выкладывается на сайте Летней школы им. А. П. Ершова (ИСИ СО РАН).
Иногородние участники приезжают из Абакана, Ангарска Иркутской области, Бердска, Искитима, Пашино, Кемерово, Новокузнецка, Омска, Павлодара (Казахстан), из городов Горного Алтая, Алтайского края и др. Стали принимать участие и школьники из центральной части России (Санкт-Петербург), даже из-за рубежа (Норвегия). Эти делегации приглашались по связям, сложившимся на прошлых Школах, Международных студенческих конференциях и других мероприятиях, проводимых НГУ.
В распоряжении Школы бывает порядка 25-30 компьютеров, предоставленных ИСИ СО РАН и участниками. К сожалению, компьютеры «разнообразны», их приходится собирать и готовить к ЛШ с большими трудозатратами. Тем не менее тенденции к совершенствованию технической стороны есть. С прошлого, 2007 г., ЛТТТЮП имела возможность работать на 10 ноутбуках, полученных по гранту от компании НР, и 9 ноутбуках, выданных в распоряжение Летней школы факультетом информационных технологий НГУ. С 2008 г. организаторы планируют полностью перейти на компактную технику, что существенно облегчит не только ведение учебного процесса, но и техническую часть работы (доставку, погрузку, разгрузку, установку техники).
Для обеспечения освещения работы Летней школы используются цифровые фотокамеры и видеокамера, принадлежащие участникам. В 2007 г. компания НР предоставила Летней школе цифровой фотоаппарат и проектор. Компания D-Linc смонтировала беспроводную сеть.
Наиболее существенным прорывом в техническом обеспечении Школы была надежная телефонная (мобильная и GPRS) связь. Конечно, это вызвало увеличение финансовых затрат родителей участников, имеющих сотовые телефоны, зато всегда можно было своевременно получить подтверждения благополучного пребывания участников на базе.
При подготовке следующих Школ надо учесть положительный опыт использования спутниковой телефонной связи на все время проведения. Кроме связи с родственниками участников, будет перспектива развития Школы в направлении дистанционного взаимодействия через Интернет со специалистами, не имеющими возможности выехать на базу Школы.
Мастерские как основа учебного процесса
На протяжении многих лет (с 1989 г.) Новосибирские ЛТТТЮП проводятся как школы второй ступени с углубленным изучением отдельных предметов по выбору: в отличие от ряда летних школ в других городах, они имеют целью не начальное обучение основам компьютерной грамотности или программирования, а развитие профессиональной ориентации школьников старшего возраста. Спецификой организаторы ЛШ считают отбор участников -преимущественно учащихся среднего звена. Это обусловлено необходимостью приобщения детей к коллективной работе, пропедевтическая работа по изучению основ профессиональной деятельности, а также возможность пролонгированной работы со школьниками.
Эта деятельность осуществляется через знакомство с программированием как с производственной деятельностью, с его проблематикой, методологией, творческими и технологическими аспектами. Новыми понятиями и объектами для изучения становятся программный продукт, технологический процесс разработки, грамотная постановка задачи и ее формализация, рациональное распределение и планирование работ, отладка, оформление, документирование, отчет. Для отработки этих понятий учебный процесс в Летней школе рассредоточивается по нескольким (10-15) учебно-производственным мастерским различных профилей -локальным носителям технологических циклов разработки, в которых школьники получают знания и навыки в процессе коллективной работы над единым проектом.
В 2007 г. в ЛТТТЮП жюри разделило мастерские на два профиля: учебные - студии, и экспериментально-производственные - собственно мастерские, отметив при этом, что в ряде случаев наблюдается смешение профилей; затем для каждого профиля были выработаны основные критерии оценки, а именно: для студий в первую очередь оценивался рост уровня и качества знаний учащихся; для мастерских первоочередное значение имела сформулирован-ность цели эксперимента и обоснованность полученного результата; кроме того оценивались
потребительские качества программного продукта: удобство пользовательского интерфейса, отлаженность, документированность, презентабельность. Другими общими параметрами оценки были: качество отчетов, понимание учащимися задач и состояния дел в своей мастерской, своей роли в ней. Мастерские сначала были проранжированы внутри профилей по успешности достижения поставленных практических, научных и педагогических целей; затем были обсуждены и утверждены индивидуальные оценки учащихся в каждой мастерской с учетом оценки мастера и общей оценки мастерской.
Трехмерная графика. Цель мастерской научиться работать с трехмерной графикой, освоить графическую библиотеку OpenGL, изучить представление моделей в компьютерной графике. За две недели Летней школы сложно выполнить какой-либо большой проект по трехмерной графике. Тем не менее была создана модель виртуального музея Летней школы.
Виртуальный собеседник. Изучение объектно-ориентированного программирования и работы с базами данных в C++Builder, работы в СУБД MS Acess, изучение языка Си++ необходимы были для того, чтобы написать программу, поддерживающую письменный разговор с пользователем. Программа не только отвечала на вопросы, но и выдавала картинку, иллюстрирующую эмоциональное состояние собеседника.
Математическая шкатулка, или Flash. Знакомство с технологиями объектно-ориентированного программирования на начальном уровне, изучение основных алгоритмических конструкций и программирование их на языке Actions Script, знакомство с основными объектами Flash, их свойствами и методами позволили детям освоить создание логических игр на основе полученных знаний. Было создано несколько приложений, в том числе трехмерные «Крестики-нолики». В мастерской работали дети 5-6 классов.
Архиватор Хаффмана. В ходе Летней школы перед мастерской были поставлены 4 цели: изучение основ работы в операционной системе Linux, языка программирования C, базовых алгоритмов, а также реализация двух различных проектов - архиватора Хаффмана и электронного словаря. Все они были успешно достигнуты, более того, был реализован графический интерфейс для архиватора с помощью библиотеки QT4 и аналог утилиты tar, объединяющей несколько файлов в один.
Java. В мастерской изучали язык программирования Java и знакомились с концепцией ООП. В качестве проекта была написана игра Tower Defence. Школьники 6-7 классов успешно выполнили поставленные задачи в мастерской: научиться работать в среде NetBeans, ознакомиться с работой коллекций в языке Java, с написанием многопоточных приложений, научиться работать с файлами в Java (доступными по абсолютному пути и через CLASSPATH). Получили представление о пакете визуальных компонентов Swing и о пакете Java2D для работы с 2D графикой средствами API языка Java. Кроме того, разработали и написали алгоритм волны для поиска кратчайшего пути на карте, простейший парсинг строк средствами API языка Java и создали красивый графический интерфейс.
Программирование искусственного интеллекта робота-исполнителя
на встраиваемом языке LUA
В мастерской изучили новый язык программирования - LUA, создали на C++ среду для робота-исполнителя, которая включала в себя визуализацию в текстовом режиме, визуализацию в графическом режиме (с использованием библиотеки SDL). Тест-режим без визуализации для быстрой качественной оценки алгоритма робота в миллисекундах и количестве шагов с возможностью запуска нескольких тестовых алгоритмов в нескольких тестовых лабиринтах. Также интерфейс на C++ содержит набор команд для робота, которые становятся доступны из LUA. Были созданы алгоритмы для исполнителя (созданной среды) на LUA.
Математическое моделирование на Pascal e. В этой мастерской шло освоение навыков алгоритмического мышления, выработка устойчивых навыков работы в интегрированной среде Turbo Pascal, освоение некоторых математических понятий. Рассматривалось решение алгебраических уравнений 1-го и 2-го порядков, элементы математического моделирования.
В помощь археологу. В данной мастерской школьники освоили системы программирования PABC и Delphi. Был создан проект, обрабатывающий фотографии сосудов, найденных
археологическими экспедициями, выдающий размерные характеристики и объем сосуда и сохраняющий эту информацию в базе данных.
Лого + Пресс-центр. Мастерская для самых младших участников Летней школы. В ней происходит адаптация самых юных участников к укладу жизни в ЛШ, расширение кругозора учащихся в области программирования и информатики, путем погружения в программистскую среду и посредством практического знакомства с основами разнообразных компьютерных информационных технологий (Web, компьютерная верстка, обработка цифровых фотографий, работа с периферийными устройствами). В рамках мастерской написан проект «Шифровальщик» в среде программирования MSWLogo, регулярно выпускалась газета ЛШ, произошло знакомство с основами HTML и выпуск HTML-версии газеты.
Математический пакет Syple. Целью мастерской было изучение среды разработки CBuilder, разбор математических выражений, основы символьных преобразований, интервальная математика, элементы алгебры и математического анализа. В качестве практической задачи выполнялась реализация в математическом пакете работы с графиками, дифференцирование, работа с матрицами, оптимизирование математических выражений. Реализован Н-решатель на основе интервальной математики вещественных чисел.
Мобильные технологии. В мастерской изучали язык Java для мобильного телефона, научились работать в среде NetBeans, познакомились с основами ООП и сетевого и многопоточного программирования, создали программу для мобильного телефона, пригодную для использования в повседневной жизни (аркадная игра «Змейка»). Также силами участников было осуществлено создание программы-чата, работающего по сети Bluetooth.
Учимся программировать на Паскале. Для овладения алгоритмическими навыками и основными навыками процедурного программирования была создана компьютерная игра на основе управляемого и неуправляемого движения.
Сетевое программирование. Целью мастерской ставилось написание сетевого клиентсерверного чата с поддержкой множества комнат, реализованного для нескольких операционных систем (32-битные Linux & Windows), с гибкой возможностью отправки сообщений, а именно: приватные сообщения, глобальные сообщения и сообщения в текущую комнату. В процессе работы мастерская отказалась от концепции «клиент-сервер», заменив ее на более удобную модель, которая позволяла не иметь в сети выделенного сервера для чата. Кроме того, реализацию на Linux портировали на 64-битную платформу.
Осуществлено написание пары приложений для отправки файлов с клиента на сервер. Сверх плана ученики добавили в программу потоки и добились одновременного принятия файлов от нескольких клиентов. Также рассмотрен перехват пакетов с помощью программы tcpdump с дальнейшим изучением структуры ICMP и IP пакетов. Сверх плана ученики сделали небольшой сайт, посвященный мастерской, с описанием проектов и состава мастерской. Использовались технологии HTML, CSS и Java script.
Создана многопоточная программа сканирования TCP портов, перенесенная на операционную систему Linux. Добавлена поддержка вывода информации в текстовый файл и в формате html для лучшего восприятия полученной информации. Данная программа выросла в отдельный самостоятельный проект.
Подбор паролей. Цель мастерской - реализовать программную систему, выполняющую подбор пароля пользователя операционной системы Linux, имея зашифрованный стандартной функцией crypt(3) пароль. Подбор пароля выполнять распределенно на нескольких рабочих станциях, объединенных в локальную сеть. При подборе использовать как полный перебор (brute-force), так и методы поиска по словарю. Основной проект мастерской реализован полностью, т. е. созданы серверное и клиентское приложения. Сервер руководит процессом подбора пароля и раздает задачи клиентам, которые выполняют собственно перебор. Перед началом работы над проектом проведен интенсивный курс языка программирования C. Рассказаны основы C (без рекурсии и динамической памяти). В процессе было решено большое количество небольших задач, в основном алгоритмических. Кроме основной задачи был реализован сетевой многопользовательский чат, причем сразу в двух версиях: в ОС Linux (gcc) и ОС Windows (Borland C++ Builder). Этот чат можно считать побочным проектом мастерской. После завершения основного проекта силами участников создан сайт мастерской.
WebDB. Целью мастерской было изучение технологий XML/XSLT, клиент-серверной архитектуры, основ построения баз данных, основ проектирования Web-ориентированных информационных систем. Прикладной (творческой) задачей мастерской было создание начального варианта фотоархива ЛШЮП.
Надо отметить, что большинство мастерских не только успешно справились с реализацией намеченной работы, но и усложнили поставленные перед участниками задачи. Каждая мастерская накануне конференции показала выполненные проекты. Жюри (А. А. Берс, А. Г. Марчук, Т. И. Тихонова) посмотрело все проекты на месте работы каждой мастерской, выслушало комментарии, поинтересовалось особенностями работы. Вне зависимости от возраста учащихся программистская часть проектов выполнена на достойном уровне. Многие проекты представляют собой законченную реализацию программного продукта, готового к дальнейшему внедрению.
Таким образом, основной формой работы в ЛШ является реализация поставленной задачи в рамках мастерской [Марчук, Тихонова, 2005], где выполняется учебно-производственный процесс, дополненный общеобразовательным циклом. В общеобразовательный цикл входят лекции и спецкурсы по языкам и системам программирования, обзорные лекции по перспективам и проблемам программирования, истории информатики и дисциплинам, которые позволяют расширить кругозор учащихся во многих областях науки, а также ежедневный конкурс «Задача дня» - решение алгоритмических задач. Бывает четырехчасовая командная олимпиада по программированию (по желанию). Ценным украшением учебы является цикл научно-познавательных лекций, читаемых видными учеными.
Учебное время экономится за счет совмещения по времени занятий по языкам программирования, спецкурсов и учебной работы по мастерским. Бывает также несколько традиционных «ликбезов» - курсов по особенностям работы с компьютерами. Спектр мастерских предельно разнообразен, на любой вкус и начальные знания. Тематики мастерских ЛШ подбирается так, чтобы обеспечивать многопрофильность и разноуровневость учебного процесса с целью более адекватной его настройки на индивидуальные наклонности, интересы и способности учащихся.
Главной целью мастерской ставится полное прохождение всего технологического цикла в рамках поставленной задачи с обязательным отчетом о проделанной работе в конце Школы. Необходимая для этого интенсивность работ заставляет уделять большее внимание стадиям проектирования - как со стороны постановщика задачи, так и со стороны руководителя проекта и организаторов Школы. Для многих мастеров, работавших в Школе, оказывалась привлекательной именно возможность апробирования новых методик организации работ и обучения в условиях присущего Школам дефицита времени и техники.
Целями вырабатываемой профессиональной ориентации учащихся ЛШ являются:
• расширение знаний учащихся о сферах и способах применения компьютерных технологий, типовых задачах и методах их решения;
• определение и уточнение учащимся области приложения своих способностей;
• приобретение специальных знаний и навыков, проба сил в коллективном проекте.
Жизнь мастерских
Предварительное распределение по мастерским организовано на основе анкетных данных и проводимых собеседований с учащимися. Учитывается желание школьников работать по той или иной тематической линии, о которых можно узнать на сайте Летней школы и по электронной почте.
В небольших группах под руководством опытных программистов-практиков дети работают над оригинальными проектами, параллельно осваивая новые компьютерные инструменты, технологии и приобретая бесценный опыт работы в команде. Задача мастера - не только научить, но и создать обстановку, чтобы каждый участник проекта развивался сообразно своим интересам, возможностям и стартовому уровню. Этот уровень может быть различен, но неизменным требованием для участников ЛШЮП является знание языков программирования и наличие навыков программирования.
Координацию учебной работы и мастерских ведет завуч с помощью главного мастера. В целом работа мастерских, по отдельности и в совокупности, расценивается как вполне успешная.
Для оценки работы мастерских и подведения итогов Летней школы работает жюри, которое в первую очередь оценивает соответствие выполненных работа критериям профиля мас-стерских. Члены жюри смотрят результат работы мастерских на рабочих местах, чтобы реально представлять ход работы, беседуют с учащимися и мастерами о ходе работ. Промежуточные результаты работы в мастерских, проверяемые завучем и жюри до итоговой конференции, позволяют примерно оценить ожидаемые результаты, дать предварительные оценки работы всем учащимся, выявить слабые места в работе мастеров и вовремя их подкорректировать. Обычно все мастерские успевают подготовить демонстрационные версии, некоторые - довольно качественную документацию.
Итоговая конференция Летней школы проходит в лучших научных традициях. Докладчики со знанием дела представляют выполненные в мастерских проекты, участники конференции задают вопросы, содержание которых говорит о неподдельном интересе к представленным разработкам и о квалификации слушателей.
Общеизвестно, что любителей выступать среди программистов мало, большинство предпочитают безмолвно демонстрировать на компьютере результаты, качество которых зрителям трудно оценить. Но успех в любой профессии существенно зависит от искусства представления результатов. Поэтому участие в итоговой конференции обязательно для всех мастерских. На конференции рассматриваются полученные результаты и выбранные технические решения. Школьники обмениваются рекомендациями по их улучшению. Важную роль играет личность председателя конференции, задающего уважительный стиль общения и обсуждения.
Эффективность Летней школы юных программистов
Для СО РАН проведение Школы является важным механизмом привлечения талантливой молодежи в сферу науки и отечественной информационной индустрии.
Родителям Школа дает удачную форму сочетания летнего отдыха школьников с получением интересных знаний и востребованных навыков.
Иногородние участники имеют возможность общения по интересам и повышения квалификации.
Для НГУ, и в частности для кафедр «Программирование» и «Вычислительные системы», а также ФИТ, ВКИ и СУНЦ НГУ проведение Школы имеет огромное значение, а именно:
• дает удачную форму сочетания летнего отдыха школьников с получением интересных знаний и востребованных навыков;
• позволяет студентам и аспирантам приобрести навыки работы в качестве руководителей проектов и постановщиков задач;
• обеспечивает профессиональный рост студентов и аспирантов;
• привлекает абитуриентов, интересующихся программированием, способных в будущем участвовать в конкурсах и проектах НГУ и других вузов Новосибирска;
• позволяет отрабатывать методики раннего обучения информатике;
• является эффективным механизмом привлечения талантливой молодежи в сферу науки и отечественной информационной индустрии.
Для Администрации Новосибирской области представляет интерес, что разрабатывается механизм выездной работы со школьниками, изучающими информатику. Этот механизм может быть распространен на сельские районы, способствует повышению уровня подготовки учащихся сельских школ в вузы.
Для ИСИ СО РАН существенно, что сотрудники, аспиранты и студенты ИСИ принимают участие в работе Летней школы, развивается эксперимент по обучению в форме мастерских, идея которых сформулирована и внедрена сотрудниками ИСИ. Выявлена заинтересованность молодежи в новых формах экспериментальной работы в области систем информатики, а именно: ведется эксперимент по организации Школы программирования (воскресной и вечерней, дистанционной) для наиболее подготовленных мастерских в течение учебного
года, продолжает развиваться плановая тема «Исследование основ информатики и методов преподавания информатики и программирования», привлечено внимание к методическим наработкам.
Для информационной индустрии Новосибирска механизм ЛШ дает полигон для ранней профориентации школьников, а также для сочетания смены деятельности специалистов с вольным экспериментированием и поиском будущих помощников.
Педагогическая идея Летней Школы доказала свою состоятельность почти тридцатилетней историей. ИСИ СО РАН бережно хранит традиции школы А. П. Ершова и развивает опыт успешного предпрофессионального обучения молодых талантов в области программирования.
Список литературы
Ершов А. П., Звенигородский Г. А., Литерат С. И., Первин Ю. А. Работа со школьниками в области информатики. Опыт Сибирского отделения АН СССР // Математика в школе. 1981. № 1. С. 47-50.
Марчук А. Г., Тихонова Т. И. Мастерская как форма обучения программированию // Сб. материалов XV Междунар. конф. «Информационные технологии в образовании». М., 2005. С. 48-49.
Отчет о работе Летней школы юных программистов, проведенной с 14 по 28 августа 1987 года на базе туристского центра «Сибиряк» [Электронный ресурс]. Режим доступа: http://ershov.iis.nsk.su/archive/eaindex.asp?did=3936
Отчет о работе Летней школы юных программистов 2004 г. [Электронный ресурс]. Режим доступа: http://school.iis.nsk.su/
Материал поступил в редколлегию 26.08.2008
A. G. Marchuk, T. I Tikhonova
System of a Professional Training for the Siberian Science
In clause the approach to attraction of talented youth in sphere of influence of a science and development of the domestic information industry is considered. The important point in the given activity presents the mechanism of exit work with schoolboys. Such actions help to conduct techniques of early training to computer science.
Keywords: information technologies, programming, technique, education.