Начинаем серию публикаций о том, как профессиональные разработчики учат своих детей программировать.
С одной стороны, здесь собраны краткие и практически пошаговые руководства по обучению детей программированию. С другой - обычные жизненные истории о взаимоотношениях детей и родителей, размышления об особенностях детского восприятия мира.
Мы в IT-Академии Алексея Сухорукова не занимаемся детским обучением, но у нас и наших преподавателей есть много интересного и познавательного на эту тему. Однако начать мы решили с западного опыта. В этой серии статей профессиональные разработчики и основатели стартапов рассказывают о том, как обучали своих маленьких (иногда совсем маленьких!) детей кодированию.
Как мой четырехлетний сын изучал Python
Мэтт Лернер (Matt Lerner), VP Product & Design @redfin, co-founder of @walkscore
Я хотел научить своих детей программированию, потому что это отличное мастерство и мощный способ мышления. Мои дети проводили много времени за игрой в Angry Birds на моем iPhone, и я решил, что пришло время им заглянуть за занавеску и узнать, как работает программирование. Итак, вот вам мои советы. Они целиком и полностью взяты из личного опыта и пригодятся вам независимо от того, кто вы - хардкор-программист или человек, который вообще не имел дела с кодом до этого.
Совет №1. Начинайте с элементарного
Когда моему сыну Сай было четыре года, мы уже начали пользоваться программами по созданию логотипов на iPad (Mad Logo) и делать анимации, используя язык программирования для детей Scratch. Но я хотел, что бы сын заглянул вовнутрь, и придумал некоторые уловки, которые бы смогли увлечь его программированием на Python. Этот язык достаточно простой, чтобы ребенок мог его понять и при этом достаточно мощный, чтобы реализовать все идеи, которые приходят мне в голову и за которые мне платят хорошую зарплату.
Совет №2. Переходите на Python.
Вы знаете, что Python уже установлен на вашем макбуке? Вам достаточно открыть окно терминала и ввести python для запуска (для выхода нужно нажать ctrl+d). Все, что вам нужно, чтобы запустить Python и начать на нем программировать, есть вот в этом руководстве.
Совет №3. Говорите с компьютером.
Для того, чтобы ребенок обратил внимание, у меня есть специальный лайфхак. Заставьте компьютер говорить! Если у вас макбук, то просто откройте окно терминала и введите команду “приветствовать”. Компьютер ответит “привет”. Разве не магия?
Совет №4. Поиграйте в игру с угадыванием числа на Python.
Чтобы запустить эту программу:
- Загрузите исходный код
- Откройте окно терминала
- Введите cd Downloads
- Введите python mathquiz.py (и проверьте, включен ли у вас звук)
Это настоящая игра с угадыванием. Мой сын Сай сначала любил просто играть в нее, но потом мы изучили каждую строчку кода, чтобы понять, как она работает.
Откройте этот файл с помощью текстового редактора и попробуйте изменить max_number на 100.
Совет №5. Все остальное вы легко найдете в интернете.
Представьте, что вы хотите научить ребенка чему-то сложному. Допустим, рекурсии. Помните, что это такое? Я помнил, но, черт возьми, меня очень интересовало - как я могу объяснить ребенку что-то действительно сложное (такое, как рекурсия)? Я использовал отличное из Khan Academy, которое доступно рассказывает о рекурсивной факториальной программе.
Вот код, который мы использовали с моим сыном. Тогда ему было уже 6 лет, и я думаю, что он был слишком юн, чтобы понять рекурсию, но ему очень нравилось смотреть, как компьютер делает действительно большие факториалы.
Я уверен, что есть шестилетние дети, уже заработавшие миллионы долларов на игре для iPhone, которую они написали сами. Но мои дети не начали писать какие-то собственные программы. На самом деле, я даже не уверен, что им интересно программирование!
Однако, благодаря этим упражнениям, мой сын Сай увлекся факториалами и, самое главное, увидел, что программирование - это то, что может абсолютно каждый. Советую вам Code.org - там много материалов для эффективного обучения программированию.
В IT-Академии Алексея Сухорукова представлены самые востребованные на сегодняшний день образовательные курсы, после прохождения которых можно с нуля получить новую IT-профессию даже гуманитариям.