В начале этого года я написал пост про то, как открыл в московской школе бесплатный кружок по программированию для детей. Прошел учебный год (уже и лето прошло, а я всё никак статью не напишу) и я хочу поделиться своим опытом и впечатлениями.
В комментариях к прошлому посту было много полезных советов. Большое спасибо всем за интересные мысли. Кое-что мне удалось применить на практике. Дальше я расскажу про моменты, на которые я обратил внимание при проведении занятий.
Проблема со временем
Отсутствие должного количества времени и мое неумение им грамотно распоряжаться — основная проблема в организации кружка.
Следствие номер раз: нет времени — нет качественного материала. Были еще идеи, но постоянно не успевал.
Следствие номер два: мало занятий — мало успели. До начала занятий большинство ребят не умели программировать. За учебный год мне удалось провести лишь 19 занятий по 1 часу. За это время изучили основы Питона, плюс некоторые мелочи за пределами конкретного языка программирования. Т.к. как хотелось успеть пройтись по всей составленной программе, теории было больше, чем практики. В результате информация плохо приживалась.
Игры и награды
В комментариях прошлого моего поста mmvds рассказал, что его преподаватель давал сникерсы и доллары за определенные успехи ребят. Мне понравилась идея с долларами. Я купил 5x1 баксов, подготовил интересных загадок и побежал на занятие. Там я объявил условия, но на этом пришлось остановиться. Учительница информатики, которая должна сидеть со мной на занятиях, оказалась против раздачи денег. Сказала, что лучше посоветоваться с директором. В этот день раздачи призов не было. Директор потом тоже дала отрицательный ответ. В итоге пришлось перейти на съедобное. Тем не менее, раздача призов за хорошие ответы подстегивала ребят и приносила свою пользу.
Raspberry Pi
Чтобы как-то разнообразить занятия, я купил Raspberry Pi, макетку и светодиоды и стал придумывать, как ребята могут управлять этими светодиодами. В процессе придумывания мне попалась статья про светодиодную RGB-ленту. Тогда я выкинул макетку и светодиоды, заказал всё, что надо у китайцев и сделал на коленке вот такой чудо-ящик:
Это была самая интересная часть занятий. Дети вели себя особенно активно и им явно нравилось. Научились подключаться по ssh/писать в файлы/познакомились с цветовой моделью RGB. Было интересно. Управление реальными штуками через свои программы — это круто.
Черепашка
Когда я им показал черепашку, у них загорелись огоньки в глазах, т.к. они проходили это в школьной программе и в памяти остались алгоритмы управления черепашкой. Все сразу принялись показывать, кто во что горазд.
Ведение записей
Дети обязательно должны вести записи, но всем лень писать и я позволил себе слабость отказаться от ведения записей на занятиях, за что и поплатился — они забывали какие-то вещи и не было источника для восстановления памяти.
Индивидуальный подход
Очень важно следить за каждым. Есть категория ребят, которые, когда что-то не понимают, считают, что лучше не высовываться. Много времени на занятиях приходилось тратить на то, чтобы подходить лично и всё объяснять.
Материал для подготовки
Собирал по крупицам из разных источников. Иногда прибегал к книге Mark Lutz — Learning Python. Книга Python for Kids оказалось достаточно полезной. Если кому-то будет интересно, вот мои презентации с занятий.
Я не знал Питон до открытия кружка и отсутствие знания языка иногда давало о себе знать. Дети задают вопросы и если бы не опыт с другими языками, то пришлось бы сложно.
Посещаемость
Почти все ребята имели пропуски по занятиям. Кто-то болел, кто-то с родителями в отпусках, кто-то еще как-то. Особенно ощущались пропуски на сопредельных с каникулами днях. Учеников было меньше, а материал должны знать все, иначе дальше двигаться сложно. Требовалось это как-то учитывать. Давал в такие дни больше практики.
Логические задачи
В конце каждого занятия я давал ребятам на дом логические загадки. Они всегда воспринимались с интересом, иногда мы их вместе решали и обсуждали.
Планы
С самого начала ходило 15 человек, из них до конца осталось 11. Думаю, что не всё так плохо. Я хочу продолжить. Вдохновившись книгой Ж. Арсака «Программирование игр и головоломок», я решил в этом году сделать кружок по одноименной тематике. Надеюсь, ребята, которые занимались со мной в прошлом году останутся, плюс хочу добрать новых ребят, которые уже умеют немного программировать.
На этот раз решил, что не буду открывать набор до тех пор, пока не подготовлю основную часть учебного материала, чтобы больше не получилось так, что я в последние часы перед занятиями пытаюсь насобирать материал на лекцию. Материал должен быть качественным и проработанным.
Будет введен контроль успеваемости, т.к. это однозначно мотивирует. Так же постараюсь придумывать домашние задания — не трудоемкие, но вмещающие в себя изученный материал. А еще обязательно должны вестись хоть какие-то конспекты.
В качестве языка программирования я решил оставить Python. Меня всё устраивает.
P.S. Если у вас, уважаемые читатели, есть информация об интересном материале по тематике программирования игр и головоломок, буду весьма признателен.
Автор: shurik2533