Технологии программирования на Python
Технологии
программирования
на Python
Курс предназначен для школьников, которые хотят углубиться в изучение языка Python и познакомиться с различными технологиями и инструментами.
Курс нацелен на изучение продвинутых тем языка программирования Python, закрепления их на практике с помощью заданий и проектов, а также изучения инструментальных средств разработки ПО.
Уровень курса
Уровень курса
Продвинутый
Профиль
Профиль
Программирование на Python
Класс
Класс
9-11 классы
Необходимый входной уровень
Необходимый входной уровень
Уверенное знание основ Python
Примеры материалов
Примеры материалов
Формат обучения
Формат обучения
Очный / дистанционный
Количество занятий
Количество занятий
26 занятий по 1 разу в неделю в течение 2 астрономических часов
Стоимость обучения
Стоимость обучения
32 000 рублей за весь курс
Примерная программа курса
Примерная программа курса
Курсивом выделены темы для самостоятельного или дополнительного изучения.
Курс предполагает работу с проектом по созданию чат-бота.
В зависимости от уровня группы, некоторые темы могут быть пропущены для более
детального изучения базовых тем у групп начального уровня.
Раздел 1. Повторение
Экспресс-курс по основам Python
На данном занятии будут затронуты следующие темы:
Синтаксис языка;
Арифметические операции;
Условный оператор;
Циклы;
Списки и словари;
Функции, встроенные функции;
Импорт модулей;
Установка пакетов.
После изучения данных тем учащийся:
Вспомнит основы программирования на Python;
Сможет писать небольшие консольные приложения, не требующие сложной архитектуры.
Стандарты языка Python. PEP8
На данном занятии будут затронуты следующие темы:
Понятие Python Enhancement Proposal и их роль в экосистеме Python;
Основные PEP и их назначение;
Оформление кода в соответствии с PEP8.
После изучения данных тем учащийся:
Узнает различные стандарты языка Python;
Научится оформлять код в соответствии со стандартами.
Системы контроля версий
На данном занятии будут затронуты следующие темы:
Необходимость СКВ;
Типы СКВ;
Обзор популярных СКВ;
Основные команды Git;
Работа с Git в PyCharm;
Управление зависимостями и файл
.gitignore;Работа с ветками: создание и слияние;
Обзор популярных площадок для хранения репозиториев Git;
Регистрация на GitHub и загрузка проекта.
После изучения данных тем учащийся:
Научится использовать СКВ Git для сохранения истории разработки кода;
Сможет работать над одним проектом в команде;
Сможет использовать PyCharm для работы с Git.
Раздел 2. Объектно-ориентированное программирование
Основы ООП
На данных занятиях будут затронуты следующие темы:
Различные парадигмы программирования;
Основные понятия ООП: класс и объект;
Объявление классов в Python: ключевое слово
class, поля и методы, ключевое словоself;Создание экземпляров класса;
Конструкторы и деструкторы;
Обзор магических методов Python;
Имитация арифметических действий;
Строковая интерпретация объектов;
Операторы сравнения;
Работа с классом как с коллекцией;
Геттеры и сеттеры;
Примеры использования часто встречающихся магических методов;
Статические методы и методы классов.
После изучения данных тем учащийся:
Сможет рассказать об отличиях класса от объекта;
Сможет конструировать классы по описанию объектов различных областей жизни;
Научится реализовывать различное поведение классов в зависимости от контекста использования.
По окончании изучения блока будет выдан проект.
Принципы ООП
На данном занятии будут затронуты следующие темы:
Инкапсуляция;
Полиморфизм;
Наследование;
Ассоциация: агрегация и композиция;
Принципы SOLID:
Принцип единственной ответственности;
Принцип открытости-закрытости;
Принцип подстановки Барбары Лисков;
Принцип разделения интерфейсов;
Принцип инверсии зависимостей.
После изучения данных тем учащийся:
Сможет объяснить основные принципы проектирования классов на примере Python;
Научится проектировать классы в соответствии с принципами SOLID;
Научится проектировать сложные классы и их иерархии.
Контрольная работа 1
Раздел 3. Продвинутые механизмы Python
Модель памяти в Python
На данном занятии будут затронуты следующие темы:
Изменяемые и неизменяемые типы данных;
Механизм работы встроенных структур данных (списков, строк, множеств);
Правильное создание многомерных структур данных;
Поверхностное и глубокое копирование многомерных структур данных.
После изучения данных тем учащийся:
Сможет объяснить механизм хранения тех или иных типов данных в языке программирования Python;
Сможет объяснить различия между поверхностным и глубоким копированием;
Сможет писать приложения, требующие инициализации сложных структур данных.
Продвинутые функции. Декораторы
На данном занятии будут затронуты следующие темы:
Позиционные и именованные аргументы;
Аннотация функций;
Модуль
typingдля аннотации сложных структур данных;Аннотация переменных;
Анонимные функции (лямбда-функции);
Определение декоратора;
Создание собственного декоратора;
Несколько декораторов для одной функции;
Декораторы общего назначения.
После изучения данных тем учащийся:
Сможет отличить позиционные аргументы от именованных и передавать переменное количество аргументов;
Научится задавать передаваемые в функции типы данных;
Сможет задавать тип используемых переменных;
Сможет использовать анонимные функции в своих программах;
Научится изменять поведение функций без их непосредственного изменения.
Итераторы и генераторы
На данном занятии будут затронуты следующие темы:
Понятие итератора и их использование;
Имитация цикла
forс помощью ручного итерирования;Добавление возможности итерироваться по объекту собственного класса;
Упрощение работы с итераторами при помощи генераторов;
Ключевое слово
yield;Преждевременный выход из генератора.
После изучения данных тем учащийся:
Сможет объяснить работу цикла
for;Научится создавать классы и функции для их последующего использования в циклах.
Регулярные выражения
На данном занятии будут затронуты следующие темы:
Понятие регулярных выражений и область их применимости;
Поиск по подстроке, наборам и диапазонам символов;
Квантификаторы и режимы их работы;
Проверки строки на различные условия;
Замена текста с использованием регулярных выражений;
Скобочные группы и особенности их использования.
После изучения данных тем учащийся:
Сможет писать сложные шаблоны поиска и замены текста.
Контрольная работа 2
Доработка демонстрационного проекта
Защита проектов и подведение итогов