Бакалавриат
2025/2026





Технологии программирования
Статус:
Курс обязательный (Управление цифровым продуктом)
Кто читает:
Департамент бизнес-информатики
Где читается:
Высшая школа бизнеса
Когда читается:
1-й курс, 4 модуль
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
3
Контактные часы:
36
Программа дисциплины
Аннотация
Курс знакомит студентов с современными технологиями программирования, инструментами и подходами, используемыми в индустрии. Основное внимание уделяется практическому освоению языка Python (включая сравнение с Java), объектно-ориентированному программированию, тестированию, работе в командной строке (bash), системам контроля версий (Git), основам DevOps, контейнеризации (Docker) и распределенной обработке данных (Apache Hadoop). Курс построен так, чтобы дать слушателям целостное представление о жизненном цикле разработки и современных инструментах, необходимых для создания качественного программного продукта.
Цель освоения дисциплины
- Сформировать у студентов базовое понимание процесса промышленной разработки ПО, обучить основам языка Python, принципам ООП, тестированию, работе с bash, Git, Docker и распределенной обработке данных, а также познакомить с концепциями DevOps.
Планируемые результаты обучения
- Знать синтаксис Python, уметь использовать базовые типы и коллекции, писать простые программы
- Уметь создавать функции с различными типами аргументов, использовать lambda, работать с файлами и исключениями.
- Понимать принципы создания классов, уметь определять атрибуты и методы, применять инкапсуляцию.
- Знать виды тестирования, уметь писать модульные тесты с pytest.
- Уметь выполнять базовые команды, перенаправлять ввод/вывод, писать простые bash-скрипты
- Уметь создавать репозитории, делать коммиты, работать с ветками и удалёнными репозиториями.
- Знать основные методологии, понимать их сильные и слабые стороны.
- Понимать концепции CI/CD, уметь настраивать простой пайплайн.
- Уметь создавать Dockerfile, собирать образы, запускать контейнеры, использовать Docker Compose.
- Знать приёмы оптимизации образов, уметь работать с сетями и томами.
- Понимать архитектуру Spark, уметь писать простые приложения на PySpark.
- Владеть синтаксисом Python, его основными конструкциями;
- Создавать функции с различными типами аргументов, использовать lambda, работать с файлами и исключениями
- Владеть принципами объектно-ориентированного программирования (инкапсуляция, наследование, полиморфизм) и способами их реализации в Python
- Применять виды тестирования и инструменты автоматизации (pytest) для проверки кода
- Работать с основными командами Bash: использовать перенаправление потоков, строить конвейеры (пайплайны) и разрабатывать скрипты
- Работать с системой контроля версий Git, используя основные команды и осуществляя взаимодействие с удалёнными репозиториями
- Владеть основами Docker: управлять образами и контейнерами, строить Dockerfile
- Владеть представлением об архитектуре основных компонентов Hadoop.
- Владеть понятиями распределённого хранения (HDFS) и управления ресурсами (YARN).
- Применять алгоритм MapReduce для решения задач обработки данных
- Владеть представлением об интеграции Hadoop с S3-совместимыми хранилищами
- Владеть принципами организации кода в модули и пакеты
- Применять различные способы импорта и управления зависимостями (pip, venv)
- Применять механизм обработки исключений в Python, иерархию встроенных исключений
Содержание учебной дисциплины
- Введение в базовый Python. Синтаксис
- Продвинутые возможности Python
- Концепция ООП на Python
- Основы и концепции тестирования
- Bash и командная строка
- Работа с Git
- Модули, файловая система и исключения в Python
- Работа с Docker
- Docker: продвинутые темы и оркестрация
- Введение в DevOps: культура и практики
- Введение в Hadoop
- Hadoop: компоненты и практика
Элементы контроля
- Домашнее заданиеОдно комплексное задание, охватывающее темы Python, bash, Git, Docker, Spark.
- ЭкзаменПисьменная работа (тесты + открытые вопросы).
- Тесты на лекцияхКороткие письменные или онлайн-тесты в начале/конце лекции (5–10 минут).
- Активность на занятиях
- Командный хакатонРабота в группах (не более 5 человек).
- Посещаемость
Промежуточная аттестация
- 2025/2026 4th module0.15 * Активность на занятиях + 0.2 * Командный хакатон + 0.05 * Тесты на лекциях + 0.4 * Экзамен + 0.1 * Домашнее задание + 0.1 * Посещаемость
Список литературы
Рекомендуемая основная литература
- Python. Исчерпывающее руководство. - 978-5-4461-1956-1 - Бизли Дэвид - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/386795 - 386795 - iBOOKS
- Большая книга проектов Python, Свейгарт, Э., 2022
- Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд. - 978-5-4461-1528-0 - Эрик Мэтиз - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/products/371712 - 371712 - iBOOKS
Рекомендуемая дополнительная литература
- Docker без секретов: Пер. с англ. - 978-5-9775-1196-4 - Гош С. - 2023 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/389633 - 389633 - iBOOKS