Грамотная организация производственной практики, которая бы позволила студенту получить необходимые в жизни навыки, - отдельный вопрос. Участие в свободных проектах здесь выглядит удачной идеей: благодаря децентрализации прозрачность и документированность процесса разработки в этом случае является "условием выживания" для проектов, что существенно упрощает подключение студентов к работе, если сравнивать с компаниями, разрабатывающими софт в закрытых моделях. (Где, по словам одного из докладчиков, процесс "вхождения в тему" может занимать до полугода.) К тому же открытость разработки позволяет легко контролировать работу студента. Но и тут не следует обольщаться: участники сообщества решают свои задачи, они обычно готовы помочь новичку (например, предоставив ссылки на соответствующую документацию), однако "за ручку" никто практиканта вести не будет, и на первый план выходит личная мотивация и интерес. Также отмечалось, что в ходе практики приобретаются навыки не столько программирования, сколько командной работы, - что, впрочем, тоже очень важно в современном мире.
Пока на Западе свободно - шаг на Запад
Программное обеспечение, используемое в образовательном процессе, можно условно разделить на две категории: специализированное ПО, ориентированное на обучение, и "обычный" софт. К первому классу, безусловно, относится система программирования "КуМир" ("Комплект учебных миров"). Разработанная еще в 80-х годах, она широко применялась для преподавания основ программирования в школах и вузах (в частности, на мехмате МГУ). Некоторые читатели, наверное, помнят, как в школьные или студенческие годы с помощью необычного "русского" языка программирования писали программы, например, проводившие виртуального робота по лабиринту. (Фраза, вынесенная в заголовок этой секции - вовсе не политический призыв, а отрывок из такой программы, процитированный на конференции одним из главных создателей "КуМира" А. Г. Кушниренко). Однако исходная DOS-реализация системы безнадежно устарела, и было решено переписать ее с нуля, сделать кроссплатформной и выпустить как свободное ПО под GPL. В настоящий момент доступны версии под Windows и Linux.
Следует отметить, что проблемы выбора языка программирования для обучения основам алгоритмики - это вечный вопрос, и два преподавателя по этому поводу могут иметь три мнения. Но, пожалуй, нет сомнений в том, что использовать для этой цели мощную промышленную среду разработки не стоит - если школьник или студент, плохо понимающий разницу между циклом с постусловием и циклом с предусловием, столкнется с необходимостью проектирования интерфейса и написания обработчиков событий, - черепно-мозговая травма на всю жизнь ему обеспечена. "КуМир" в этом смысле безопасен, поскольку заточен под решение конкретной задачи и обладает рядом специальных возможностей для упрощения жизни учащегося и учителя. Например, процесс анализа программ с ошибками здесь устроен особым образом, чтобы давать ученику оптимальное количество информации (на русском языке!) для самостоятельного поиска и исправления своей ошибки, - компиляторы, ориентированные на профессиональное использование, обычно "не задумываются" над такими проблемами, а для учителя необходимость подойти к каждому из тридцати учеников в классе и объяснить, на что "ругнулся" компьютер в этот раз, сильно снижает эффективность работы.
Говоря о специализированном обучающем ПО, нельзя не упомянуть проект OLPC, в рамках которого, помимо уникальных с "железной" точки зрения недорогих ноутбуков, разрабатывается принципиально новая программная среда, ориентированная на детей и при этом довольно далекая от привычных нам интерфейсных стереотипов. (Подробнее о среде OLPC Sugar см. "И пусть никто не уйдет обиженный", "КТ" #684.) Участники проекта OLPC из Медиалаборатории НГПУ рассказывали о летнем экологическом лагере, проведенном в августе прошлого года, где разные модели нетбуков (в том числе OLPC XO-1) использовались как основной творческий и рабочий инструмент школьников, а беспроводная сеть - как средство (само)организации небольшого исследовательского сообщества ("стаи"). Для совместного сбора и анализа информации применялись вики-среды, система разработки Scratch, ориентированная на детей, а также средства mindmapping’а (VYM) и анализа онтологий (Metamind).
Читать дальше