Pull to refresh
EPAM
Компания для карьерного и профессионального роста

Есть ли жизнь после Scratch, или как познакомить ребёнка с Python

Reading time5 min
Views13K
У нас в EPAM работает школа программирования для детей сотрудников — e-kids. В школе волонтёры-сотрудники учат детей работать со Scratch — визуальной средой программирования, созданной специально для обучения детей и подростков. Но всегда рано или поздно наступает момент, когда Scratch уже становится детям не интересен.

Путём проб и ошибок нашим учителям удалось найти способ, как развивать детей дальше, чему учить, чтобы они при этом не потеряли интерес к программированию из-за слишком сложных задач. Так в e-kids стали обучать более сложному языку программирования — Python. В этой статье я собрала полезную информацию от коллег, кто преподает в школе, о том, как детей познакомить c Python.



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

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

При выборе языка стоит обратить внимание не только на опыт детей, но и на их возраст. По опыту преподавателей e-kids, минимальный возраст детей для того, чтобы предлагать им писать код, 11-12 лет.

Подготовка к обучению


Почему Python?
У Python несложный синтаксис и большое сообщество. Если у ребенка возникнут сложности с решением, можно легко найти ответ в интернете. А также есть множество внешних источников, задач, ресурсов, которые можно использовать для самостоятельного изучения.

Программы-помощники


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

  • Code.org — сервис содержит готовые задачи и описание, как их решить. Эти задачи могут быть разделены по категориям по операторам, циклам, функциям и т.д.
  • CodeCademy предоставляет возможность написания кода, используя вторую или третью версию языка Python, с задачами в виде интерактивного учебника. Его ребенок может использовать для самообучения.
  • Code Combat — очень интересный сервис, он представляет собой RPG игру, где все действия персонажа описываются кодом. Это валидный код на Python, где есть условия, работа с объектами и многое другое. Его удобно использовать, чтобы аккуратно перейти от Scratch к Python в игровой форме.
  • Kahoot — этот сервис немного выделятся на фоне остальных, поскольку к Python не имеет никакого отношения, но это очень замечательный сервис, чтобы вспомнить, что было на прошлом занятии. Kahoot можно использовать в начале каждого занятия для того, чтобы дети вспомнили ключевые слова, подходы, технологии, о которых говорили ранее. Он позволяет создавать список вопросов и варианты ответов. К тому же есть мобильное приложение, которое подключается к викторине, поэтому дети могут отвечать с телефонов.

Все они на английском языке, но зато бесплатные.

Книги-помощники


Из всего разнообразия книг учителя e-kids рекомендуют эти:

  • Python для детей.Самоучитель по программированию, Бриггс Джейсон.
  • Программирование для детей на языке Python, Луи Стоуэлл.

Обе книги написаны понятным для детей языком. Плюс они содержат очень интересные задания.

Нужна или не нужна интегрированная среда разработки (Integrated Development Environment, IDE)?
IDE облегчает жизнь, она подсвечивает синтаксис, исправляет ошибки и автоматически дополняет ключевые слова, плюс помогает в подготовке окружения, которое не будет мешать установленному Python. Можно, например, использовать PyCharm 2018.2.4 (Community Edition) — это бесплатная IDE.

Console vs Graphics


Все привыкли «Hello, world» обычно вводить в консоль, но когда дети видят консоль, они сразу впадают в уныние.



Поэтому лучше использовать такие библиотеки, как Turtle и Tkinter. Обе входят в стандартный дистрибутив Python и не требуют дополнительной установки. Детям будет проще переходить на Python через эти библиотеки, потому что многие методы повторяют блоки в Scratch.



Turtle легко кастомизируется: фон можно заменить на картинку комнаты, а черепашку — на другого персонажа.



Библиотека Tkinter, в свою очередь, позволяет писать оконные приложения, она уже содержит много примитивов с переключателями кнопок, выключателями, флагами, меню и т.д. Так, совместив Turtle и Tkinter, уже можно написать простейшую игру.

Как написать игру на Python


Покажу на примере, как проходило знакомство детей с Python на уроках в e-kids.

  1. Сперва детей знакомили с Code Combat. Здесь персонаж может ходить по карте, собирать кристаллы, уворачиваться от врагов с помощью кода. Это простая игра, но при этом дети уже писали куски кода, и главное, сразу могли видеть, на что это влияет.
  2. Затем знакомили детей с «черепашкой». Они учили её ходить, писать, рисовали разные фракталы.
  3. После чего мы попробовали превратить блоки Scratch в код на Python.

Например, Scratch-котик был описан функцией addHero с картинкой, которая передавалась в качестве аргумента к этой функции.



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

Таким образом, комбинируя эти блоки, дети уже могли написать игру, похожую на те, которые они разрабатывали на Scratch. Часть блоков уже есть в библиотеке Turtle, какие-то дописывали сами.

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



В отдельном блоке у нас была описана логика – персонаж собирает мусор, если он находится близко к мусору, он говорит какую-то фразу. Это очень напоминает то, как описывается логика персонажа в Scratch. Там тоже можно открыть персонажа и добавить какие-то блоки поведения, после чего персонаж оживал.



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

Путь проб и ошибок


Некоторые вместо Python выбирают JavaScript или Java. На одном из курсов e-kids преподаватели решили попробовать разобрать работу с Flask — фреймворком для создания веб-приложений на языке Python, но эта затея потерпела крушение. Задачи стояли слишком амбициозные: показать, как создавать сайт с блогом, галереей и гостевой книгой. Хоть структура всех этих компонентов и была похожая, казалось бы, дети могли просто поменять что-то в блоге и сделать галерею, например. Но учителя столкнулись с кучей проблем:

  • Выяснили, что детям сложно объяснить, что такое фреймворки в принципе. Более того, оказалось, это сложно объяснить даже некоторым взрослым.
  • Детям приходилось работать с большим количеством файлов, в итоге они путались, куда что вставлять.
  • Высокий входной барьер. Чтобы объяснить, как построить такое веб-приложение, дети должны были знать большое количество технологий, в том числе про работу с базами данных.


Несмотря на то, что средний возраст участников был 14-15 лет, и они уже имели опыт работы с Python, практически половина участников группы потеряла интерес к занятиям по Flask, дети не проявляли активность, просто переписывали то, что им давали и не погружались в тему.
Но нельзя сказать, что это был полный провал, это был полезный опыт.

Вывод


Технологии становятся важной частью нашей жизни. Код – это язык нашего мира, который сочетает в себе математику, логику и алгоритмы и учит новому взгляду на мир.

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

Программа e-kids развивается в России, Украине, Беларуси и Казахстане. В 2019 году в России прошли обучение 203 ученика — дети сотрудников. Кроме того, с сентября 2019 мы стали заниматься также с детьми из детских домов и с инвалидностью. Более 80 сотрудников стали волонтерами программы.

Волонтерами сотрудники становятся по разным причинам: у многих из них есть дети, и родители-разработчики хотят показать им ИТ с другой стороны или покрыть пробелы в школьном образовании, а кому-то просто нравится процесс обучения.
Only registered users can participate in poll. Log in, please.
А как вы считаете, со скольки лет можно погружать ребёнка в ИТ-среду?
36.26% Чем раньше — тем лучше.33
63.74% Когда сам захочет, если захочет.58
0% Свой вариант в комментариях.0
91 users voted. 10 users abstained.
Tags:
Hubs:
+7
Comments23

Articles

Change theme settings

Information

Website
www.epam.com
Registered
Founded
1993
Employees
over 10,000 employees
Location
США
Representative
vesyolkinaolga