Пользователь
0,0
рейтинг
29 августа 2014 в 06:44

Разработка → Мой опыт обучения детей 8-10 лет программированию на Scratch из песочницы

Давно собирался написать об этом, но, модная болезнь прокрастинация брала вверх. Последней каплей стал пост
«Учим детей делать игры» из блога «Кодабры».

Знакомство со Scratch


Когда сыну Артёму исполнилось 7 лет и он пошел в школу, мы ему подарили компьютер, чтобы он не отставал от жизни. Несколько месяцев он играл в разные игры, наслаждался, развлекался и т.п. Мне стало немного обидно, что такой дорогой и сложный прибор как компьютер используется только для развлечений, и я решил придумать, как использовать компьютер для обучения. А чему можно научиться на компьютере? Конечно, программированию! Тут я и вбил в «Яндекс» заветную фразу «обучение детей программированию».

Scratch нашёлся не сразу. Помню чувство, которое я испытал при первом запуске программы: «эх, жаль что в моем детстве этого не было». Быстренько пробежав по блокам Scratch, я высоко оценил его возможности. Полчасика потыкал в него и, переключив на русский язык, позвал ребёнка. После показа нескольких блоков, ребёнок попросил меня немного подвинуться, и продолжил самостоятельно. Через полчаса квартиру огласили дикие вопли Кота: «Ого, ребенок сам разобрался со звуками», — подумал я.

image

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

Я стал думать, как решать эту проблему. Первая мысль была такая: установить в классе на нетбуки Scratch, показать его учительнице, пускай на продлёнке дети занимаются. Учительница была не против. Я научил Артёма устанавливать Scratch с флешки; и вот, как-то вечером мы пошли «на дело». Устанавливали мы его на 26 нетбуков около 2 часов, устали от рутинной работы, после чего сын сказал, что не хочет быть системным администратором.

Организация кружка юных программистов на Scratch


К сожалению, во втором классе на группе продлённого дня Scratch так ни разу и не включили… Тогда я стал думать дальше. Это начинало напоминать крокодила Гену, который искал друзей для Чебурашки. В мультфильме друзья появились, когда начали общее дело. Мы тоже решили начать «дело» — организовать кружок Scratch. Ребенок уже ходил на рисование в молодежный клуб, к директору которого я и обратился.

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

— объявление на стенде в клубе;
— реклама на местном форуме;
— раздача перед началом уроков в школе рекламы.

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

На первое занятие пришли 8 детей 7-10 лет. Разместились, начали устанавливать Скретч — тут очень пригодились навыки Артёма по скоростной установке программы, полученные в школе. Среди пришедших детей одна девочка, у которой папа программист, уже знала как работать в Скретч. Она помогла нам показать ребятам как двигать блоки. Через 15 минут все освоились с интерфейсом и стали делать то, что написано в листочках. Как обычно, на первом уроке раздалось громогласное мяуканье. Но теперь творилось что-то невообразимое, одновременно орали 8 котов! Срочно изучили на ноутбуках кнопку уменьшения громкости. Занятие продолжалось 2 часа, дети были в восторге. Подробнее про восторги можете прочитать у Кодабры. Были пройдены основные блоки, и дети стали требовать игр. Мои объяснения, что надо немного подождать, и изучить ещё несколько блоков и координатную плоскость — не принимались. На совместном совещании с Артёмом было принято решение ускорить процесс обучения, так как все дети попались смышлёные. Изначально я планировал рассказать о координатах примерно на 5 занятии, однако без координат ни мультфильм, ни игру не сделать. Я был приятно удивлен, когда оказалось, что некоторые дети во 2-м классе уже знали, что такое координатная плоскость. Со словами: «мне папа объяснял» — дети сходу начали применять блоки с координатами.

Игру на втором занятии делать не стали, а сделали мультфильм.


Для запуска нажмите на зелёный флаг в центре экрана.

На второе занятие пришли ещё несколько новичков. Я раздал им первый урок, остальные проходили мультфильм. Быстро сделав мультик, начинали его видоизменять. Выбирали других персонажей, писали разные фразы, и все делали вид, что поняли, что такое координаты. Это я заметил через несколько занятий. Многим нравилось делать смешные игры, прикалываться и веселиться, а чтобы я не приставал со скучными объяснениями, говорили, что всё понимают. Не смотря на все мои усилия, некоторые дети координаты так до конца и не поняли. Кстати, те, кто не поняли координаты, через некоторое время кружок побросали. Остался костяк смышлёных учеников. Общая статистика после трёх полугодий обучения примерно следующая: те, кто занимаются всё это время, человек 10, это костяк. Всего ходило на занятия человек 40. Те, кто побросали — посетили примерно по 10 занятий каждый, поняли, что им это не интересно — и ушли.

