2025/2026





Python для инженерии данных
Статус:
Маго-лего
Когда читается:
1-3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Контактные часы:
64
Программа дисциплины
Аннотация
Данный курс предоставляет глубокое понимание и навыки работы с языком программирования Python, с особым акцентом на его применении в анализе данных и инженерии данных. В рамках курса студенты изучают продвинутые аспекты Python, включая синтаксис, объектно-ориентированное программирование и возможности специализированных библиотек. Курс также включает изучение ключевых концепций и методов работы с данными, включая обработку больших объемов информации, многопоточное и асинхронное программирование в Python. Студенты приобретают навыки работы с библиотеками и фреймворками для анализа данных и визуализации на практике, а также изучают разработку Python-приложений для обработки и анализа данных.
Цель освоения дисциплины
- Приобретение продвинутых навыков работы с базами данных и ORM на базе языка Python
- Умение проектировать программное обеспечение с применением объектно-ориентированной парадигмы
- Понимание и применение асинхронного и мультипроцессорного программирования
Планируемые результаты обучения
- - читать и записывать файлы
- - записывать различные объекты в файл Python и читать их обратно
- - объединять аналитические данные из разных систем в одну структуру
- - устанавливать пакетный менеджер pip
- - создавать структуры хранения
- - работать с файлами в Python
- - работать с ошибками в Python
- - работать с классами date, time, datetime, может выполнить прибавление интервала к датам
- - работать с датами в Python
- - объявлять класс в Python
- - применять метод Init
- - импортировать классы и функции различными методами
- - работать с классами в Python
- - работать с регулярными выражениями
- - использовать тестеры регулярных выражений
- - решать несложные задачи, используя принцип параллельных вычислений
- - создавать параллелизм с помощью потоков в Python
- - создавать параллелизм через процессы в Python
- - использовать принципы многопоточности и многопроцессности в написании кода
- - использовать модуль threading для создания потоков в Python
- - использовать модуль multiprocessing для создания процессов в Python
- - загружать данные из различных форматов
- - визуализировать данные
- - фильтровать, сортировать, группировать и агрегировать данные
- - решать MapReduce задачи на Python
- - настраивать взаимодействие с кластером с помощью HDFS
- - записывать и читать данные в/из HDFS
- - обрабатывать данные
- - готовить витрину для аналитиков данных
- - управлять производительностью путем масштабирования ресурсов и кеширования
- - настраивать Kafka сервер
- - работать с продюсерами и консьюмерами
- - обрабатывать сообщения
- - готовить потоковые данные для аналитиков
- - создавать приложения на Spark Structure Streaming
- - устанавливать Spark на локальной машине
Содержание учебной дисциплины
- Работа с файлами и пакетами
- Время и даты в Python
- Понятие класса. Классы и объекты (ООП)
- Регулярные выражения
- Параллельные вычисления. Многопоточность и многопроцессность
- Библиотеки numpy и Pandas. Визуализация данных.
- Продвинутый функционал Pandas. Группировки.
- Hadoop и MapReduce.
- Apache spark.
- Kafka.
- Знакомство со Spark streaming.
Элементы контроля
- Домашнее задание с проверкой преподавателем
- Домашние задания с самостоятельной проверкой
- Тест по 1 модулю
Промежуточная аттестация
- 2025/2026 2nd moduleФормула итоговой оценки по дисциплине: 0,2 × оценка за 1 модуль + 0,8 × оценка за 2 и 3 модуль = 1 Текущий контроль за 1 модуль: 0,5 × Домашнее задание с проверкой преподавателем + 0,3 × Домашние задания с самостоятельной проверкой + 0,2 × Итоговый тест по 1 модулю = 1
- 2025/2026 3rd moduleФормула итоговой оценки по дисциплине: 0,2 × оценка за 1 модуль + 0,8 × оценка за 2 и 3 модуль = 1 Текущий контроль за 1 модуль: 0,5 × Домашнее задание с проверкой преподавателем + 0,3 × Домашние задания с самостоятельной проверкой + 0,2 × Итоговый тест по 1 модулю = 1
Список литературы
Рекомендуемая основная литература
- Криволапов, С. Я., Статистические вычисления на платформе Jupyter Notebook с использованием Python : учебник / С. Я. Криволапов. — Москва : КноРус, 2022. — 431 с. — ISBN 978-5-406-09739-7. — URL: https://book.ru/book/943660 (дата обращения: 03.04.2025). — Текст : электронный.
- Федоров, Д. Ю. Программирование на python : учебное пособие для вузов / Д. Ю. Федоров. — 6-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2025. — 187 с. — (Высшее образование). — ISBN 978-5-534-19666-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/556864 (дата обращения: 03.04.2025).
- Чернышев, С. А. Основы программирования на Python : учебник для вузов / С. А. Чернышев. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2025. — 349 с. — (Высшее образование). — ISBN 978-5-534-17139-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/567821 (дата обращения: 03.04.2025).
Рекомендуемая дополнительная литература
- Жуков, Р. А. Язык программирования Python. Практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2024. — 216 с. + Доп. материалы [Электронный ресурс]. — (Среднее профессиональное образование). - ISBN 978-5-16-015638-5. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2131861
- Карякин, М. И. Технологии программирования и компьютерный практикум на языке Python : учебное пособие / М. И. Карякин, К. А. Ватульян, Р. М. Мнухин ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2022. - 242 с. - ISBN 978-5-9275-4108-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2057604