+7 (812) 703-02-02 info@hse.spbstu.ru Max Rutube

Проектирование на PythonНовый курс!

C 9 класса | 26 занятий | Очно или онлайн

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

О чём курс

Данный курс посвящен углублению знаний, полученных на предыдущем этапе в плане практики решения поставленной задачи, начиная от анализа и формализации условия, до набора и отладки кода. Расширяются знания о возможностях языка и подходах к построению программы.

Особое внимание уделяется процедурному программированию, при котором код структурируется с помощью пользовательских функций, каждая из которых решает конкретную подзадачу в рамках общей цели. Углубляется работа со структурированными типами данных: списками, кортежами, словарями, строками. Изучается работа со множествами, очередями и классом Counter из модуля collection.

Вторая половина года посвящена углубленному изучению функционального подхода в построении программного обеспечения и использованию сложных структур данных. Рассматриваются встроенные функции, модули и их подключение, работа с аргументами различных типов. Отдельное внимание уделяется программированию рекуррентных выражений с использованием рекурсивных функций, что в дальнейшем пригодится при сдаче ЕГЭ по информатике. В курс входит подробное изучение анонимных функций (lambda) и функций высшего порядка (map, filter, zip).

Также изучаются исключения и способы их обработки в контексте функционального программирования. Осваивается работа с текстовыми файлами в Python: чтение и запись данных. В завершающей части курса углубляется работа со сложными структурами данных. Изучается библиотека NumPy для работы с многомерными массивами и библиотека Pandas для анализа данных. Вводится понятие объектно-ориентированного программирования: методы класса, атрибуты, а также применение классов в связке с функциональным подходом. Рассматриваются ключевые принципы ООП — инкапсуляция и полиморфизм.

Чему научим

Знания и представления

  • Основные этапы разработки программного продукта.
  • Критерии качества программы в зависимости от её назначения.
  • Основные парадигмы программирования (императивная, функциональная, объектно-ориентированная) и их особенности в Python.
  • Принципы работы встроенных функций, модулей, а также способы создания пользовательских и анонимных (lambda) функций.
  • Методы функционального программирования: функции высшего порядка (map, filter, zip, reduce), рекурсивные алгоритмы, работа с декораторами и кэшированием.
  • Основы объектно-ориентированного программирования (ООП): классы, объекты, атрибуты, методы, инкапсуляция, полиморфизм и наследование.
  • Способы обработки исключений.
  • Работа с файлами для чтения и записи данных.

Умения и навыки

  • Анализ условия задачи, формализация с выделением входных и выходных.
  • Использование встроенных функций из подключаемых модулей и разработка пользовательских функций.
  • Рациональное использование структурированных данных, эффективное применение методов работы с ними.
  • Тестирование программы, подготовка наборов тестовых значений.
  • Применение функций высшего порядка и лямбда-выражений для написания чистого, декларативного кода в функциональном стиле.
  • Использование рекурсивных алгоритмов для решения задач, связанных с построением рекуррентных выражений.
  • Работа со сложными структурами данных: списками, словарями, множествами, а также с массивами библиотек NumPy и Pandas.
  • Проектирование и реализация классов, с применением принципов ООП для структурирования программ;
  • Работа на Pythonс текстовыми файлами.

Занятие 1

Техника разработки программы

  • Обзор и настройка среды программирования.
  • Горячие клавиши.
  • Повторение основных алгоритмических структур.
  • Структура ветвления match…case.
  • Работа с условием задачи: формализация, выделение входных и выходных данных, выбор типов и структур данных.
  • Разработка тестовых значений.

Работа в классе №1

Домашнее задание №1

Занятие 2

Техника разработки программы

  • Способы описания алгоритма.
  • Техника "Данные - комментарий - код".
  • От алгоритма к программе.
  • Программа - путь от входа к выходу.

Работа в классе №2

Домашнее задание №2

Занятие 3

