Вернуться назад

Как и главное зачем детям учить Python

Современные дети много часов в день проводят в компьютерах, планшетах, телефонах, а вернее сказать – в играх. Неудивительно, что им бывает любопытно узнать, как эти игры сделаны. Они даже могут захотеть создать собственную аркаду, квест или стратегию. Удачный момент, чтобы познакомить чадо с азами кодинга. Мало кто из популярных программистов или основателей IT-компаний не начинал свой путь с написания компьютерной игры. Сегодня средства для разработки программного обеспечения стали куда проще и интуитивно понятнее. Одним из таких инструментов является язык программирования Python и окружающая его доброжелательная среда.

Почему Python?

  • Среди языков программирования, используемых в реальном мире, Python является одним из самых востребованных и успешно применяемых в различных областях: от анализа данных и умных чат-ботов до парсинга сайтов и написания игр, обучаемых по алгоритмам искусственного интеллекта. Это не единственная причина, почему Python – хороший выбор на роль первого языка программирования:
  • Команды и синтаксис просты и легко читаемы по сравнению с другими языками программирования. Язык обязывает к аккуратности в написании кода (например, неотъемлемой частью, а не просто средством форматирования, являются отступы).
  • Python содержит множество встроенных библиотек, а также колоссальное сообщество программистов, разрабатывающих для различных задач собственные библиотеки и программы. В большинстве случаев ребенок сможет самостоятельно найти ответ на возникающие вопросы.
  • Формальные ошибки выявляются в процессе запуска программы, что облегчает их поиск. Это повышает мотивацию ученика продолжать обучение.
  • Совместно с платами Raspberry Pi и другими подобными платформами Python позволяет соединять между собой компьютер и внешний мир, реализуя, среди прочего, концепцию интернета вещей. Это делает процесс программирования более наглядным и захватывающим.

Что общего между иностранными язиками и Python?

Мі придумали привести пару очевидніх примеров, почему Python, это всё-таки язык и в чём сходства и различия между Python и любым иностранным языком.

Сходства: Освоение первых ступеней языка программирования очень похоже на изучение иностранного, с чем подростки, скорее всего, уже сталкивались в школе. Эти ступени мы в школе проходим быстро, но именно они — самые важные. Python, Java, C++ — всё это, по сути, настоящие языки, где определенные символы несут конкретные смысловые обозначения, иначе выстраиваются предложения и формулируются мысли.

На первом уроке английского мы изучаем алфавит, пишем и произносим новые буквы и звуки. В языке программирования вместо букв переменные, а вместо слов — операторы, простейшие команды. Вместо тетради — монитор. Так же, как есть разные способы написать слово (прописными или печатными буквами), существуют разные способы ввода данных.

Грамматика и синтаксис

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

Подход к изучению

Чтобы заговорить по-английски, нужна практика, чтобы начать писать программы, нужно проводить время с компьютером и в классе, и дома. В Kodland занятия проходят раз в неделю, но ученики регулярно получают домашние задания. Некоторые вещи придется просто запомнить, и здесь программирование оказывается строже иностранного: неправильно склонённое слово собеседник может понять, исходя из контекста, а вот компьютер не разберёт команду с опечаткой.

Различия: Сходство с изучением иностранного заканчивается уже на первых ступенях, но остается то, что делает любой язык языком — коммуникация. Она в программировании выстраивается по-другому.

Цель коммуникации

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

Построение коммуникации

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

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

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

10 простых педагогических советов родителям, чьи чада учат Python

1. Не нужно заставлять: В первую очередь не надо быть излишне навязчивым. Травматичный опыт может вызвать негативное отношение к предмету. На первых порах важнее показать существование такой области человеческого знания и занятий, которые могут быть одновременно интересны и полезны. Дальнейшее – дело предрасположенности. Всему свое время.

2. Необязательно начинать сразу с Python: И в Google Play, и в AppStore можно найти массу приложений, которые могут увлечь ребенка на более простом, интуитивном уровне, чем написание текстовой программы. В определенный момент ученику захочется чего-то более «взрослого». Сложности могут возникнуть и с языковым барьером, ведь программирование на Python очень похоже на написание алгоритма на английском языке. Впрочем, это хороший повод начать с ним знакомство пораньше.

3. Возможно, на компьютере уже установлен Python: Дистрибутив Python по умолчанию включен в состав многих операционных систем. Так, на Mac или Linux достаточно в терминале набрать команду python либо открыть страницу с онлайн-интерпретатором Python. Такая «встроенность» покажет, что заниматься программированием можно в любой момент, когда и где захочется, просто для фана.

4. Напишите свою программу: Если вы умеете программировать, напишите несложную игру, в которую вам вместе будет нескучно играть. Например, кто быстрее угадает число из наперед заданного диапазона (с подсказками «больше/меньше» в случае неудачи). При проявлении интереса вы можете строка за строкой пройтись по коду программы, объясняя, что делает та или иная часть кода. Когда ребенок спросит, что произойдет, если что-то поменять, нужно не только объяснять, но и показать результат. Так незаметно получится, что игра продолжилась в новом ключе: изменение кода – запуск – проверка полученного.

