Практикум по программированию на Python
О курсе
Курс посвящен практическим навыкам программирования на Python с акцентом на приложения в области data science и машинного обучения. Особое внимание уделяется основам Python, инструментам анализа данных, нейронным сетям и практикам промышленной разработки. Цель курса — предоставить студентам комплексные навыки программирования на Python, необходимые для современного data science и ML-инжиниринга.
Тематический план
Курс структурирован на три логических блока, охватывающих путь от базового Python до промышленных приложений:
Блок 1: Введение в язык Python
- Введение в Python: Встроенные типы данных, модель памяти и основы языка
- Функции и итераторы: Определение функций, итераторы, генераторы и продвинутые конструкции Python
- Объектно-ориентированное программирование I: Возможности языка, атрибуты, наследование и принципы проектирования классов
Блок 2: Python для машинного обучения
- Инструменты анализа данных: NumPy, Pandas, Matplotlib и основные библиотеки для работы с данными
- Инструменты машинного обучения: Scikit-learn, обучение моделей, оценка качества и разработка ML-пайплайнов
- Объектно-ориентированное программирование II: Типизация, полиморфизм, dataclass, декораторы и продвинутые концепции ООП
- Нейронные сети: Фреймворки глубокого обучения, PyTorch/TensorFlow и реализация нейронных сетей
Блок 3: Элементы промышленной разработки
- Виртуальные окружения и контейнеры: Управление окружениями, Docker и развертывание приложений
- Модули Python и веб-клиенты: Система модулей, HTTP-клиенты и взаимодействие с API
- Серверная веб-разработка: Flask/FastAPI, REST API и архитектура веб-сервисов
- Методы повышения эффективности кода: Оптимизация производительности, профилирование и лучшие практики для production кода
Лекции и практические задания
Курс сочетает теоретические лекции с практическими заданиями:
- Формат: Интерактивные лекции + задания по программированию
- Структура: 11 лекций, охватывающих теоретические основы и практические реализации
- Задания: 4 комплексных практических задачи, строящиеся друг на друге
Самостоятельная работа
4 практических задания, охватывающих полный цикл разработки на Python:
- Введение в Python: Базовые конструкции языка, структуры данных и основы программирования
- Анализ данных и машинное обучение: Обработка данных, статистический анализ и реализация ML-моделей
- Нейронные сети: Разработка моделей глубокого обучения, обучение и оценка качества
- Веб-сервер для ML-моделей: Full-stack ML-приложение с возможностями обучения и inference
Оценивание
Для прохождения курса и получения зачета студенты должны:
- Суммарный балл: Набрать не менее 60 баллов из всех 4 заданий
- Минимум за задание: Набрать не менее 10 баллов за каждое отдельное задание
- Максимальный балл: 100 баллов всего (25 баллов за задание)
Требуемые знания
Базовые знания программирования, математические основы (линейная алгебра, статистика) и знакомство с алгоритмическим мышлением.