Надо отметить, что у меня не хватало фантазии придумывать каждую неделю новый урок. В этом мне помогал Артём. Его хватило на два полугодия, а потом я стал придумывать сам. Это очень сложно, и детям нравились не все уроки. Я каждое занятие прошу детей придумать тему следующего занятия, за всё время они помогли мне 3-4 раза. В последнее время, в поисках вдохновения, я часто захожу на сайт scratch.mit.edu, там очень много классных примеров.
По образцу «Кодабры» попытаюсь сформулировать правила обучения.

1. Каждую минуту ребенку должно быть интересно. Если хотя бы одному не интересно, он включает постороннюю игру, или мультик на ноуте, и к нему тянутся остальные. Если ребенок заскучал, ему всегда можно показать новый прикол на Скретч, ведь это очень глубокая и мощная программа.
2. Все предложения детей по усовершенствованию игр — на конец занятия. Есть один мальчик, он не хочет делать по написанному, а сразу начинает генерировать идеи. В результате отходит от плана урока. Понаделает своих скриптов. У него ничего не работает, и он начинает отвлекать меня. А разобраться в чужом коде не всегда просто, даже если его писал 8 летний пацан.
3. Всегда иметь под рукой дополнительные задания. Некоторые дети очень смышлёные, у них сразу всё получается, а занятия длились по 2 астрономических часа. Если ребенок за час все сделает — надо дать ему ещё что-нибудь интересное.
4. Занятия дольше 1 астрономического часа проводить не следует. 40 мин, как в школе — оптимально. Дальше у детей реально ухудшается концентрация и они начинают хулиганить.
5. Берите с собой воду и печеньки. Поощрение печенькой реально работает. Я умилялся, когда это подтвердилось на практике.

Появление книги


В процессе создания уроков я постоянно мониторил интернет в поисках литературы по Scrath. К сожалению, книга уважаемого Евгения Патаракина написана не для начальной школы, а других книг на русском я не нашел. После первого полугодия занятий у меня накопилась куча материалов с уроками, и, совместно с Артёмом, мы решили сделать книгу. Писал и делал скриншоты, конечно, я. От Артёма были все идеи уроков, и пара историй про Котёнка Тесея и летучую мышь Rousettus aegyptiacus (которая, как оказалось, переносит вирус Эбола). Так-как издать книгу дело не дешёвое, было принято решение делать её в электронном формате epub. По этой ссылке можно бесплатно скачать книгу.

Основные цели написания книги

1. Показать Артёму, что «не боги горшки обжигают», что если на русском языке нет книг по Scratch для самостоятельного изучения детьми младших классов, то это можно исправить;
2. Помочь школьникам начальных классов самостоятельно разобраться со Scratch. Папа с мамой должны только скачать книгу на планшет, а дальше ребенок сам должен делать игры;
3. Помочь другим родителям организовать кружки юных программистов;
4. Найти единомышленников, занимающихся обучением детей Scratch и программированию вообще;
5. Рекламировать Scratch как отличный способ обучения. Максимальная цель — каждый ученик начальной школы должен знать о существовании Scratch. Дальше ребенок сам поймёт — нравится ему это или нет, но подвигать блоки хотя бы раз в жизни он должен.

Результат

1. На книжной ярмарке NonFiction 2013, где мы с Артёмом проводили мастер класс по Scratch, ему дали бэйджик — участник выставки и мы прошли в помещение без очереди, которая была 100 метров. Никогда я не видел ещё такого гордого выражения лица. И, потом, на мастер классе, он сиял уверенностью, и с огромным удовольствием показывал всем ребятишкам Scratch;
2. Книга на данный момент скачана более 4500 раз на русском и 1700 на английском языке. Есть несколько положительных отзывов. Надеюсь, некоторым детям она действительно помогла сделать первые шаги в Scratch;
3. Несколько человек написали что планируют сделать кружки Scratch;
4. Один очень уважаемый человек даже приезжал на наше занятие с дочкой перенимать опыт. Он уже тоже открыл кружок в Москве. В интернете всё больше людей попадаются со схожими интересами;

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

Заключение


Друзей у Артёма прибавилось. Многие из его класса приходили на кружок, и, хотя и побросали, авторитет ребенка вырос. Несмотря на то, что теперь он переключился на майнкрафт, я иногда спрашиваю у него совета по Scratch.