Отладка программы

  • Тестирование кода.
  • Отладка кода.
  • Обработка ошибок кода с помощью try…except.
  • Проверочная работа.

Работа в классе №3

Домашнее задание №3

Занятие 4

Пользовательские функции

  • Программирование с помощью подпрограмм.
  • Синтаксис пользовательской функции.
  • Аннотирование пользовательских функций.
  • Пользовательские функции, возвращающие значение, их вызов в основном коде.

Работа в классе №4

Домашнее задание №4

Занятие 5

Аргументы пользовательской функции

  • Аргументы пользовательской функции: обязательные и необязательные, позиционные и именованные.
  • Переменное количество *arg и **kwargs.
  • Пользовательские функции, не возвращающие значение (процедуры), их вызов в основном коде.

Работа в классе №5

Домашнее задание №5

Занятие 6

Локальные и глобальные переменные

  • Область видимости переменных пользовательских функций: локальные и глобальные.
  • Работа с файлами.

Работа в классе №6

Домашнее задание №6

Занятие 7

Собственные модули и импорт функций из них

  • Пользовательская функция main() — точка входа в программу.
  • Создание собственных модулей и импорт функций из них.
  • Практикум работы с пользовательскими функциями.
  • Проверочная работа.

Работа в классе №7

Домашнее задание №7

Занятие 8

Структурированные данные в Python

  • Повторение структурированных типов данных: строки, списки, кортежи.
  • Словари и действия с ними.
  • Методы словарей.
  • Практикум программирования задач с использованием словарей и других последовательностей.

Работа в классе №8

Домашнее задание №8

Занятие 9

Множества

  • Множество как набор неповторяющихся элементов.
  • Операции над множествами в Python.
  • Методы множеств.
  • Практикум программирования задач с использованием множеств.

Работа в классе №9

Домашнее задание №9

Занятие 10

Counter и очередь

  • Суть и назначение класса Сounter из модуля collection.
  • Суть и назначение очереди deque.
  • Операции над Сounter и deque в Python.
  • Практикум программирования задач на анализ данных.

Работа в классе №10

Домашнее задание №10

Занятие 11

Организация перебора значений

  • Значение перебора в программировании.
  • Типы и методы перебора.
  • Перебор комбинаций значений.
  • Проверочная работа.

Работа в классе №11

Домашнее задание №11

Занятие 12

Критерии качества программы

  • Вариативность критериев качества программы в зависимости от ситуации.
  • Требования к проекту и к его презентации.

Работа в классе №12

Домашнее задание №12

Занятие 13

Промежуточная аттестация

Занятие 14

Парадигмы программирования

  • Повторение: типы данных и операций.
  • Разбор парадигм программирования.

Работа в классе №14

Домашнее задание №14

Занятие 15

Функции в Python

  • Повторение: создание, вызов функций.
  • Встроенные функции.
  • Модули и их подключение.
  • Аргументы функции: позиционные и именованные.
  • Рекурсия.
  • Практикум по планированию и разработке функций 

Работа в классе №15

Домашнее задание №15

Занятие 16

Анонимная функция lambda

  • Анонимные функции – lambda-выражения.
  • Списковый вызов функций.
  • Функции высшего порядка map.
  • Практикум по разработке программ в функциональном стиле.

Работа в классе №16

Домашнее задание №16

Занятие 17

Функции высшего порядка filter, zip, reduce

  • Передача функции в качестве аргумента.
  • Функция map, особенности применения.
  • Функции: filter, zip, reduce.
  • Декораторы и кэширование.

Работа в классе №17

Домашнее задание №17

Занятие 18

Применение функционального программирования

  • Текстовые файлы: чтение и запись.
  • Функции с переменным числом аргументов.

Работа в классе №18

Домашнее задание №18

Занятие 19

Сложные структуры данных

  • Различие между функцией и методом.
  • Функции и методы списков.
  • Обработка исключений.

