На этом курсе начинают с синтаксиса Python. Студенты изучают базовые типы данных, операции с ними и основы программирования. Уже в начале делают домашние задания по работе с файлами и реализации разветвленных вычислений. Затем переходят к функциональному и модульному программированию - создают функции и учатся организовывать код в модули. Каждая тема закрепляется практическими заданиями.
Здесь рассматривают основные принципы ООП. Студенты учатся создавать классы и объекты, изучают детали работы с классами. Практические задания помогают закрепить полученные знания через реализацию объектно-ориентированных решений.
Этот блок посвящен инфраструктуре языка. Рассматривают декораторы, итераторы и генераторы. Каждая тема сопровождается практическими заданиями, где студенты создают собственные решения с использованием этих инструментов.
Здесь учат налаживать код, документировать его и писать тесты. Вторая часть модуля посвящена алгоритмам и структурам данных - от базовых структур до алгоритмов сортировки, поиска и математических алгоритмов. Каждый алгоритм студенты реализуют на практике.
Модуль охватывает технологии доступа к web-ресурсам и клиент-серверного взаимодействия. Студенты создают минипроект по реализации web-технологий. Затем углубляются в Django - от создания базового web-приложения до проектных практикумов и знакомства с Celery.
Самый большой модуль охватывает все аспекты работы с данными. Начинают с библиотек NumPy, Pandas и Matplotlib для работы с временными рядами. Затем переходят к статистическому обучению, полиномиальной регрессии и обработке изображений. Далее изучают машинное обучение, интеллектуальный анализ данных, текстовый анализ и нейронные сети. Завершают модуль основами геоинформационных систем с практикой анализа геопространственной информации.
Курс проходит в вечернее время дважды в неделю. Акцент делается на практике - студенты выполняют многочисленные домашние задания и минипроекты, что помогает закрепить теоретический материал.