Олег Хейфец

Директор по продукту, сооснователь школы программирования для детей Kodland.

Расскажем по порядку, с чего начать обучение, как выбирать учебники и что поможет не потерять мотивацию.

Определиться с целью

Прежде чем искать уроки с заголовком «Программирование для детей», родителям важно узнать, чем ребёнок хочет заниматься. Чаще всего дети мечтают создавать игры, но встречаются подростки, фанатеющие от крутых сайтов, роботов или сервисов Google.

В зависимости от цели подбирается нужный язык программирования. Среди тысяч наименований востребованными сегодня остаются около 50. Одни языки заточены под определённые задачи, другие — универсальны. Например, Swift служит для создания iOS‑приложений, когда как на Python разрабатываются как игры, так и искусственный интеллект.

Чтобы собрать рекомендации, я опросил 70 преподавателей нашей школы — выпускников технических вузов и сотрудников международных компаний. Наиболее популярными, универсальными и простыми в освоении оказались Python и JavaScript. Благодаря первому обновили World of Tanks и YouTube, а второй подарил нам Netflix и Ам Няма из Cut the Rope. Не будет ошибкой, если подросток осознанно решится изучить Java, C или C++, однако они более требовательны к ученику и сложны в освоении. Я рекомендую приступать к ним после получения базовых знаний на интуитивно понятных языках.

Детям до 11 лет часто предлагают начинать кодить через Scratch. Интерактивный интерфейс и простота в освоении призваны прежде всего заинтересовать ребёнка миром программирования, а не сделать из него специалиста. На Scratch создаются только простенькие проекты — небольшие игры и анимация. Однако это хорошая стартовая площадка, чтобы затем перейти к освоению Python и JavaScript.

Учить английский

Если подросток сидит на YouTube или в Twitch и зависает в Dota 2, то, скорее всего, он уже имеет базовые представления об английском. Общение с иностранными игроками по Сети и просмотр видео от зарубежных пользователей мотивируют изучать язык сильнее пятёрки в дневнике. Не удивляйтесь: онлайн‑игры — отличное дополнение к урокам английского в школе. Родители могут воспользоваться моментом и предложить ребёнку занятия с репетитором, лингвистический сервис или хороший учебник.

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

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

Найти ментора

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

Другое дело — стать полноценным специалистом.

Учитывая возраст, увлечения и школьные уроки, самостоятельное изучение алгоритмов и инструментов — непростое занятие даже для амбициозного подростка.

Легче всего составить список ресурсов для самообразования и надеяться, что подросток будет исправно заниматься. По факту же большинство сохранят ссылки в закладки и забудут про них. К сожалению, безграничное количество бесплатного контента заставило людей прокрастинировать: всё полезное и бесплатное откладывается на потом. По статистике, только 3–5% Плюсы и минусы массовых онлайн‑курсов студентов открытых онлайн‑курсов оканчивают их.

Другой важный момент — во время учёбы постоянно возникают вопросы: почему код выдаёт ошибку, какой именно учебник выбрать, что изучить следом. В огромном объёме информации в Сети ребёнок запросто запутается.

На помощь приходят частные школы и педагоги. Оба варианта дадут ученикам самое важное: продуманную образовательную программу и менторскую поддержку. Частные школы обходятся дороже, но предлагают проверенный учебный курс, коллаборативную работу и различные сервисы. Родители могут также найти частного преподавателя: занятия со студентом технического вуза или Junior‑программистом заметно ускорят темп обучения. Педагог станет проводником, указывающим верное направление в поисках знаний. А главное — ребёнок не потеряет мотивацию продолжать учиться.

Использовать полезные ресурсы

Чтобы начать писать код, не нужны дорогостоящие и «тяжёлые» программы. Часть разработчиков использует Sublime Text. Это удобный текстовый редактор с поддержкой множества плагинов. У него есть бесплатная версия. Позже ребёнок сможет выбрать инструмент под себя, аналогов великое множество: от Notepad++ и Visual Studio Code до стандартного «Блокнота».

