Как я обучал ребенка программированию

Моему сыну Борису 11 лет, и я подумал уже пора обучать его программингу. Программирование, это самая перспективная и интересная профессия, полагаю что все с этим согласятся :). В общем решил мозг ребенка надо к этому готовить заранее.

Слушая еженедельный подкаст Ruby Rogues я узнал что есть такая клевая программа Sonic Pi, которая специально разработана для обучения детей программирования через музыку. То есть ребенок пишет музыку по средствам программирования. По себе знаю, как это скучно программировать если сразу не видишь результата. Поэтому этот подход очень клевый.

Узнав про Sonic Pi, я узнал что есть такой классный девайс Raspberry Pi 2 - это мини-компьютер, который стоит $35, но достаточно мощный чтобы на нем можно было программировать, как никак в нем 1 Гиг оперативы 4 ядра по 900 Мг каждое, это мощнее чем некогда легендарный Pentium 3. И все это размером с банковскую карту.

Raspberry Pi 2

В общем на Raspberry ставится дистриб линукса NOOBS с GUI, подключается к нему монитор по hdmi, клавиатура, мышь и можно работать.

Подключение перефирии

Запуск

Все это делается достаточно просто. Небольшая сложность может быть в заливке дистрибутива на micro SD-карту (рекомендуется покупать на 32 Гб, 10 класса). С одной картой у меня была проблема, на Transcend 16 Гб не получилось установить NOOBS. Есть еще вариант приобрести подготовленную карту с дистрибутивом, тогда результат гарантирован и мучиться не надо.

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

Scratch - это приложение в которой можно добавлять картинки с персонажами, привязывать персонажей к кнопкам и управлять ими, можно добавлять музыку (например, кошка мяукает), можно добавлять события (например если два персонажа встретились то один умирает). Это приложение помогает детям понять что такое алгоритм в программировании. Мой сын с удовольствием просидел один вечер, делая свою игру, в которой один персонаж мог бить другого и у него при этом появлялась рана.

Scratch

Sonic Pi - обучение программированию через написание музыки. Очень клевое приложение (которое, кстати доступно и на Mac и на Windows). Я сам с удовольствием просидел несколько вечеров сочиняя музыку :). В общем любой программист может почувствовать себя композитором!

Sonic Pi

Minecraft + Python - очень интересное для детей занятие делать всякие штуки на питоне для майнкрафта. Наверное все знают, какая мегапопулярная в детском мире игра Minecraft. Я до сих пор не могу понять, что в ней такого интересного. Но половина учеников 4-го класса, где у меня учится сын играли в неё. Боря даже свой сервер делал чтобы играть с одноклассниками. Возможность сделать что-то для этой игры может здорово мотивировать детей разобраться в программировании на питоне, который кстати достаточно простой.

Minecraft Rasberry Pi

В один вечер мы с Борей сделали фотобудку (https://www.raspberrypi.org/learning/minecraft-photobooth/) - это когда ты заходишь в будку в майнкрафте и включается камера, подключенная к Raspberry Pi, камера фотографирует.

В другой день сделали игру "Рубани блок". В майнкрафте делается стена 3 на 3 кубика. И кубики загараются цветом рандомным образом. Нужно их рубануть мечем, чтобы они погасли. Если все кубики загорятся, то ты проигрываешь. Мега простая игра, но зато сделанная самостоятельно и в майнкрафте. Плюс там можно менять параметры скорости. В общем пацаны рубились полчаса :). Знаний особых не требуется есть очень хороший туториал - https://www.raspberrypi.org/learning/minecraft-whac-a-block-game/

Есть еще много прикольных штук, которые можно делать с Raspberry - https://www.raspberrypi.org/resources/make/ , одно из того что хочу сделать с сыном в ближайшее время - это бибикающий робот с антенной. Говорят это очень весело когда ты через софт может контроллировать железо, элементарное мигание светодиодов доставляет огромное удовольствие. Но для начала нужно закупиться: приобрести светодиод, резистор и джампер.

Будущий робот