Медиалаборатория и Open Source Linux Lab, подготовившие для вас однажды статью о применение OLPC XO ноутбучков в суровых условиях русского лагеря, продолжают вещать из деревни Старая Пустынь Нижегородской области. Компьютерный лагерь проходил с 10-го по 20-е августа и в этот раз, кроме ребят из четырех нижегородских школ, были и дети программистов, прочитавших о нас в журнальных статьях и блогах.
И в этот раз у нас вдобавок к OLPC XO детские образовательные ноутбуки от титана компьютерной индустрии — фирмы Intel. Итак, Classmate PC, цветы жизни и вправление мозгов!
Много картинок, будьте осторожны.
Снова мы пишем об устройствах, которые достать в России забесплатно — сложно, а купить — так уж совсем невозможно.
Однако же, целевая аудитория этих устройств (зачастую не достающая умудренному кодеру до пупка, но постоянно претендующая на роль будущей гордости, поддержки и опоры) познакомиться с оным может, если сильно хочет. В статье мы попытаемся повести итоги второго цифрового лагеря с экологическим уклоном «Компьютерная Пустынь 2009».
Устройства
Если кратко, то в этот раз применялись
- OLPC XO-1,
- Classmate PC (1st generation)+камера,
- менее интересные ASUS'ы,
- gps-устройства,
- Picoboard,
- метеостация,
- телескопы и микроскопы.
Просто не хватило времени на полноценное изучение робота LEGO Mindstorms и лабораторию Nova 5000. Из программных инструментальных средств: вики — для фиксирования деятельности, выпуска онлайн газеты, общения с родителями, а также как система контроля версий, Scratch — как язык программирования, плюс мелочевка вроде MS Office (рисование графиков и диаграм для соц.опросов).
Сначала кратенько пробегусь по всем железкам.
OLPC XO-1
Очень люблю про него говорить, ведь эта машинка 4 года назад (поправьте меня, если не прав) уже имела список фич, к которому красавец Intel Classmate 3 приближается только сейчас, а именно:
- Бронебойность, и полное отстутствие двигающихся деталек
- водонепроницаемость,
- ручка для переноски, и поворацивающийся экран
- камера, микрофон, 3 usb портика
- батарея за 17 долларов на 5 часов
- двухслойный экран, с которым можно работать на солнце
- возможность соединяться в беспроводную сеть стандарта 802.11s, а значит, без всяких точек доступа (например, в лесу или болоте)
- широкий тачпад, переходящий в широкий планшет
- чудо-window-manager Sugar внутри
Classmate PC 1
Что ж тут сказать — добрый такой нетбук, не особо породистый и внешне выдающийся, пожалуй, только синей рубашкой для смягчения ударов. Всё-таки, первая модель послабее OLPC-шки будет — не то, что третья. Я не любитель смаковать такие вещи, как шероватый пластик или круглый тачпад, а вот реально бросились в глаза идущие в комплекте прищепочки с ручками на батарейках.
Устройство такое называется Note Taker (неплохой обзор подобного девайса). Работает так:
- к прищепочке прищепляем листик бумаги,
- включаем на ноуте программу NoteTaker,
- рисуем по бумаге, и видим, как изображение появляется на экране.
Это не какое-то новое изобретение Интела, но штука пригождалась не раз и не два.
Операционная система на классмейтах была, увы, не Линукс, а та, другая ;) А потому, к третьему дню пришедшие с флешек ребят вирусы съели две машинки — пришлось реанимировать.
Штуки с датчиками
Если вы человек с техническим складом мышления — обязательно попробуйте сенсорные устройства. Запрограммированный на узнавание цветов и тепла LEGO-MindStorms робот всякого взрослого способен привести в экстаз. Что до юных программистов-пятиклассников — это лучшая платформа для обучения программированию как интересной дисциплине.
Nova 5000
Закодить собственный световой музыкальный инструмент с помощью доски Picoboard, научить робота дергать девочек за юбки, а парням отдавать честь — все эти вещи дают юным исследователям бесценную мотивацию. Для народа постарше (8-9 класс) можно предлагать мобильные цифровые лаборатории типа вот этой Nova 5000.
Даже простейшие датчики температуры способны пробудить интерес к физико-экологическим исследованиям. Живой пример: Пусть мы измерили значения температуры в чайнике и увидели её график. Начиная с 96 градусов, график перестаёт расти. Почему температура кипения воды не 100 градусов? Примеси солей? Давление? А ведь стартовый набор датчиков включает много чего еще: скорость движения воздушного потока, давление, кислотность. Как различается уровень pH в болотной, речной и озерной воде? Как зависят его колебания от времени?
Picoboard
Следующий девайс зовется Picoboard — это доска с сенсорами. На доске присутствуют: кнопка, рычаг, датчик освещенности, микрофон и два датчика для измерения напряжения. И не было бы от нее никакого проку, если б нельзя было подключить эту доску к системе программирования Скретч. О, я много расскажу вам о Скретче, только подождите минутку. А пока для всех простая задачка: что делает эта программа?
Роботы LEGO Mindstorms
В последнее время по поводу роботов LEGO есть небольшой всплеск активности (раз,два, три). А это значит, робототехнике в России предстоит пережить подъем!
Минимальный стартовый набор датчиков (звук, ультразвук, касание, свет) был расширен инфракрасным датчиком, датчиком света и компасом от Hi-Technic. Не мешает докупить еще гироскопический измеритель угловой скорости (наверное, называется это все-таки иначе). С ним можно делать и Seagway и перчатку для виртуальной реальности, и телекинез-палочку.
Роботы Lego Mindstorms
Если связка Scratch+Picoboard позволяет перенести кусочек реальности в мир Скретча, то Lego Mindstorms — это, наоборот, перенос виртуального мира ребенка-демиурга в реальный мир
Как Пикоборд, так и роботов Mindstorms можно просто и прозрачно подключить к XO — так что удивительный мир команды modprobe им придется познать попозже.
А вот так выглядит программа для робота — Mindstorms имеют визуальный язык программирования, основанный на LabView (кто-то из недавних студентов вспомнит уроки цифровой обработки сигналов). Опять же, кирпичики знаний, из которых составляется программа.
GPS-устройства
Детеныш, которому в лагере объяснили, как ориентироваться на местности с помощью компаса и GPS-навигатора, никогда не послужит кормом для гиен, рыскающих в нижегородских пустынях. Применялись следующие устройства.
Две GPS-мышки модели BU-353 — использовалась в дружеской связке с классмейтом.
Два туристических навигатора Garmin серии eTrex модели Vista и Venture HC давались ребятам лаборатории Неогеографов для того, чтобы те вели экспедицию по верному пути.
Занятия
В этом году мы копали в глубину. За 10 дней нужно было сделать из проводящих время в постоянных походах пятиклассников мотивированных программистов, жуналистов и экологов да причем имеющих в своем портфолио законченную работу. Каждая лаборатория сосредоточилась на работе над одним-единственным проектом. Программный продукт, интернет-газета, серия мультимедийных статей с экологическими исследованиями.
Программисты
Что писать программисту? А что спросит у вас любой ребенок, когда вы назовете ему свою профессию? «Программист? А игры ты пишешь?»
Игра игрой, но хотелось показать ребятам, что они способны работать как настроящие кодеры из солидных фирм. Пришлось придумывать для них процесс разработки и подбирать инструментальные средства. Ориентировался я на такую специфику:
- все разработчки достаточно юны — 5 храбрых мужей и две прекрасные девы из 5-х классов средней общеобразоватльной школы, не знающие о программировании совсем ничего
- сроки очень ограниченны — 10 дней, 5-6 из которых дети проводят в экологических экспедициях,
- проект должен быть тесно связан как с экологией, так и с программированием
Итак, надо было выбрать степень формальности процесса и набор инструментальных средств.
На чем писать? Ода одному детскому языку
Язык реализации не вызывал никаких сомнений — великолепный, мощный, не требующий обучения ОО-язык Scratch. Источник вдохновения — экологические походы и экспедиции, увиденные и изученные жуки-бобры-пауки, растения, лишайники, хвощи да плауны.
Про скретч надо рассказать отдельно. Во-первых, я никогда еще не читал ни единой книжки по скретчу (кстати, одна-таки есть ).
Любой язык программирования (на мой взгляд) похож на игру в Го. В самом начале перед тобою голая доска и камни — текстовый редактор и клавиатура. Используя свои знания мы складываем из английских букв логику, получая удовольствие от процесса созидания. Это удовольствие компенсирует нам ужасные часы, проведенные в упрямой настройке среды, изучении манов, экзамплов и туториалов. Чем плотнее программист сидит на этой игле, тем больше времени он проводит за кодом, тем более крупным специалистом становится. Развитие в себе тяги к отложеному удовольствию — это один из самых важных шагов на пути саморазвития.
Что делают в очень многих школах вместо этого? Уроки информатики — это обучение Word и Excel. А если повезет — работа с Turbo Pascal: циклы, ветвления, списки и массивы. И смышленый детеныш спросит «А нафига мне эти списки? Где они в реальной жизни?». И вопрос этот повиснет в пустоте.
Некоторым на информатике с инструментами повезло больше — им дали черепашку Лого или многочисленных её клонов типа кенгуренка, пылесосика, Кумира. Хакер и компьютерный гений сможет всем показать свое алгоритмическое мастерство, нарисовав черепахой самую красивую картинку. Однако, рисованием и алгоритмами тут дело и закончится.
Скретч же позволяет не только рисовать, используя одного исполнителя. Исполнителей может быть много, их можно создавать и рисовать самому. Каждый исполнитель (спрайт) имеет свои:
- костюмы, определяющие внешний вид
- звуки
- скрипт, определяющий его поведение и взаимодействие.
Скрипты могут включать в себя:
- движения персонажа,
- управление сменой костюмов (например, для того, чтобы герой ходил, надо двигать его по оси x и менять костюмы с разным положением ног),
- издаванием звуков,
- посылание сигналов другим персонажам — ведь ноги у скретча растут из Smalltalk — самого что ни на есть кошерного ОО-языка
Вот вам пример программы:
И конечно же, в Скретче есть все возможности по созданию циклов, ветвлений, возможности арифметики и булевой логики.
Communication & collaboration
Вики разметку преподавали прямо в лагере, чем мы и воспользовались, заведя отличную страницу проекта. Система контроля версий появилась как-то сама-собой. Ребята быстро поняли, что передача файлов через флешковод — занятие неблагородное и начали класть свои скретч проекты на вики. Сначала клали под разными именами, но потом заметили, что если один и тот же файл (например Bukashka.sb) положить в вики два раза, то в ней будут доступны обе версии — просто надо будет бырать желаемую. Так вики заменила нам VCS.
Багтрекер. Тут мне пригодился опыт просиживания за хабром. Я просто воспользовался идеей хардварного багтрака отсюда — картинка оттуда же. Спасибо тебе, Restorer! Для тех, кому лень идти по ссылке, рассказываю — мы завели три коробки с бумажками-задачками:
- пул задач для поручений, ждущих своих героев
- коробку для выполенных задач
- коробку для задач, выполнять которые оказалось не нужно
Процесс разработки
Вспомнились книжки по RUP'u и артефакт Roles. Как приятно было осознавать себя руководителем по деплойменту… системным архитектором… а как приятно и полезно будет применить это здесь! Так у нас был выбран главный программист, группа разработки и тестирования, группа дизайна.
Далее про процесс. Язык позволял вести разработку отдельных спрайтов автономно; главному программисту доставалась задача интеграции модулей программы, преобразование абсолютных координат в относительные, стыковка фонов игры, продумывание физики. Работал он очень много, но благодаря введению стандарта кодирования получилось отлично разгрузить паренька.
Жанр игры — аркада в стиле Mario. Программисты реализовывали логику поведения главного героя, рзаличные алгоритмы движения его врагов. Один даже сделал врага, связанного с Пикобордом. В зависимости от освещенности и поворотов рычага этот ultimate-враг мог двигаться разнообразны образом и пройти его было тяжелей всего. Дизайнеры работали над созданием фонов и скинов для действующих лиц игры. Многие враги были взяты из фауны, увиденной и сфотографированной во время походов.
Важно было научиться воспринимать информацию друг от друга. Ребята имели право на один вопрос к старшим руководителям. Понявший ответ на вопрос должен был обучить своих коллег.
После фазы Transition в RUP полагается провести анализ проекта. Это называется посмертное вскрытие (Postmortem).
На нем обсуждаются:
- удачные решения,
- нужность артефактов,
- промахи, которые не надо повторять в дальнейших,
- оценка работы в группе,
- предположения о том, что надо было делать иначе
- перспективы проекта
Вскрытия помогают разработчику прицельно работать над своими недостатками и показывают его сильные стороны — что может быть важнее?
Результаты вскрытия проекта-игры «Странник» вы можете увидеть на вики проекта, когда она приединится к Летописям.ру. А попробовать пройти игру и скачать исходники можно с сайта скретча.
Неогеографы
Я попросил руководителя Неогеографов ответить на парочку вопросов. Рассказывает Алексей Киселев:
Q: Для чего вообще применялись GPS-ки?
A: Было несколько видов применения:
- Маршуртное сопровождение. GPS-устройство пишет трек наших перемещений по маршрутам и мы выкладываем его на сайте. Таким образом
мы осуществляем документирование. Это нужно, например, для того, чтобы по временным меткам на фотографиях привязать их к точкам местности.
Кроме того, мы получаем статистику километража, времени в пути, скорости и др. - Геотаггинг. Помечание координатами примечательных объектов. Каждая остановка во время экологического маршрута правильно называется станцией. На станциях изучаются и демонстрируются группе биологическиеобъекты. По хорошему каждая станция маршрута маркируется координатами и соответственно временем.
Геокешинг. Поиск точек по заранее известным координатам. В нашем случае игра. В некоторых случаях это был поиск ранее отмеченных координатами примечательных биологических объектов (например, гнезд).
Картография. Создание собственных планов по данным GPS и создание тематических слоев с данными из GPS на картах Google и картах Ozi. В этот раз попробовали создавать карты прямо средствами самой Вики. Для это поставили плагин
Q: Было ли что-то с Новой? С микроскопами? С телескопами?
A: С Новой была только демонстрация. Дело в том, что набор датчиков оказался не слишком актуальным для экологической экспедиции. Например, там был ряд датчиков по измерению метеопараметров, но у нас для этого была цифровая метеостанция WS-2310, которая это великолепно делала.
Датчики по работе с электричеством оказались невостребованными, фотоворота для экспериментов по механике тоже. Для нас были бы важны датчики концентраций веществ, они есть в каталоге Новы, но у нас их пока нет. Мыслилось, что мы могли бы измерять Новой значения влажности в биотопах, температурные профили воды и почвы, уровень освещенности.
Микроскопы у нас только оптические в наличии были. Бинокулярный микроскоп стоял в лаборатории и дети смотрели в него в любое время как и в телескоп стоящий на веранде. Сейчас мы думаем над устройствами вроде Digital Blue QX5 — это электронный детский обучающий микроскоп с хорошей поддержкой со стороны копьютера (достаточно мощный графический редактор, возможность записывать и редактровать видео), но вопрос требует проработки.
Еще два бинокля всегда висели под рукой и были для всех. Но ценно то, что мы занимались макросъемкой на цифровых фотоаппаратах. Коллекция бабочек и гусениц с разрешением достаточным, чтобы видеть все детали строения тел насекомых.
Телескопов было два. Один телескоп системы рефрактор на горизонтальной монтировке — DeepSky. Этот прибор был использован и для ночных наблюдений и для наблюдением днем за удаленными объектами, а конкретно птицами. Второй телескоп системы рефлектор на экваториальной монтировке — Мицар. Он использовался для ночных наблюдений. Был опыт, когда мы фотографировали луну фотоаппаратом через окуляр телескопа. А метеоритный дождь, пришедшийся как раз на конец августа, можно было наблюдать и без телескопа.
Из устройств еще были диктофон, видеокамера, хотя видео тоже на фотоаппарат больше снимали. Собственно фотоаппарат цифровой такая штука, которая и вместо микроскопа и вместо телескопа и как диктофон и как видеокамера, — универсально использовался.
Журналисты
Лаборатория журналистики, как легко догадаться, управлялась журналистом — заместителем главного редактора издания iToday. Маленькие журналисты фиксировали все события, зачастую делая это прямо в походах, поэтому им были выданы OLPC-шные ноутбучки. Я не в состоянии рассказать тут очень много об их деятельности, но я часто слышал очень правильные слова, которыми перекидывались пятиклассники. Например, «скоро дедлайн», «назначь задание корректору» и прочее.
Знаю, что у них была установлена норма на количество статей в день. 3 новости, и хоть ты тресни. Плюс одна публикация в другом жанре. Кто-нибудь помнит, чтобы газета, которую он купил в магазине, была пустой? А все потому, что такая норма есть в каждом издании.
Жанры, с которыми ребята ознакомились — опрос, интервью, новостные обзоры. К опросам научились чертить диаграммки.
Проект журналистов — онлайн-газета «Пустодневность». У газеты не было особой кампании, но её действительно читало процентов 50 детей и почти все их родители.
Результаты
Как бы ни были хороши созданные нами статьи и программы, главные результаты лагеря не выложены в интернет, а покоятся и укореняются в умах ребят, а именно:
- овладение концепциями программирования — все алгоритмические структуры и некоторые структуры данных(циклы, ветвления, переменные, списки) были использованы ребятами на практике — при работе над своей игрой.
- освоение техники — самое элементарное — это GPS. А самые суровые обладатели OLPC XO-шек сумели даже освоить пару команд в консоли, когда проигрывали музыку флешек mplayer'ом.
- представление о работе программиста, журналиста и эколога. Все, что происходило в лабораториях настолько сильно напоминало взрослую жизнь, что я даже решил подготовить статью, описывающую процесс разработки «Странника» и явно показывающий типичные ошибки в построении софта малыми группами разработчиков
- восприятие компьютера как инструмента для исследования и творчества, а не только как площадки для игр.
- Социализация. Представление о работе в команде.
- создание сообщества. Пока об этом рано говорить, но команда скретчистов на postmortem'е решила продолжать проект и потом приняться за разработку новой игры. На первых порах им требуется мощная поддержка со стороны (в том числе, и мотивационная — пишите нам восхищенные письма!), но если это не выгорит — можно считать лагерь полностью удавшимся.
После выводов
Удивительные 10 дней этого лагеря закончились. Обучение в нем велось с бешенной интенсивностью и сочеталось с принципиально новым для школы — проектным методом обучения. Как измерить пользу от всего этого? Будет ли наблюдаться хоть какая-то корелляция с успеваемостью в школе? Будут ли отличаться от своих сверстников дети, которым показали, что работать и создавать — это приятно и интересно? Это важные вопросы. Буду очень рад, если вы поможете ответить на них.
Ссылки
- сообщество ruolpc в LiveJournal
- Open Source Linux Lab — программерское сообщество-техподдержка лагеря
- маленький picasa-альбом
- статья «Ни минуты в оффлайне»
- Интервью в Intel Galaxy
- скоро будут — вики лагеря, сайт сообщества авторов игры «Странник»
UPD: спасибо за комменты! Принимаются любые предложения по корректировки структуры статьи, содержанию картинок и т.д.