5. Попробуйте вместе что-то простое, но нескучное: Далее вы можете написать с нуля что-то вместе, разобрав общие концепции программирования. Нет особого смысла начинать с объяснения типов переменных и других не очень притягательных вещей (с этим легко познакомиться по ходу). Лучше рассмотреть небольшой скрипт, в котором совместятся несколько (но не слишком много) идей. Например, производится обратный отсчет для запуска ракеты, и в конце надо написать слово «Поехали». Одновременно вводятся следующие идеи:

  • Переменная, принимающая значения
  • Цикл for (или while)
  • Объект range (например, range(10, 1, -1))
  • Условие if else
  • Вывод строки на экран с помощью функции print

Объясняя, старайтесь соблюсти баланс. С одной стороны, ваши комментарии не должны быть чрезмерно подробными, с другого – нельзя, чтобы инструкции программы превратились в набор магических заклинаний. Проверить понимание можно, предложив отредактировать код так, чтобы изменился результат его выполнения. Скажем, в приведенном примере начать счет не с десяти, а с пяти.

Заметив, что ребенок допускает ошибку, не говорите ему об этом заранее. Лучше вместе разобраться с сообщением об ошибке, чтобы в таких случаях ученик чувствовал себя увереннее и не сдавался. Убедитесь, что ребенок осознает то, как выполняется программа. Можно попросить словами описать зачем нужно то или это.

Другие идеи начала занятий для детей с различными наклонностями:

  • Шифровка секретных посланий. Код для шифровки посланий и программа, которая шифрует и расшифровывает сообщения.
  • Список покупок. Поиск по списку, сортировка элементов списка по алфавиту, по стоимости с учетом объявленных акций на товары.
  • Отрисовка красочной графики в Tkinter. Результат рисования полезно материализовать, распечатав на принтере.
  • Телефонная книга. В качестве полей можно использовать не только телефоны, но и другие характеристики: друг/родственник, пол, возраст, цвет волос и т.д. Задача: найти человека с определенным набором качеств.

6. Введите элемент случайности: Познакомьте ученика с импортом нескольких библиотек на примере модулей random, time и math. Библиотека random позволяет вносить в собственные проекты (например, игры) что-то непредсказуемое. Модуль math школьник сможет использовать для автоматизации решения учебных заданий. Библиотека time поможет применять различные элементы задержки. Такие модули также подогревают интерес к тому, чтобы создать что-то на основе нескольких имеющихся возможностей.

7. Дайте пространство для творчества: Перед следующим шагом вполне нормально замахнуться на что-нибудь большее. Или хотя бы посмотреть вместе, как устроены крупные проекты. Может оказаться, что путь постоянного экспериментирования куда привлекательнее, чем изучение пособий. На этом этапе можно создать игру-клон одной из известных несложных игр с помощью библиотеки PyGame. На YouTube имеется множество пособий по ее применению.

Можно пойти иначе и модифицировать одну из любимых игр. Например, в Sims 4 Python задействован для внутриигрового моддинга. Существуют проекты с открытым исходным кодом, полностью написанные на Python (например, игра Frets on Fire). Такие свободные проекты – естественные площадки для изучения и практики программирования, работы с чужим кодом.

Если ребенок заинтересован в более практичных проектах, предложите реализовать что-то из школьных заданий. Например, для решения задач из алгебры и символьных вычислений полезен SymPy, для численного моделирования – NumPy и SciPy, для отображения данных – Matplotlib или Plotly.

8. Купите ребенку самоучитель: Да, проекты из предыдущего пункта могут показаться довольно-таки трудными. Что делать, если у вас недостаточно времени? На помощь приходят самоучители для детей. Академические учебники детям обычно не очень понятны, а вот книжка с красивыми картинками подогреет интерес, систематизирует знания, предложит идеи для новых проектов.  Русскоязычных детских самоучителей для Python третьей версии наберется уже не менее десятка. Ниже мы собрали подборку из трех наиболее интересных книг для детей разного возраста и темперамента.

«Программирование для детей на языке Python» – Луи Стоуэлл: «Программирование для детей на языке Python» – книга Луи Стоуэлла с яркими иллюстрациями, подойдет для младшего школьного возраста. Содержит интересные проекты по созданию собственных игр и понятные инструкции.

«Python для детей. Самоучитель по программированию» – Джейсон Бриггс: Для вдумчивых детей постарше рекомендуем самоучитель по программированию Джейсона Бриггса «Python для детей». Слово «самоучитель» в заглавии не самое точное, потому что это скорее учебник с практическими разделами. Книга будет особенно полезна тем, кто захочет организовать кружок по программированию.

