2015-06-25
Известный учёный Митчелл Резник, профессор Массачусетского технологического института, на своём выступлении на конференции TED-2012 рассказал о том, что современные дети способны гораздо на большее, чем интуитивно справляться с интерфейсами приложений и программ.
«Программирование открывает детям множество новых явлений, множество новых возможностей для обучения. Так же, как это происходит с чтением и письмом: если вы умеете читать и писать, вы сможете узнать много разных новых вещей. Сначала вы учитесь читать, а потом читаете, чтобы учиться. То же самое происходит с программированием: сперва вы учитесь программировать, а затем программируете, чтобы учиться.»
К Митчеллу Резнику мы ещё вернёмся чуть позже. Его идея понятна: наша задача состоит не в том, чтобы учить сегодняшних школьников и дошкольников умению обращаться с гаджетами в качестве пользователя. Эти дети заслуживают и готовы на большее: они должны уметь создавать что угодно в информационно-технологической среде.
Чему учит программирование:
- Создавать осмысленный контекст действиям;
- Воспринимать обучение как процесс, а не как готовый продукт;
- Осознавать сложные идеи и понятия, разбивая их на более простые элементы;
- Работать в сотрудничестве с другими;
- Спокойно относиться к трудностям и неудачам: никакой код не заработает с первого раза; если код заработал с первого раза, значит, что-то пошло не так.
А теперь — самое сложное. Какие инструменты помогут в обучении программированию? Руководств, учебников, статей для начинающих и обучающих ресурсов в сети действительно очень много; попробовать их все под силу далеко не каждому. Есть один беспроигрышный вариант: не ходить далеко и воспользоваться теми инструментами, которые предлагает образовательная инициатива крупнейшего технологического гиганта — Google for Education. Все перечисленные ниже приложения разработаны лучшими в своём деле профессионалами и поддерживаются широким сообществом программистов. А ещё они все бесплатны, работают на всех популярных операционных системах (Windows, OS X, Linux) и полностью открыты для использования.
Ресурс, который научит с помощью кода рисовать, создавать музыкальные произведения и писать интерактивную прозу. Для того, чтобы новичкам не пришлось писать много строк незнакомого кода, используются визуальные блоки с готовыми элементами языка, которые можно составлять вместе, объединять в циклы и менять их параметры. Обучение происходит по классическому никогда не подводящему принципу: от простого к сложному. Скажем, в уроках интерактивного рисования всё начинается с пары цветных точек, а к концу занятий ученик будет способен обучить программу строить изогнутые формы, повторяющиеся узоры, регулировать скорость их возникновения и направления передвижения по экрану.
Так же происходит и в уроках синтезирования музыки. Поначалу сервис знакомит с основными нотами, отображаемыми в коде, затем переходит к основам ритма, темпа, гармонии, учит проигрывать аккорды и менять тон. И да, используются популярные мелодии: скажем, песенка из «LEGO: фильм» или клавишные партии из репертуара Кэти Перри.
Pencil Code обучает, да и сам написан с помощью языков CoffeeScript, JavaScript, технологий HTML и CSS, то есть готовит будущих веб-программистов. CoffeeScript — это современный мощный язык программирования для создания сложных вебсайтов; JavaScript — самый популярный язык веб-программирования, а без языка разметки HTML с языком стилей CSS веб представить попросту невозможно.
Помимо прочего, ресурс предлагает раздаточные материалы и рекомендации для учителей и подборку учебных проектов, среди которых есть и забавные. Например, можно попытаться спастись от зомби, угадав правильное число за 8 попыток.
Серия игр Blockly, как и предыдущий ресурс, использует готовые языковые блоки, чтобы облегчить знакомство с языком программирования. Этот сервис прекрасно подходит даже для самых маленьких — чтобы начать программировать, здесь не нужно читать длинные задания и инструкции. Ты вроде бы пытаешься помочь жёлтому человечку выбраться из лабиринта, а на самом деле уже написал свой первый код на JavaScript (а может быть, и Dart, а может, и Python — не узнаешь, пока не попробуешь).
Blockly — это не просто звучное название для детских игр; на самом деле это название графической среды программирования, разработанного и представленного Google в 2012 году. Этот визуальный язык позволяет быстро освоить основную логику предоставления данных и инструкций машине, знакомит с циклами, операторами, процедурами, функциями и переменными, да и в целом отлично развивает мышление.
А то, что пользователь избавлен от суровой необходимости следить за сложностями синтаксиса языка, поможет сначала искренне полюбить программирование, а потом уже погрузиться в мир разработки с головой, прощая ему все возможные будущие неполадки. При этом язык Blockly никак нельзя назвать примитивным: в него встроен широкий набор алгебраических и тригонометрических функций, логических выражений, процедур для работы с текстом и списками. Именно поэтому Blockly сейчас является одним из самых популярных языков в мире для обучения программированию (он активно используется в образовательной глобальной инициативе «Час кода»).
3. Scratch
Scratch — это конструктор Lego и легендарный язык Logo (который был разработан ещё в 1967 г.) в одной песочнице. Разрабатывается небольшой командой программистов Массачусетского технологического института, а автором языка является как раз Митчел Резник, выступлением которого мы и открыли эту статью. С помощью Scratch дети также будут знакомиться со средой программирования, используя графические блоки и составляя из них скрипты-сценарии.
Область программирования реализована примерно так же, как и в предыдущих сервисах: есть область визуального интерпретатора, есть область с набором действующих блоков, и есть область для составления самого кода. Знакомство с кодом происходит незаметно: достаточно кликнуть на кнопку «Начать», а среда заботливо подскажет, что нужно делать, и покажет видеоинструкции. Дети младшего школьного возраста прекрасно справятся со всеми задачами, предлагаемыми платформой.
Пользователи с помощью Scratch создают собственные простенькие игры-платформеры,прототипы операционных систем, неплохие визуализации и многое другое. Всего сообществом Scratch создано уже более 7 миллионов проектов.
4. App Inventor
App Inventor — также инициатива лаборатории Массачусетского технологического института (хотя поначалу среда разрабатывалась в Google Labs). С помощью сервиса можно в дружелюбной графической среде создавать собственные мобильные приложения, а потом и опубликовать их в Google Play. Вот, например, отец с сыном, используя App Inventor, разработали приложение, управляющее роботом по Bluetooth.
Ещё на сайте есть раздел с обучающими видео, которые рассказывают, как создать свои первые рабочие приложения для Android: например, простое приложение для преобразования текста в голос или приложение, реагирующее на жесты.
Сейчас с помощью App Inventor создано уже более 4,5 миллионов мобильных учебных приложений.
Как же всё-таки повезло современным детям, для которых целая когорта талантливейших программистов мира разрабатывает удобную и увлекательную среду, не истязая их ужасающим синтаксисом BASIC! И всё это делается ради того, чтобы из этого поколения выросли ещё более способные специалисты. Хотя, может, нам тоже стоит попробовать, и мы тоже сможем пополнить ряды создателей новых сервисов?
Автор: Люся Ширшова
По материалам NewToNew.