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

Семестр 4. Функциональное программирование и структуры данных на языке Python

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

Длительность курса: 78 ак. часов (12 занятий по 4 ак. часа + 30 часов домашней работы)

О чём курс

Курс является третьим в линейке курсов, посвящённых языку программирования Python. Он доступен тем, кто уже овладел языком Python на уровне структурного программирования и уверенно пишет программы на уровне курса информатики средней школы и ЕГЭ.

Цель курса – на примере аскетичного и выразительного Питона овладеть техникой функционального программирования, познакомиться с типичными для многих языков структурами данных, оценить их применимость для решения различных задач.

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

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

Чему научим

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

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

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

  • Техника разработки программ в среде PyCharm.
  • Использование информационных ресурсов по языку Python.
  • Использование функций стандартной библиотеки.
  • Разработка и вызов функций.
  • Реализация рекурсивных алгоритмов.
  • Использование лямбда-выражений.
  • Применение функций высших порядков.
  • Программирование в функциональном стиле.
  • Работа со списками, словарями, множествами.
  • Подключение библиотек.
  • Работа с массивами.
  • Рациональный выбор структур данных для решения задачи.
  • Разработка программ для автоматической проверки (спортивное программирование).

Занятие 1

Введение. Парадигмы программирования:

  • Стили программирования на Python.
  • Знакомство со средой программирования PyCharm.
  • Повторение: базовые типы данных и операции.
  • Входная проверочная работа.

Занятие 2

Функции в Python:

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

Занятие 3

Особенности вызова функций в Python:

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

Занятие 4

Функции высшего порядка:

  • Передача функции в качестве аргумента.
  • Функция map – подробнее.
  • Функции filter, zip, reduce.
  • Практикум: разработка программ в функциональном стиле (продолжение).

Занятие 5

Проверочная работа: основы функционального программирования.

Понятие о структурированных типах данных:

  • Простые и структурированные данные.
  • Повторение: списки, кортежи.
  • Внутренняя реализация списка в Python. Различие между списком и массивом.
  • Практикум – работа со списками.

Занятие 6

Функции и методы списков:

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

Занятие 7

Библиотека NumPy и работа с массивами:

  • Библиотеки, их подключение.
  • Массивы в  NumPy.
  • Индексация в массивах.
  • Векторизованные вычисления.
  • Методы массивов.
  • Практикум – работа с массивами.

Занятие 8

Словари и множества. Их применение:

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

Занятие 9

Практикум: работа со структурированными данными.

Проверочная работа: структурированные типы данных.

Занятие 10

Python и олимпиадное программирование:

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

Занятие 11

Повторение, подготовка к экзамену:

  • Тематические тесты на повторение.
  • Практикум по решению задач.

Занятие 12

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

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

Стоимость

24 500 ₽

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

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

Для тех, кто еще не учится в АИШ:

  • Вступительное тестирование

Для уже обучающихся в АИШ:

  • Семестр 2. Структурное программирование на языке Python – промежуточная аттестация не менее 85 баллов или итоговая оценка не ниже «отлично»
  • Семестр 3. Практикум по программированию на языке Python – промежуточная аттестация не менее 75 баллов или итоговая оценка не ниже «хорошо»
Тест № АИШ-323 Вступительный тест для поступления на курс «Функциональное программирование и структуры данных на языке Python»

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

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

В результате прохождения тестирования необходимо набрать 50 и более баллов.

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

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

О дате начала набора будет объявлено дополнительно.
Если ребёнок уже обучается
Если ребёнок ещё не обучается
вторник 28.01.2025 - 22.04.2025 18:00 - 21:30

Группа
103.24.01
Свободных мест: 1
Аудитория
№218
ул. Обручевых, д.1, вход с ул. Гидротехников
четверг 30.01.2025 - 24.04.2025 18:00 - 21:30

Группа
103.24.02
Свободных мест: 10
Аудитория
№211
ул. Обручевых, д.1, вход с ул. Гидротехников
пятница 31.01.2025 - 25.04.2025 онлайн 18:00 - 21:30

Группа
103.24.03
Свободных мест нет!
Аудитория
№218
ул. Обручевых, д.1, вход с ул. Гидротехников

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

20 лет

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

10

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

83

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

3 500

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

151

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

4

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

36

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