На освоение направления на базовом уровне без дополнительных тем потребуется
от 60 до 80 часов. На углубленном уровне с дополнительными темами -
от 140 до 180 часов.
По окончанию онлайн курса python для детей учащиеся научатся основам языка программирования и его освоят популярные библиотеки.
1. Ввод и вывод данных и математика (4-8 часов)- Понятие переменной, типы данных "целое число" и "строка", функции print (с аргументами sep, end) и input, 5 способов форматирования строк.
- Арифметические операции: сложение, вычитание, умножение и деление.
- Целочисленное деление, остаток от деления, округление.
В процессе прохождения модуля ученик изучит Python IDLE - базовую среду разработки для Python, научится создавать и запускать простейшие программы, а также сохранять их на компьютер. Кроме этого, ученик научится создавать переменные, научится работать с типом данных "строка" (текст) и "целое число", а также разными способами выводить на экран результаты своих действий. Также ученик изучит тип данных "дробное число" и использование арифметических операций в языке Python: сложения, вычитания, умножения, возведения в степень, обыкновенного деления, целочисленного деления (деления без остатка), остатка от деления и других действий, а также сокращённые записи для каждого из арифметических действий.
Наряду с теорией курс "Питон для детей" позволяет выполнить несколько практикумов, состоящих из задач по пройденным темам, а в конце модуля пройдёт зависящий от уровня сложности итоговый тест по всей теме.
2. Импортирование модулей. Модуль math, random и turtle (2-4 часов)- Способы импортирование модулей, использование готовых функций из модулей.
- Базовые команды для рисования с помощью модуля turtle.
Модули - это встроенный в язык программирования готовый код, помогающий выполнять типовые задачи. Подключить любой модуль в программу можно с помощью механизма
импортирования. Ученик научится
импортировать и использовать команды из модуля math, который подключает "продвинутую" математику, и модуля random, который генерирует случайные числа и делает случайный выбор. Кроме этого, ученик освоит turtle - простейший модуль для рисования линий и фигур на экране с помощью команд.
3. Условия (8-12 часов)- Тип данных bool
- Операторы сравнения
- Конструкция If-elif-else
- Логические операторы
В процессе прохождения модуля ученик столкнётся с одной из самых популярных структур в языках программирования - с Условиями. Ученик изучит булевый тип данных, операторы сравнения >, <, ==, <=, >=, !=; простые и вложенные условия, конструкцию if-elif-else, операторы not и in. По желанию и в зависимости от способностей ученика будут изучены функция bool, any, all и тернарные операторы.
Наряду с теорией по Python для подростков ученик выполнит мини-проект "Галактический квест", несколько практикумов, состоящих из задач по пройденной теме, а в конце модуля пройдёт зависящий от уровня сложности итоговый тест по всей теме.
4. Цикл while (6-8 чаcов)- Цикл while
- Бесконечный цикл
- Операторы управления циклом break и continue.
В процесс прохождения модуля ученик узнает как создавать циклы, запустит и остановит свой первый бесконечный цикл, научится использовать операторы управления циклом и переменные-счётчики для автоматической остановки цикла, составлять цикл с условием внутри, а также выполнит несколько мини-проектов ("Игральные кости", "Угадай число") и несколько заданий по модулю turtle, связанном с циклом while.
Наряду с теорией ученик выполнит несколько практикумов, состоящих из задач по пройденной теме, а в конце модуля пройдёт зависящий от уровня сложности итоговый тест по всей теме.
5. Строки (8-10 часов)- Действия со строками, индексы и срезы.
- Поиск, подсчёт и замена символов.
- Буквы, регистр и цифры в строках.
Строки - общее название для всего, что представляет из себя текст - отдельные символы, буквы, слова и предложения. В этом модуле ученик познакомится с индексами и срезами, чтобы извлекать из большого текста нужную информацию; научится искать слова и символы в тексте, подсчитывать их количество и заменять отдельные элементы на другие элементы; определять буквы, размер регистра, цифры и специальные символы в тексте.
Наряду с теорией курса "Пайтон для детей" ученик выполнит практикум, состоящих из задач по пройденной теме.
6. Цикл for (6-8 часов)- Перебор строк
- Перебор диапазона чисел range
- Операторы управления
Цикл for - ещё один цикл в языке Python. После цикла while новый цикл покажется не таким сложным. Ученик научится перебирать слова и предложения по буквам, генерировать числовые диапазоны и заставлять программу выполняться именно столько раз, сколько понадобится.
Наряду с теорией ученик выполнит несколько практикумов и заданий по модулю turtle, связанных с циклом for, состоящих из задач по пройденной теме.
7. Списки (6-8 часов)- Создание списка и элементы списка.
- Минимум, максимум и сортировка.
- Генераторы списков (списковое представление).
Списки - это популярный тип данных для хранения нескольких объектов. Ученик узнает, что такое индексы и элементы списков, как найти максимум и минимум в списке элементов, а также научится сортировке списков по выбранному критерию. Кроме этого, в этом модуле изучается сокращённая запись генерирования списков - списковое представление.
Наряду с теорией ученик выполнит несколько практикумов, состоящих из задач по пройденной теме.
8. Дополнительные модули (10-12 часов)- Модуль pickle. Запись/чтение данных в текстовый файл.
- Модуль datetime и time. Работа с датой и временем.
- Работа с терминалом, установка нестандартных модулей через менеджер пакетов pip.
- Модуль pillow. Обработка изображений, рисование фигур на изображении, добавление текста и водяных знаков.
В рамках этого модуля изучаются более сложные модули языка Python. Ученик научится работать с файлами на компьютере, а с помощью языка программирования будет автоматически записывать предложения в текстовые файлы и прочитывать содержимое текстовых файлов; кроме того, ученик изучит чтение из файла и запись в файл более сложных структур, таких как списки и будущие типы данных.
Кроме работы с файлами, ученик столкнётся с модулем, позволяющим работать с датой и временем, научится устанавливать сторонние нестандартные модули через менеджер пакетов и установит модуль, позволяющий обрабатывать изображения с помощью Python.
9. Функции (10-12 часов)- Создание функции, аргументы, параметры, возвращение результата.
- Позиционные и именованные аргументы, параметры по умолчанию.
- Использование оператора *.
- Область видимости.
- Lambda-функции.
- Декораторы.
Функции - ещё одно из самых распространенных понятий в программировании. В процессе прохождения этого модуля ученик узнает о том, как создавать функции, что такое и зачем нужны аргументы и параметры (и какими они бывают), как возвращать результат из функции.
По желанию и в зависимости от способностей ученика будут изучены оператор * и лямбда-функции, упрощающие написание однострочных функций.
Наряду с теорией ученик выполнит проекты "Генератор предложений", "Дракон из пещеры", "Быки и коровы", а также практикум, состоящих из задач по пройденной теме, а в конце модуля пройдёт итоговый тест по всем предыдущим темам.
10. Разработка графического интерфейса пользователя с помощью библиотеки tkinter. Базовый уровень. Создание окна и виджетов, методы позиционирования виджетов (12-14 часов)- Виджеты Label, Button, Frame, LabelFrame, Entry, Listbox, Toplevel, Scale.
- Конфигурация виджетов (изменение параметров виджета).
В рамках этого модуля ученик познакомится с основами проектирования интерфейсов; ученик научится создавать окна, использовать готовые виджеты (кнопка, поле ввода и другие интерактивные элементы), а также связывать виджеты с функционалом программы.
Весь модуль состоит из практических заданий. Ученик выполнит мини-проекты "Проверка паролей", "Список дел", "Будильник" и "Генератор цветов".
11. Словари (6-8 часов)- Создание словарей.
- Изменение, удаление и перебор элементов.
- Генераторы словарей, дополнительные методы словарей.
- Модуль json.
- Универсальный формат данных, который выглядит как словарь.
В процессе прохождения модуля ученик изучит словари - тип данных, хранящий данные в виде "ключ-значение". Ученик научится создавать пустые словари, словари с парами, получать значения по ключу, добавлять новую пару в существующий словарь, изменять значения, удалять последнюю пару, удалять пары по их ключам, полностью очищать словарь, а также перебирать ключи и значения.
После этого ученик выполнит проект "Камень-ножницы-бумага", в котором использование словаря сыграет ключевую роль.
По желанию и в зависимости от способностей ученика будут изучены расширенные возможности словарей: функция dict, генераторы словарей, методы get и update, оператор del, использование оператора **, а также ключевые слова args и kwargs.
Кроме того, будет изучен дополнительный способ хранения данных в формате json, который выглядит как словарь, и модуль owm для работы с погодой, с помощью которого можно узнать информацию о погоде в любой точке планеты.
12. Разработка графического интерфейса пользователя с помощью библиотеки tkinter. Продвинутый уровень (12-14 часов)- Отложенный запуск функции. Использование лямбда-выражений.
- Обработка исключений: try, except, finally, else
- Месседжбокс и использование обработки исключений.
- Привязка клавиш с помощью метода bind.
- Методы forget и destroy.
- Модуль pyinstaller. Конвертер файла .py в исполняемый файл .exe.
Этот модуль повышенной сложности и выполняется по желанию. Если ученик заинтересован в проектировании и создании интерфейсов, то модуль tkinter продолжится на более продвинутом уровне: здесь будут использоваться отложенный запуск функции, лямбда-выражения, обработка исключений и подмодуль интерактивных сообщений messagebox.
Весь модуль состоит из практических заданий. Ученик выполнит мини-проекты "Палочки", "Радуга", "Решатель примеров", "Викторина", "Калькулятор", "Логин и пароль", "Заметки", "Решатель квадратных уравнений" и "Шульте". В качестве бонуса изучается Pyinstaller - модуль для преобразования программ в исполняемые файлы, которые можно запускать на любом другом компьютере с операционной системой Windows.
13. Множества (2-4 часов)- Создание множеств, возможности множеств, изменение множеств
- Пересечение множеств, объединение множеств, разность множеств
Множества - это тип данных, беспорядочно хранящий только уникальные данные. В процессе прохождения этого небольшого модуля ученик узнает, как создавать множество, как превращать другие типы данных во множество, как узнать, равны ли множества, какие бывают свойства множеств, как узнать принадлежность множеству и мощность множества, а также как перебирать элементы множеств, добавлять и удалять элементы во множестве.
По желанию и в зависимости от способностей ученика будут изучены расширенные возможности множеств: генераторы множеств, пересечения множеств, объединение множеств, разность множеств, проверка множеств на пересечение и непересечение.
Кроме того, ученик научится решать задачи с использованием инструментов и возможностей, которые предоставляют множества.
14. Разработка графического интерфейса пользователя с помощью библиотеки tkinter. Canvas (8-10 часов)- Создание холста и рисование геометрических фигур
- Изменение и удаление объектов, вызов функций, создание надписей
- Обработка пересечений и отмена отложенного запуска
- Рисование линий и изменение координат через coords
Этот модуль выполняется по желанию. Изучение модуля tkinter продолжится с создания нового виджета - Canvas, позволяющего рисовать фигуры и обрабатывать их пересечения.
Весь модуль состоит из практических заданий. Ученик выполнит проекты "Paint", "Время реакции", "Часы", "Светофор", "Пингвин", "Пинг-понг".
15. Разработка графического интерфейса пользователя с помощью библиотеки tkinter. Модульные и сложные проекты (14-16 часов)- Модульность в Python. Создание нескольких модулей для одного проекта.
- Виджеты Radiobutton, Checkbutton, Spinbox.
Этот модуль повышенной сложности и выполняется по желанию. Здесь собраны наиболее сложные проекты по модулю tkinter. В процессе прохождения модуля будет изучено понятие "модульность", которое позволяет создавать один большой проект из нескольких небольших модулей.
Весь модуль состоит из практических заданий. Ученик выполнит проекты "Шифр Цезаря", "Шифр Атбаш", "Аффинный шифр Цезаря", "Генератор паролей", "Зодиаки", игра "Лабиринт" и другие.
16. Двумерные массивы (4-6 часов)- Создание вложенных массивов,
- Генератор двумерных массивов
- Поиск диагоналей
- Разворот массива
В процессе прохождения этого модуля курса "Пайтон для детей" учеником будут изучены двумерные массивы (или, по-другому, матрицы), а также в модуле пойдёт речь о способах применения матриц и решениях задач, в которых есть двумерные массивы.
17. Объектно-ориентированное программирование (14-16 часов)- Объекты, атрибуты-переменные и конструктор класса.
- Аргументы, параметры и методы класса
- Парадигмы ООП. Наследование
- Парадигмы ООП. Инкапсуляция. Геттеры и сеттеры, декоратор property.
- Парадигмы ООП. Полиморфизм и перегрузка операторов.
Объектно-ориентированное программирование (или ООП) - одно из самых важных и сложных понятий в программировании. На примере игровых классов (Воин, Маг и так далее) ученик будет разбираться с тем, что представляют из себя классы, зачем их применять и какие преимущества они дают.
Большой теоретический блок включает в себя создание простейших базовых игровых классов (Воина и Мага), понятие объектов класса (создание конкретных персонажей), конструктора класса (для создания персонажей с готовыми характеристиками), а также парадигм ООП:
- наследования, где создаются новые, более сложные игровые классы на основе базовых;
- инкапсуляции, где доступ к некоторым характеристикам ограничивается;
- полиморфизм, где в каждом игровом классе программист придерживается одного и того же наименования переменных и методов; кроме того, в рамках полиморфизма изучается перегрузка операторов (арифметических действий и встроенных методов).
Наряду с теорией ученик выполнит несколько проектов и практикумов, состоящих из задач по пройденной теме.
18. Дополнительные разделы (12-14 часов)- Библиотеки requests и BeautifulSoup4. Основы веб-парсинга.
- Библиотека telebot или discord. Создание бота для Telegram или Discord и запуск бота на Heroku.
- Основы Git. Версии, создание репозитория на Github, команды init, add, commit, remote, push и другие.
Дополнительные разделы даются в зависимости от предпочтений и способностей ученика.
В них рассматриваются как вопросы, не попавшие в основную учебную программу, такие как обмен значений переменных или множественное присваивание; линейный и бинарный поиск; функциональное программирование (функции map, filter и lambda) и другие; так и специфические:
- создание ботов в Telegram и Discord (с последующим запуск бота на сервисе Heroku);
- основы веб-парсинга с библиотеками request и BeautifulSoup4.