Python для детей
До того, как стать преподавателем в университете, я вёл программирование в детском технопарке Кванториум. Это такой центр дополнительного школьного образования куда дети приходили после уроков и изучали программирование, робототехнику, биологию и т.д. Конкретно я вёл занятия по Python, C++ и Arduino.
Программирование на Python отлично заходило детям, к тому же именно Python сейчас изучают в школе на уроках информатики. Он практически полностью вытеснил Pascal т.к. не уступает ему в простоте, а возможностей сделать разные интересные проекты гораздо больше. Поэтому вопрос как лучше изучать Python ребёнку актуален не только для родителей, но и для самих детей.
В этой статье я порекомендую книги, сайты и видео для эффективного изучения Python.
Материалов, специализированных для изучения Python детьми, много, но я расскажу про те, которые считаю лучшими, и которые лично сам использовал на реальной практике при работе со школьниками. Кроме того, у меня два профильных образования:
программист (09.03.01 Информатика и вычислительная техника) в бакалавриате;
педагог (44.04.04 Профессиональное обучение) магистратура.
Поэтому хоть что-то в этой теме я, наверное, знаю. Вспоминает школьные годы автор YouTube-канала PyLounge — Макс. Поехали!
Возраст
Для начала скажу пару слов про подходящий возраст для изучения программирования. У нас в Кванториуме обучались дети от 10 до 18 лет и по опыту работы мне кажется, что самый подходящий возраст для изучения программирования от 12 лет.
Поэтому ресурсы из этой подборки ориентированы, условно, на детей от 12 до 16 лет. Хотя повторюсь, всё условно, все люди разные, кто-то лучше воспринимает информацию кто-то хуже, но в среднем будем ориентироваться так.
Я считаю, что лучшим средством для изучения программирования являются книги, поэтому начнём с них.
Книги
И первая книга в списке — Python для детей. Самоучитель по программированию / Джейсон Бриггс.
Хорошая, красочная книга, где поэтапно разбираются все основные темы по Python. Дополнительно разбираются библиотеки tkinter для создания графических программ и turtle, которая предназначена для рисования геометрических фигур и анимации. Это помогает в наглядной игровой форме осваивать возможности Python и базу языка. Нет как таковой воды, много примеров кода, картинок. Кроме того, есть упражнения после каждой темы, а во 2 и 3 частях книги идёт разработка 2-х мини-проектов по созданию игр на Python. Фундаментальные темы, такие как циклы, условия, функции объясняются сразу с созданием каких-то интересных графических штук из turtle. Детям обычно очень нравится. И читать книгу не скучно. Из всей подборки — это моя любимая книга.
Далее на очереди Пэйн Брайсон Python для детей и родителей.
Тоже очень понятная и красочная книга. Где также как в случае с Бриггсом поэтапно освещаются все необходимые темы. Также есть материал по черепашьей графике turtle. Но вместо библиотеки tkinter, рассматривается библиотека для разработки игр Pygame. Материал преподносится на практике и в игровой форме. Есть упражнения после каждой главы. Я скажу так, она плюс-минус равносильно предыдущей. Стоит попробовать почитать обе и выбрать ту, в которой больше понравится изложение материала.
Свейгарт Эл Учим Python делая крутые игры.
Особенность этой книги заключается в том, что все базовые темы тут разбираются сразу на примере создания каких-то мини-игр. Например, объяснение циклов и случайных чисел происходит в ходе создания игры «Угадай число», функции попадают в «Царство драконов» и т.д. В конце главы нет упражнений, но каждая тема подаётся в виде разработки игры, поэтому каждая тема является своего рода мини-проектом. Также рассматривается библиотека Pygame и создание анимации. Она чуть менее красочная, меньше иллюстраций, но компенсируется это большим количеством кода. Стоит попробовать, как минимум посмотреть, как заходит материал.
Программируем с Minecraft. Создай свой мир с помощью Python / Крэйг Ричардсон
Необычная книга тем, что изучение программирования на Python идёт через мир в Minecraft! То есть ты пишешь код на Python, который сразу же вносит какие-то изменения в игру: создаются постройки, происходит телепортация игрока, изменение ландшафта и т.д. Вы изучаете тему и сразу применяете полученные знания на практике, пишите код, который как-то затрагивает игровой мир. Это очень интересный и что самое главное эффективный формат изучения именно для детей. Вообще Minecraft часто применяется в образовательном процессе. Есть даже отдельная версия, которая называется Mineсraft Education Edition.
Однако многие родители боятся, что вот он будет только играться, а не учиться. Это далеко не так. Тебе интересно учиться только когда ты видишь результат своей учёбы. Когда ты прикладываешь полученные знания на практике. А Minecraft позволяет прикладывать эти знания в знакомом и любимом для ребёнка мире. Детям проще учиться через игры, есть даже куча педагогических методик, завязанных на играх. Поэтому изучать программирование в игровой форме или через создание игр мысль неплохая.
Сайты
Сайт PythonWorld покрывает все необходимые темы, но при этом там нет воды, теория изложена максимально кратко и понятно, есть много примеров кода. Поэтому ребёнку читать будет как минимум не скучно. А ещё его можно использовать как справочник для повторения тем. Кроме того, там много отдельных статей и тематических уроков, например, по работе с графикой, созданию игр и т.д.
Самоучитель Python c Python World
Второй сайт, на который я хотел бы обратить внимание, это Django Girls Tutorial. Это набор последовательных уроков по ходу выполнения которых вы создаёте сайт на Python и фреймворке Django. Это самый сложный материал в подборке, но я решил добавить его, потому что там хорошо изложены основы языка, а также всё изучение идёт на практике, а это всегда интересно. Кроме того, можно будет ещё и освоить дополнительно язык разметки веб страниц HTML и язык стилизации страниц CSS.
Самоучитель djangogirls
Видеоролики
И закрывает подборку ресурсов плейлисты на YouTube.
Первый плейлист это Уроки Python для начинающих от Гоши Дударя с канала ItProger и его же плейлист по созданию игры с помощью Python и библиотеки PyGame.
Можно по-разному относиться творчеству Гоши, но он действительно хорошо объясняет базовые вещи, плюс во втором плейлисте упор делается именно на создание игры, а как мы поняли, это всегда интересно.
Я предложил несколько различных ресурсов для изучения Python. Выбирайте именно тот формат, который больше нравится именно вам. Когда освоите сам язык можно переходить к различным дополнительным инструментам. Например, фреймворку для создания сайтов Django, библиотеке для компьютерного зрения OpenCV, или модулю aiogram для создания telegram-ботов. Спасибо за внимание!