Практикум по программированию на Python

Страница курса

О курсе

Курс посвящен практическим навыкам программирования на Python с акцентом на приложения в области data science и машинного обучения. Особое внимание уделяется основам Python, инструментам анализа данных, нейронным сетям и практикам промышленной разработки. Цель курса — предоставить студентам комплексные навыки программирования на Python, необходимые для современного data science и ML-инжиниринга.

Тематический план

Курс структурирован на три логических блока, охватывающих путь от базового Python до промышленных приложений:

Блок 1: Введение в язык Python

  1. Введение в Python: Встроенные типы данных, модель памяти и основы языка
  2. Функции и итераторы: Определение функций, итераторы, генераторы и продвинутые конструкции Python
  3. Объектно-ориентированное программирование I: Возможности языка, атрибуты, наследование и принципы проектирования классов

Блок 2: Python для машинного обучения

  1. Инструменты анализа данных: NumPy, Pandas, Matplotlib и основные библиотеки для работы с данными
  2. Инструменты машинного обучения: Scikit-learn, обучение моделей, оценка качества и разработка ML-пайплайнов
  3. Объектно-ориентированное программирование II: Типизация, полиморфизм, dataclass, декораторы и продвинутые концепции ООП
  4. Нейронные сети: Фреймворки глубокого обучения, PyTorch/TensorFlow и реализация нейронных сетей

Блок 3: Элементы промышленной разработки

  1. Виртуальные окружения и контейнеры: Управление окружениями, Docker и развертывание приложений
  2. Модули Python и веб-клиенты: Система модулей, HTTP-клиенты и взаимодействие с API
  3. Серверная веб-разработка: Flask/FastAPI, REST API и архитектура веб-сервисов
  4. Методы повышения эффективности кода: Оптимизация производительности, профилирование и лучшие практики для production кода

Лекции и практические задания

Курс сочетает теоретические лекции с практическими заданиями:

Самостоятельная работа

4 практических задания, охватывающих полный цикл разработки на Python:

  1. Введение в Python: Базовые конструкции языка, структуры данных и основы программирования
  2. Анализ данных и машинное обучение: Обработка данных, статистический анализ и реализация ML-моделей
  3. Нейронные сети: Разработка моделей глубокого обучения, обучение и оценка качества
  4. Веб-сервер для ML-моделей: Full-stack ML-приложение с возможностями обучения и inference

Оценивание

Для прохождения курса и получения зачета студенты должны:

Требуемые знания

Базовые знания программирования, математические основы (линейная алгебра, статистика) и знакомство с алгоритмическим мышлением.