10 полезных ресурсов для обучения Python

Рассказывает Alan O’Donohoe 


С тех пор, как я начал преподавать Python в 2011, я нашёл несколько ресурсов, которые я регулярно использую. Когда я только начинал изучать этот язык, я удивился, каким доброжелательным оказалось Python-сообщество. Доказательством этого является огромное количество бесплатных высококачественных материалов. Ниже я приведу примеры тех ресурсов, которых просто бы не было без поддержки сообщества. 

1. Invent Your Own Computer Games With Python

У вас уже может быть своя любимая книга по Python, но я советую вам прочитать эту. Вы можете приобрести её, прочитать онлайн или бесплатно скачать в PDF. Мне нравится одинаковая структура глав: сперва ставится задача, а потом идут примеры решений задач с подробными объяснениями. Этот же автор написал ещё 3 замечательных книги.

books

2. Skulpt

Мне приходилось работать в школах, где по тем или иным причинам (обычно в целях безопасности) Python был недоступен. Skulpt исполняет Python-скрипты в браузере и включает в себя несколько примеров. Первый из них использует модуль Turtle для вывода геометрических фигур. Я часто использую его для проверки знаний учеников.

3. Угадай число

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

4. Учим Python

После того, как я начал преподавать Python, моя коллега, незнакомая с программированием, просила составить для неё учебный план. Я разбил его на 5 уроков и выложил на сайте Computing At School. План оказался очень популярным, и многие скорректировали его для своих нужд.

5. Minecraft API на Raspberry Pi

Minecraft — это больше, чем просто игра, это очень популярная песочница. Версия для Raspberry Pi имеет несколько очень классных фич. Используя Minecraft API и Python, вы можете контролировать взаимодействие реального и игрового мира.

6. Squirrel Eat Squirrel

Библиотека Pygame расширяет функционал Python по созданию GUI при разработке игр. В книге Making Games with Python & Pygame есть много примеров использования этой библиотеки. Daniel Pope модифицировал её и назвал Pygame Zero; новая версия гораздо лучше подходит для обучения.

7. Собрания

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

8. Random

Python имеет несколько полезных встроенных функций, например, print и input. Модуль random же, напротив, нужно импортировать перед использованием. Он позволяет ученикам добавить в свои проекты немного непредсказуемости.

import random
coin = [‘heads’,’tails’]
flip = random.choice(coin)
print(flip)

9. Anti Gravity

Я редко использую модуль anti gravity. Но когда мне приходится это делать, я спрашиваю у учеников, что произойдёт, когда они импортируют его. Обычно я получаю много различных ответов, порой даже предполагают, что начнётся реальный эффект невесомости — считают, что Python настолько мощный 🙂 Можете попробовать сами и предложить своим ученикам.

import antigravity

10. Саботаж

Самой большой трудностью для меня как учителя был поиск синтаксических ошибок в программах учеников. К счастью, прежде чем я полностью выгорел от усталости, я придумал “саботаж” — игру, которая превращает отладку в игру. Ученик специально прячет баги в коде, а другие их ищут.

10 + 1. Micro Python и Micro:bit — будущее

10 вышеперечисленных ресурсов я регулярно использовал за последние 5 лет. К моменту написания этого списка я только начал использовать Micro Python на Micro:bit, но я считаю, что он скоро станет очень популярным. Это — очень гибкое приложение, позволяющее взаимодействовать с BBC Micro:bit. Вышеперечисленные ресурсы позволяют вам контролировать программное обеспечение, а Micro Python — действия в реальном мире. Моим первым творением в Micro Python был инструмент “Dead or Alive”, исходный код занял 9 строк.

Перевод статьи «10 Python Teaching Resources You Really Should Be Using»