Также порекомендуем книги, каналы и курсы, качество которых проверено на личном опыте.

Учебники

Перед покупкой книг обратите внимание на дату выпуска. Несмотря на неизменность основных понятий, языки программирования постоянно обновляются. Выбирайте учебники поновее и следите за актуальными версиями языков в интернете — на специализированных сайтах или вбивая запрос в поисковик.

1. «Scratch 3 для юных программистов», Денис Голиков

Детям до 12 лет проще начать кодить через Scratch. Красочный и понятный учебник Голикова — отличный проводник для создания первых игр и анимаций.

2. «HTML и CSS. Разработка и дизайн веб‑сайтов», Джон Дакетт

Путь к программированию подростку проще начать с HTML и CSS. Несмотря на то что это не языки программирования, изучение разметки поможет понять строение сайтов и облегчит освоение Python и JavaScript в дальнейшем. Учебник Джона Дакетта наполнен понятными примерами и практическими иллюстрациями.

3. «Python для детей. Самоучитель по программированию», Джейсон Бриггс

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

4. «Изучаем программирование на JavaScript», Эрик Фримен, Элизабет Робсон

Простое изложение и понятная структура обеспечили этой книге место на полках множества программистов. Пусть ребёнка не пугает внушительный объём (600 страниц!). Книга насыщена иллюстрациями, примерами и графикой, а содержание охватывает всё необходимое для старта разработки на JavaScript.

Сайты

1. Code.org

Бесплатные интерактивные занятия в браузере. Это благотворительный проект с рубрикой «Час кода» (Code Break), в рамках которой предлагаются мини‑уроки, задания и челленджи для учеников любого возраста и уровня знаний.

2. freeCodeCamp

Более 6 000 бесплатных уроков. К сожалению, сервис работает только на английском.

3. Invent with Python

Бесплатная библиотека Аля Свейгарта. Здесь есть учебники по основам Python и Scratch, созданию игр, а также практические видеокурсы. Материалы доступны на английском языке, но часть книг переведена на русский, их можно найти через поисковик.

4. CodeCombat

Интерактивные занятия, посвящённые Python и JavaScript, а также основам информатики. Благодаря геймификации обучение проходит легко и увлекательно.

Курсы

1. YouTube‑канал Sentdex

Более 1 000 видео на тему Python‑разработки, включая создание проектов в реальном времени.

2. Программирование на Python от Института биоинформатики

Бесплатный курс на платформе Stepik по основам языка Python. Содержит 28 уроков с практическими заданиями от сильных педагогов.

3. JavaScript — основы и функции

Курс от разработчиков «Яндекса» на Coursera. Понятные и простые лекции, посвящённые языку JavaScript. Практические и тренировочные занятия помогут начинающим создать свои первые программы и библиотеки. Курс рассчитан на 5 недель с постоянным доступом к видеоматериалам.


В качестве заключения предлагаем чек‑лист, который поможет начать обучение:

  1. Узнайте, что хочет ребёнок. Программирование охватывает множество направлений: от создания игр до разработки роботов.
  2. Отталкиваясь от цели, выберите язык программирования. Подросткам мы советуем начинать с Python и JavaScript. Дети до 11 лет могут попробовать свои силы в Scratch, а позже перейти ко «взрослым» языкам.
  3. Параллельно с изучением программирования подтяните английский. Вовсе не обязательно становиться лингвистом с исключительной грамотностью, однако понимание текста в учебниках и лекций на иностранном языке заметно ускорит обучение.
  4. Выберите частную школу или педагога. Ментор посоветует юному программисту подходящий учебник, укажет на ошибки и поможет самостоятельно получать знания без потери мотивации.
  5. Выбирайте литературу посвежее. Следите за обновлениями изданий и языков программирования.
  6. Вступите в сообщество. Обучаться в команде проще и веселее, чем работать «в стол». Ребёнок будет более мотивирован, делясь результатами со сверстниками.