Работа в классе №19

Домашнее задание №19

Занятие 20

Библиотека NumPy

  • Библиотеки и их подключение.
  • Массивы в NumPy.
  • Двухмерный numpy-массив.

Работа в классе №20

Домашнее задание №20

Занятие 21

Библиотека Pandas.

  • Введение в Pandas.
  • Базовый анализ данных с помощью Pandas.

Работа в классе №21

Домашнее задание №21

Занятие 22

Объектно-ориентированное программирование в Python

  • Понятие ООП.
  • Понятие класса и атрибутов класса.
  • Объекты класса и методы класса.
  • Практикум по созданию класса, объектов класса и методов класса.

Работа в классе №22

Домашнее задание №22

Занятие 23

Инкапсуляция и полиморфизм

  • Инкапсуляция класса: специальные соглашения по именованию и использованию методов и атрибутов.
  • Приватные и защищенные атрибуты.
  • Полиморфизм - создание методов с одинаковым именем, но разными по функционалу.

Работа в классе №23

Домашнее задание №23

Занятие 24

Повторение темы «ООП»

  • ООП.
  • Инкапсуляции.
  • Полиморфизма.
  • Проверочная работа.

Работа в классе №24

Домашнее задание №24

Занятие 25

Практикум

  • Решение задач по всем пройдённым темам.
  • Повторение структур данных.

Работа в классе №25

Домашнее задание №25

Занятие 26

Итоговое занятие

  • Экзамен
  • Подведение итогов курса, варианты дальнейшего обучения.

Стоимость

56 400 ₽

Социальные скидки для многодетных и других категорий семей.
Скидки по акциям.
Оплата материнским капиталом.
Можно оформить налоговый вычет по расходам на обучение - 13%.

Как поступить

Тест № АИШ-322 Вступительный тест для поступления на курс "Семестр 3. Практикум по программированию на языке Python" и "Разработка игр на Python"

Для успешного прохождения данного теста необходимы следующие знания и навыки:

  1. Типы данных в Python. Выбор типа для конкретных данных.
  2. Ввод, вывод, присваивание, арифметические и логические операции.
  3. Реализация стандартны алгоритмических конструкций (ветвление, цикл).
  4. Структурированные данные, использование списков.
  5. Создание программы, решающей конкретную задачу из области численных алгоритмов или манипуляций со строками.
  6. Создание функции, соответствующей заданным требованиям.

По результатам выполнения практического задания необходимо набрать 50 или более баллов

Для сдачи данного теста предоставляется только 1 попытка

Как записаться на занятия

Если ребёнок уже обучается

Оставьте заявку в Личном кабинете

Если ребёнок ещё не обучается

заполните форму

понедельник 21.09.2026 - 26.04.2027 18:00 - 21:30

Группа
103.04.01
Свободных мест: 11
Аудитория
№218
ул. Обручевых, д.1, вход с ул. Гидротехников
понедельник 21.09.2026 - 26.04.2027 онлайн 18:00 - 21:30

Группа
503.04.01
Свободных мест: 10
Аудитория
_Онлайн
четверг 24.09.2026 - 22.04.2027 18:00 - 21:30

Группа
103.04.02
Свободных мест: 9
Аудитория
№234
ул. Обручевых, д.1, вход с ул. Гидротехников
пятница 25.09.2026 - 23.04.2027 18:00 - 21:30

Группа
103.04.03
Свободных мест нет!
Аудитория
№231
ул. Обручевых, д.1, вход с ул. Гидротехников
Преподаватель
Иванов Вадим Олегович

Академия информатики для школьников в цифрах

21 год

успешной работы
в Политехническом университете Петра Великого

11

направлений обучения

83

учебные программы

2 800

школьников
проходят обучение
ежегодно

151

выпускник АИШ
в 2025 году поступил
в Политехнический университет

3

учебные площадки

40

компьютерных классов