Учим детей делать игры

    Хочу рассказать о некоммерческом проекте Кодабра. Здесь мы учим детей программировать и создавать игры.



    Предыстория

    Как-то пришло осознание того, что максимум удовольствия в этой жизни фаундерам приносят три процесса — программирование, обучение других и общение с детьми. Мысли стали активно бурлить по поводу школы для детей, а активные действия начались с января 2014. Нас вдохновили такие проекты как codeclub.org.uk, code.org, cs-first.com. И мы решили использовать их опыт и организовывать бесплатные уроки на базе существующих школ, детских домов и иных детских учреждений.

    Явный акцент сделали на мотивацию детей. Мы учим их делать мультфильмы, компьютерные игры, творить в цифровой вселенной.

    Выбор аудитории и инструментов

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

    В качестве языка программирования был выбран Scratch, визуальный язык программирования специально разработанный для детей. Во-первых, он доступен онлайн и не требует установки чего-либо. Во-вторых, это интегрированная среда, рисуешь код и сразу его исполняешь, сразу же видно результат. В-третьих, он заточен на создание мультфильмов и игр, в нем уже существует библиотека спрайтов и фонов, а также специальные “игровые” операторы, вроде “повернуть, если врезался в стену”.

    Код при этом выглядит примерно так.



    Мы набросали концепцию первого урока в виде игры по отлову мышей и приступили к делу.



    Первый опыт

    Через друзей я договорился с ближней к моему дому школой 1220 на ВДНХ. Пришел к завучу, показал примеры уроков. Познакомился с местным преподавателем информатики, чтобы он был в курсе и не чувствовал вдруг какой-либо конкуренции. Еще несколько недель согласований со всевозможными завучами и преподавателями и нам дали целый класс продленки, дети в возрасте 8 лет.

    Благой мыслью была идея прежде потренироваться с детьми знакомых на дому. Первыми учениками Кодабры стали 8 летний Максим и 6 летняя Майя. И сразу же все пошло не так как планировалось. Они наперебой генерили идеи мультфильмов, перескакивали с идеи на идею, всячески манипулировали мной. За два часа мы сменили с десяток фонов и героев, обсудили около 15 возможных сценариев развития действий и в итоге сделали лишь один передвигающийся спрайт.

    Отсюда родились следующие правила:

    1. Двигаться маленькими спринтами. “А давайте сделаем чтобы герой двигался”. Отсекая в этот момент другие бурлящие идеи. Agile тут как никогда актуален :)
    2. Все время быть на чеку и отсекать манипуляции. Из опыта. Майя: “А давай сделаем, чтобы принцесса улыбалась”. Я: “Ну это долго, придется перерисовывать”. Майя: “А ты что не можешь что-ли? Я думала ты все можешь..”. И я думаю о том, как быстро перерисовать спрайт, а не двигаюсь дальше по уроку :)
    3. Скармливайте по кусочку, самый сладкий в конце. Сделать сразу так, чтобы герой двигался клавишами управления не всегда самая лучшая идея. Как только это получается дети начинают летать героями и играть в свои вымышленные игры, игнорируя реальность.

    Я учел этот опыт, и первый урок в классе прошел на удивление гладко. Сперва я предложил детям поуправлять мной с помощью инструкций “влево, вправо, вперед, назад”. Потом мы выписали их на доску в виде программы. Цель была довести меня до определенной парты. Подебажили код, так как он далеко не сразу повел меня в нужное место. И приступили непосредственно к Scratch. Фон, герой, передвижение. А потом переменная скорости. У детей был буквально взрыв эмоций, кто-то вводил миллионы, кто-то наоборот затормаживал. Наиболее активные тут же догадались создать вторых персонажей, самостоятельно навесили код. Я не ожидал такого успеха.

    Обучение длилось две четверти. За это время мы попробовали с ребятами и code.org. Концепция коротких уроков-заданий конечно лучше ложится в школьную сетку уроков. Но уровень вовлеченности при создании “своих” вселенных в Scratch безусловно выше.

    Ниже промежуточные результаты с уроков.




    Следующим шагом было слегка расшириться на несколько школ и сформировать методику. Я прочитал доклады на РИТ и DevConf, по результатам к нам присоединились несколько человек с желанием преподавать. Договорились со школой 492 и детским социально-реабилитационным центром Отрадное. И ушли на летние каникулы.

    Планы

    Наша главная цель на пять лет — проникнуть в форме бесплатных уроков в максимальное число детских учреждений в РФ. Это могут быть как уроки проводимые волонтерами-преподавателями, так и экспериментальные уроки проводимые штатными преподавателями в основном учебном процессе.

    Для ее достижения мы выделили несколько направлений:
    1. Формирование волонтерской системы и развитие бесплатных уроков в детских учреждениях.
    2. Разработка онлайн-платформы, которая будет содержать готовые интерактивные уроки с автоматическим отслеживанием уровня успеваемости конкретного ученика и поможет нам доносить нашу методику проще и быстрее.
    3. Попробовать платные углубленные курсы для старшеклассников.

    Наш сайт все еще находится в разработке. Из публичных контактов пока доступен этот блог и группы в facebook и vk. В этом же блоге мы будем освещать все аспекты детского STEM-образования. От обзора инструментов и процессов до опыта реальных уроков.

    Если у кого-то сформируется желание помочь в развитии проекта, мы будем только рады.
    Кодабра 26,40
    Учим детей программировать игры
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 30
    • +10
      Где вы были в моем детстве…
      • +1
        Интересно, на фотографии, макбуки детей или собственность школы.

        А в целом по статье, вспоминая свое детство и глядя на ребенка, прихожу к выводу, что все же лучше поздно, чем никогда )
        • 0
          Собственность школы. Я честно сам в шоке был. Когда услышал про них, подумал: «ну там поди старые маки, в пластиковом корпусе». А оказалось 20 свеженьких макбуков у начальной школы! Даже не основной компьютерный класс. И эта школа с профилем на иностранные языки. Впрочем позже я перестал удивляться, у многих школ и детских домов Москвы достаточно спонсоров, чтобы присутствовало современное оборудование.
          • +7
            Ключевое слово «Москвы».
            Несколько знакомых молодых учителей перебирались в Москву за длинным рублем, все довольны… эххх, ну да это уже другая история
            по теме:
            большое дело делаете, параллельно онлайн обучением не думаете заниматься?
            • 0
              Думаем. Хочется платформу с короткими уроками готовыми. Так и преподавателям проще и конкретных учеников трекить можно.
            • 0
              В нашей школе старые пластиковые как раз (беленькие которые). По-моему после 2009го такие не выпускались. Но ничего, шуршат потихоньку…
          • +12
            Вспоминается…

            • 0
              Ага! И мне вспоминается. Но нужно отдать должное — сегодняшние инструменты покомфортней :)
            • 0
              А какую вы программу хотите предложите для старших классов?
              • +2
                Детально мы еще не прорабатывали. Но планируем ориентацию на проектное обучение в сферах web & mobile. Создание онлайн-игр, мобильных приложений и т.д. python, ruby, js, objective c / swift и т.д.
                • +1
                  Посмотрите в сторону конструкторов игр\приложений от Clickteam. У них визуальные конструкторы — размещаем объекты на сцене, описываем логику с помощью событий. Соотношение результата к требуемым усилиям для простых проектов просто фантастическое. Увы, последние лет 5 не участвую в жизни сообщества, но они активно развиваются и поддерживают массу платформ, в том числе мобильные, приставки и HTML5.
              • +2
                А можете дать сценарии конкретных игр, задания?
                А то я со средней дочкой занимаюсь, а идей, что писать — мало
                • +4
                  Мы только готовим инструкции уроков из пройденных материалов, будут доступны в середине сентября. Если владете английским можно брать проекты английских коллег.
                  • 0
                    О! Спасибо!
                    • 0
                      Я, вместе с Антоном Семенцовым и Юлией Торгашевой, начал переводить проекты английских коллег
                      habrahabr.ru/post/211877/
                      Перевели 6 занятий из первого семестра
                      github.com/CodeClub/scratch-curriculum/tree/master/ru-RU/Term%201

                      У меня дело застопорилось, так как мои кружки под давлением администрации прикрыли, может, с нового учебного года продолжу перевод.
                      Ну а если кто хочет продолжить перевод — то будет здорово. Желательно отметиться тогда в файлике общем, чтобы пересечений перевода не было
                      docs.google.com/spreadsheet/ccc?key=0Au7Uz9I0zi4xdE1uSk52V2NueHUyazh1TlJFUTE4ZXc&usp=sharing

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

                      У меня есть так же желание помочь вашему, Дмитрий, проекту, чем смогу.
                      • 0
                        Павел, а расскажите про ваш перевод.
                        Я правильно понимаю, что проект загнулся, а то, что сделано посмотреть до окончания всего перевода невозможно?
                        • 0
                          Да нет, просто дальше пока не переводили, продолжить можно в любой момент, и переведенные можно посмотреть в любой момент.
                          github.com/CodeClub/scratch-curriculum/tree/master/ru-RU/Term%201
                          Вот по этой ссылке можно посмотреть, распечатать и пройти занятия, переведенные на текущий момент.
                          И любой может продолжить перевод.
                          Вот я вижу по файлу, что Дмитрий Малыгин взял перевести оставшиеся темы, так что я думаю закончим в разумное время.
                          • 0
                            Понял, я просто побоялся тыкать в .md файлы, как незнакомые — не знаком я с Git' ом
                            Не хочу хаять, но перевод неважнецкий, к сожалению. То есть, я понимаю, что это просто перевод, именно так в английском оригинале, но для детей он не пойдет — надо обрабатывать — и литературно и методически. А это все не пять минут. Пичалька.
                            С другой стороны — как воркбук для преподавателя — вполне. Так что правильным курсом идете, товарищи.
                            • 0
                              Чукча не писатель, как говориться :)
                              Работа открытая и безвозмездная, можно присоединяться и помогать, обрабатывать :)

                              Я экспериментировал на своих, можно просто детям давать распечатки и отвечать на возникающие вопросы.
                        • 0
                          В принципе, теоретически можно продолжить переводить дальше, там еще есть веб и питон, третий и четвертый семестр обучения, но по питону и вебу, вроде, информации достаточно. Правда, тут интересная для детей игровая форма…

                          Еще я знаю, что Юлия Торгашева занималась книгой на русском по Скретчу. Надо поискать, как у неё дела.
                    • 0
                      Знакомы с классической книжкой Патаракина «Учимся готовить со Scratch?»
                      • 0
                        Спасибо! Сейчас просмотрел — это же учебник, да? Заданий там нет? У меня проблема именно задания придумывать
                    • +1
                      В моем детстве учили делать игры на qBasic.
                      • 0
                        Посмотрите в сторону Kodu, он бесплатный, а графикой и возможностями вполне может поразить
                        • 0
                          На Kodu смотрим, да. Но пока руки не дошли пробовать.
                        • +1
                          Здорово, молодцы.
                          Учитываете ли вы, что учителя в РФ активно используют Scratch — есть множество сетевых сообществ и отдельных энтузиастов, устраиваются всевозможные конкурсы, флешмобы и пр. В общем, Scratch (заслуженно) одна из самых востребованных софтин в обучении младших школьников.
                          Рекомендую выйти на них и учитывать их опыт.
                          Кстати, рад, что Вас тут в комментах сразу не затроллили — как правило, когда речь заходит об обучении визуальному программированию, народ сразу шашкой машет.
                          Ну, и небольшая ложка дегтя.
                          Посмотрел код некоторых примеров. Не уверен, что Вы учитываете возрастные особенности первоклашек (ведь уроки рассчитаны на 1-2 класс, да?). Например, используете координаты — соответственно, их надо вводить, объяснять, а сделать это для семилеток сложно. Рад, что Вы не столкнулись с этой проблемой. Значит, в вас дремлет педагог, ну, и дети хорошие попались.
                          С волонтерами будет сложнее. Это вообще, вопрос, правильно ли при обучении программированию детей начинать с волонтеров. Но это — отдельная дискуссия.
                          Второе, что заметил, в первом же уроке вводятся и случайные параметры, и переменные — ни фига себе, скорость освоения материала у ваших детей! Каша не получится?
                          Для тех, кто сейчас бросится забрасывать меня гнилыми помидорами, скажу, что я много лет учу первоклашек, а со скретчем знаком с момента его рождения в 2007 году.
                          • 0
                            Да, у нас есть контакты с нескольки учителями, которые сами scratch пробовали. И есть даже про snap (форк scratch от Беркли). Безусловно этот опыт ценен, мы стараемся со всеми общаться, не замыкаться и не строить велосипеды. Но я рад получить любой новый контакт, это все безумно интересно :)

                            Про пример с координатами — мальчик-вундеркинд. Я ему объяснил про отрицательные числа, так он врубился за минуту. Потом правда запасся пафосом и заявил на перемене своей однокласнице. «Хочешь делать игры? Не думаю… Там отрицательные числа. Тебе не понять» :) Но переменные и случайные параметры схватывает весь класс. Тут главное построить все от результата, чтобы они сперва видели что происходит, а потом у них интерес появляется как это изменить/усилить/уменьшить и они вникают.

                            Кстати, читал на днях публикацию от ярославских педагогов. Они на пиктомире учат детей с 5! лет, и у них хороший процент усваиваемости линейных конструкций, ветвлений, циклов и подпрограмм. Потрясающе!

                            • +1
                              Пиктомир терпеть ненавижу.
                              Нельзя учить на таком интерфейсе. Но идеи — да, там замечательные. И есть потрясающий опыт его использования в началке. У меня — не пошло. Скучно. И мне, и детям. Но в публикации по ссылке есть любопытные приемы. Спасибо за нее. Кстати, Пиктомир пропагандирует Анатолий Левенчук, известный в узких кругах (:-). Его идеи комплексного курса инженерии могут быть вам полезны.
                              А текст про координаты еще раз показал мне ваш уровень Браво!
                              Очень рад, что в школу приходят такие энтузиасты. Снимаю все свои подозрения про волонтеров. (:-)
                          • +1
                            Да, кстати, ваши правила уроков программирования для малышей — блеск. Как говорится, стоят многих томов.

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

                            Самое читаемое