«Python для детей и родителей. Играй и программируй» – Брайсон Пэйн: Книга подойдет для ребят примерного того же возраста, что и предыдущая. Правда, в сравнении с произведением Бриггса, эта написана куда более живо. Поэтому, несмотря на название, контроль родителей/учителей должен потребоваться реже.

9. Свяжите Python и реальный мир: Абстрактная сторона программирования через некоторое время может приесться. Оживить внимание можно, сделав проект, в котором Python заставляет взаимодействовать компьютер с внешним миром. Один из самых простых способов, как это сделать, – использовать плату Raspberry Pi, управляя с помощью Python GPIO-выходами, например:

  • Включение/выключение светодиодов или другой электронной нагрузки.
  • Изменение яркости свечения светодиода (вариация скважности).
  • Считывание нажатий кнопок/клавиш.
  • Написание кода для проектов на основе этих идей позволит расширить кругозор различными задачами программирования микроконтроллеров.

Еще привлекательнее сделать проект, который реализует какую-либо законченную идею. Объединяя возможности Python и Raspberry Pi, можно создать робота, передатчик морзянки, метеостанцию или даже систему автоматического распознавания объектов с веб-камер!

10. Терпение, забота и помощь: Совет, с которого мы начали, актуален и в конце списка. Если в какой-то момент ребенок почувствует, что программирование — это не его, не нужно переубеждать. Хорошо, если он поймет это вовремя и продолжит поиск своего пути. Если же ребенку нравится программировать, и вы хотите поддержать его стремления, будьте терпеливы. Следите за тем, чтобы отпрыск развивался разносторонне. Продвижение в других сферах может сделать так, что юный программист вдохновится интересным междисциплинарным пересечением, возможностью, которую раньше никто не замечал. Так, уже в школе может родиться проект, который изменит мир.

Занятия по программированию на Python для детей от Almamat это практико-ориентированные индивидуальные уроки. Если учить программирование по учебникам – не ваш вариант, вы сами мало отношения имеете к айти, а ваш ребенок – не ясно в кого, мечтаетр работать в гугле – обращайтесь. Наши занятия разняться по возрастным группам. Если ребенок просто хочет «программировать», лучше всего начинать заниматься после освоения базы в Scratch. Ученик должен владеть базовыми понятиями: переменная, условие, циклы и базовые алгоритмы. Также знать, что такое умножение, деление, остаток от числа, дробные числа. И наши преподаватели всегда готовы начать, подтянуть и развить скилы и знания вашего чада.

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

Чему сможет научиться ребенок на занятиях по Python?

Во время обучения дети пишут на python3 в стандартной IDLE до темы while включительно, потом устанавливают редактор кода. Чтобы перейти к созданию сложных и реальных проектов, ученики должны основательно пройти базу. На каждую тему выполнить большое количество практических заданий разной сложности:

  1. Ввод и вывод данных: понятие переменной, типы данных, функции print(sep, end) и input, форматирование строк
  2. Математика: арифметические операции, целочисленное деление, остаток от деления, округление
  3. Условия: if-elif-else, тип данных bool, операторы сравнения, логические операторы
  4. Цикл while: while, break, continue, else, бесконечный цикл
  5. Строки: срезы, методы find, rfind, replace, lower, upper, isdigit, isalpha ect.
  6. Регулярные выражения
  7. Цикл for: for i in range, for i in list, else
  8. Списки: генераторы списков, методы split и join, sort, max, min с использованием key
  9. Функции: параметры, возвращаемый результат, рекурсия, область видимости переменных, lambda
  10. Обработка исключений: try, except, finally, else
  11. Словари и кортежи: создание словаря, перебор элементов словаря
  12. Множества: создание множеств, операции со множествами
  13. Двумерные массивы: создание вложенных массивов, генератор двумерных массивов, поиск диагоналей, разворот массива
  14. Модули: импортирование модулей, модули random, datetime, time, math
  15. Tkinter: создание окна, настройка и упаковка виджетов, функции в tkinter, messagebox, filedialog
  16. Tkinter: рисование с помощью Canvas, метод bind
  17. Работа с файлами: запись и чтение файлов, сериализация и десериализация с помощью библиотеки pickle
  18. ООП: классы и объекты, конструктор, наследование, полиморфизм, инкапсуляция

Также дети знакомятся с графической библиотекой Pygame. Детям нравится делать игры, так что это отличный вариант для них. Используя pygame, можно создавать красочные и сложные проекты. Дети одновременно будут учиться и наслаждаться своими проектами. При обучении преподаватели используют не только теоретические материалы, но и практические аспекты: проекты из разных книг, авторские задания, разные игры для начинающих питон-программистов. Наша программа сочетает очень много разных источников, чтобы сделать обучение максимально эффективным и интересным для каждого.

 

Вернуться назад
Поделиться
Запишитесь на бесплатный диагностический урок
Читать еще