Очень надеюсь, через несколько лет в начальной школе будет предмет «основы программирования на Scratch».

Вот ещё пример игры, которую сделал Артём.

А вот на этой странице можно записаться на онлайн-курсы по программированию на Scratch.
@scratch_book
карма
31,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (57)

  • +3
    Будет уместен хоть один скриншот из scratch.
    Скрытый текст

  • +6
    Интересный момент: ребенок не хотел признавать переменные. Он считал, что можно обойтись и без них, и долгое время обходился.
    Видимо, это проблема общая… Я в детстве часто задумывался над вопросом: «Это ж сколько if-ов надо написать, чтобы Герои Меча и Магии получились»?
    • +8
      Это просто некоторые дети инстинктивно тянутся к функциональному подходу, наверное :-). Никакого мутабельного состояния, только функции и константы. Вообще очень интересное наблюдение, интересно было бы изучить, каков процент таких детей.
      • +1
        Я думаю 90%.
        Оказалось, что самый лучший способ объяснить необходимость переменных — сделать ограниченное количество «жизней» игровому персонажу. Через это все сразу понимают важность переменных, и начинают «читерить», делая персонажей бессмертными.
        • НЛО прилетело и опубликовало эту надпись здесь
          • +11
            Декомпилированный код не считается, т.к. в нём будет туева хуча if'ов, сгенерённых компилятором, а декомпилятор не может определить, что откуда взялось.
        • 0
          У меня такое подозрение, что это с возрастом и объёмом математических знаний (абстракция/абстрактное мышление познаётся прежде всего через математику) связано — ну не даются же в 1ом-2ом классах переменные.
    • +1
      Аналогично думал про Golden Axe!
    • +1
      Это и не все взрослые готовы понимать, как я заметил в институте. По себе не могу сказать когда «понял». В пятом классе уже что-то программил в школе.
      Гораздо сложнее было перейти от последовательной модели выполнения программы к событийной. Реально был сдвиг парадигмы.
      • 0
        Помню сам лично до старших курсов путался в Сишных указателях, не мог понять что к чему, потом прошло.

        С переменными проблем не было.
      • +2
        Что считать простой и ясной моделью выполнения сильно изменилось в последние годы. Я начинал программировать на Бейсике, где вся программа была одним списком пронумерованных вручную строк, а верхом модульности было использование GOSUB/RETURN. Сейчас моя шестилетняя дочь учится программировать на упрощённом ScratchJr для iPad, где нет переменных и оператора ветвления, но даже простейшая программа может состоять из нескольких параллельно исполняющихся потоков команд, синхронизирующих свою работу обменом сообщениями. Я до такого дорос только в университете.

    • 0
      Когда я играл в HoMM я уже был неплохо знаком с Sinclair Basic и таких глупостей не придумывал… впрочем это уже было 10-13 лет.
  • +2
    Ссылка на книгу бы вполне уместна
  • +3
    Спасибо за статью и за книгу!

    Я так же хочу чтобы в школах появилось преподавание по Scratch, и если это совместить с робототехникой, то это будет очень интересное и полезное направление.

    Например управляемый через Scratch робот (отсюда Building a Raspberry Pi Robot and Controlling it with Scratch , github):


    Вот примеры интеграции Ардуино и Скрэтч: Электронные выходные: Arduino + Scratch

    У нас в России есть наработки, например, у преподавателя Дениса Копосова из Архангельска: Программирование в Scratch с Arduino и без — совмещение ИТ (программирования) и технического творчества (создание стендов из компонентов электроники, от Амперки).

    Пример реализации светофора:
    • 0
      Ардуину я тоже прикупил. Сделал несколько проектов, но ребенка «не зацепило». Подожду, когда подрастет, может ещё заинтересуется.
    • +1
      Я так же хочу чтобы в школах появилось преподавание по Scratch, и если это совместить с робототехникой, то это будет очень интересное и полезное направление.

      Губа не дура.
      Но для этого надо победить засилье Лего и Лого. А для этого надо победить ИНТ. И сообщество Лего/Лого учителей. Которое уже давно сформировалось и обросло жирком.
  • +3
    Так как в нашей стране никто покупать электронную книгу не будет

    Не согласен. Честно пытался купить пару раз книжку. Цена не останавливала, но давать данные своей карты неизвестному книжному магазину никак не хотелось. Способов оплаты бы побольше и электронные книги станут улетать как пирожки. По-моему многие люди готовы и хотят платить за контент, просто для этого нет инфраструктуры. А где есть (тот же Steam), там всё ок.
    • 0
      То, как хотят люди платить за контент, я проверил выложив английскую книгу сначала в бесплатный доступ, а потом за 4 бакса. Расклад примерно следующий на 1600 бесплатных загрузок всего 70 платных за такой же срок. всего 4% готовы платить.
      • 0
        Я, например, покупаю нужные мне книжки на Литрес. В принципе я могу скачивать все со всяких Флибуст и Либрусеков, но мне нравится, что купленные книги я никогда не потеряю (смерть Литреса я в расчет не беру), а также, что все они будут в одном месте и во всех нужных мне форматах (MOBI в частности). То есть это некое подобие Steam — когда сервис позволяет покупать продукты проще и легче, чем «пиратить» и чувствовать некую нестабильность. Правда если Steam в этом плане позволяет пользоваться почти только им (Origin я не считаю, потому что почти не играю в игры от EA), то Литрес пока на такой уровень явно не вышел — нужных книг часто просто не бывает или они в нечитабельном для меня PDF (на PW2 этот формат читать жутко неудобно).
      • 0
        На проверку не тянет. Бесплатную книгу по потенциально интересной мне теме я могу скачать и никогда не открыть. Думаю, из 1600 бесплатных загрузок таких никак не меньше половины. Почему бы и не скачать, ведь бесплатно всё равно. К тому же в платном доступе книга появилась позже, чем в бесплатном. Большинство заинтересованных уже скачало книгу бесплатно к моменту старта продаж.
        В общем-то я и не говорю, что все станут покупать. Я только не согласился с тем, что «никто не будет». Более чем уверен, что многие будут.
  • 0
    Я пробовал разобраться со Scratch, чтобы научить программировать племянника. Проблема была в том (год назад), что под Linux Scratch абсолютно неюзабелен. Вечно виснет, не отрисовывается, не реагирует на мышь и клавиатуру.
    • +1
      К сожалению, с линукс «не дружу». Несколько раз устанавливал, показывал ребенку, но ни он ни я не нашли там своих любимых игр и программ и забросили это дело. Больше всего меня «добило», что по-умолчанию нет кодеков для музыки и видео.
      • +2
        Потому что кодеки проприетарные. Например Ubuntu при установке спрашивает поставить ли их.
        • +1
          mplayer1/2/mpv/vlc. Никаких кодеков не надо.
    • 0
      Вы о каком то другом Scratch говорите, я увидел Scratch почти 4 года назад, в fedora он вполне стабильно работал. Ничего из того что вы пишите не заметил. Может дело в ОС?
      • 0
        Год назад пробовал Scratch последней тогда версии в Ubuntu 13.04. Возможно, дело в том, что он плохо взаимодействует с Unity/Metacity. Ставить Scratch в новых версиях Ubuntu еще не пробовал.
    • 0
      scratch.mit.edu работает прекрасно в вебе, ничего не надо устанавливать
  • +3
    Честно говоря, это моя мечта — вести программирование для детей. Жду, пока мой подрастет. Если он будет интересоваться этим — обязательно займусь организацией кружка.
  • +2
    Ой, как статья порадовала! Молодцы, что решились на такое полезное дело. И Scratch отличный. Вот впринципе всё тоже самое, что и в любом языке, но выглядит красиво и хочется пощупать. Да и сразу результат видишь.
  • 0
    > ссылка на урок 1.doc

    The requested URL /doc227723879_323381711 was not found on this server.

    Ы?
    • 0
      У меня скачивается без проблем. попробуйте по этой ссылке bit.ly/1n2BZSc
  • 0
    У нас в 90-е был мак и логомиры. Рисовали, программировали. Потом дети 10-и классники стали писать программы для 3-5 классников: изучение слогов, кроссворды и т.д.

    Было круто.

    Детям важно видеть. Недаром для ДОС были Кенгуру и прочие программы похожего смысла
    • +2
      Это точно, детям важно видеть. Мы с сыном учили программирование по детской книжке по Pyhon, и ему довольно скучно было писать код только ради того чтоб увидеть желаемую цифру или строчку на экране. К счастью, его терпения хватило чтоб дочитать до главы где объяснялись циклы, а там уж на помощь пришёл Minecraft. Есть бесплатная версия для Raspberry Pi с открытым API на Python. Дальше обучение складывалось примерно так:

      • Пусть компьютер выложит из камней стену — для этого нам понадобится простой ЦИКЛ.
      • Теперь четыре стены. Скопируем предыдущий код три раза, снабдив для понятности КОММЕНТАРИЯМИ.
      • А теперь замостим двор нашего замка плиткой — тут уже нужны два ВЛОЖЕННЫХ ЦИКЛА
      • Что за крепостная стена без зубцов? Учим функцию % и как работает остаток от деления.
      • А теперь для закрепления предыдущих двух тем уложим плитку в шахматном порядке.
      • Нужна башня — понадобятся три цикла.
      • Круглая башня — учим определение окружности и как по ТЕОРЕМЕ ПИФАГОРА рассчитать расстояние между точками. Заодно выучили что такое квадратный корень.
      • Надо бы над башней сделать прозрачный купол из стеклянных блоков — обобщаем предыдущую тему на ТРИ ИЗМЕРЕНИЯ.

      и так далее…

      Что хорошо, все результаты и ошибки в программе очень наглядны, можно побродить в созданном программой мире, залезть внутрь только что сгенерированной башни. У ребёнка постоянно появляются свои идеи что бы ещё нужно запрограммировать: «Хочу чтоб в стене были ворота, а от них шла вымощенная желтым кирпичом дорога». Плюс, и это важно, он хорошо представляет как должен выглядеть конечный результат и может сам проверить правильно ли сработала программа. Мне остаётся только подсказывать ему команды Python и объяснять математические понятия которые ещё не проходили в школе.



      P.S. Скоро будем разбираться что такое sin и cos чтоб сделать пушку, стреляющую блоками TNT под нужным углом.
      • 0
        Очень интересно, а сколько лет Вашему сыну?
        • 0
          Моему 11 лет.
          • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        а что за книжка?
        • 0
          Python сейчас учим по «Hello World!: Computer Programming for Kids and Other Beginners»
          Scratch проходили по «Super Scratch Programming Adventure!: Learn to Program By Making Cool Games»

          Не знаю, переводились ли они на русский.
        • 0
          Еще есть такая: Python for Kids.

          Python for Kids
      • +1
        Есть очень классный мод для майнкрафта — ComputerCraft. Все собираюсь статью запилить на эту тему, но пока не очень клеится (хочется без занудства, но при этом быть последовательным… Т.е. не переходить сразу к самому вкусному: «черепахам», а начать с самих компов, их ОС, подключаемых устройствах...). Там в качестве «движка» — Lua. Для детей — самое то!
  • 0
    Судя по скриншоту, Scratch похож на Blockly от Google ( code.google.com/p/blockly/, причём с Blockly можно играться прямо из браузера). Кто у кого украл идею?
  • 0
    Блин, ну если книга действительно бесплатная, неужели трудно выложить в нормальное место?
    Основная ссылка мне упорно выдает 403 Forbidden, а все что гуглится неизбежно требует ввести кредитную карточку.
    За книгу [заранее] спасибо, когда наконец скачаю и опробую на детях, скажу по-настоящему.
  • +2
    «Устанавливали мы его на 26 нетбуков около 2 часов, устали от рутинной работы, после чего сын сказал, что не хочет быть системным администратором.»
    Милый мальчик ^_^
    • +3
      Вот так и проходят люди мимо профессий. А можно было бы потратить полчаса-час на создание пакета быстрой установки, после чего быстренько везде всё установить. И может даже понравилось бы человеку. :)
  • +1
    Просто спасибо!
  • +2
    Я живу в Стокгольме и сейчас активно занимаюсь обучением детей программированию в сообществе Coder Dojo. Изначально инициатива пришла из Ирландии, там Coder Dojo формат очень популярен. Здесь в Швеции у нас есть последователи в нескольких крупных городах, и сейчас мы стараемся привлечь еще больше разработчиков-волонтеров.

    Мы начали работу примерно год назад и сначала у нас тоже была только веб версия Scratch. Но, как вы и написали, у детей фантазия работает, а сидеть и разбираться в хитросплетениях кода каждой игрушки времени нет, поэтому мы новичков сажаем за learn.code.org. Там мы создали специальный класс, к которому дети могут подключать свои аккаунты (кстати их создание совершенно не проблема, у многих восьмилеток уже есть email), чтобы видеть статистику. На наш взгляд learn.code.org имеет очень структурированный подход к основам программирования, и дети легко усваивают циклы и условия. Рекомендую.

    Scratch у нас занимаются преимущественно дети 10-13 лет, им наиболее понятно что они хотят получить, подростки уже хотят больше заниматься JavaScript, Ruby, Python и другими языками.
  • +2
    для детей немного постарше, вот курс от гугла www.cs-first.com/create
    • 0
      жаль что они на другие языки ничего не перевели :(

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