Магистратура
2024/2025
Python для инженерии данных
Статус:
Курс обязательный (Инженерия данных)
Направление:
09.04.04. Программная инженерия
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Касьяненко Дарья Алексеевна
Прогр. обучения:
Инженерия данных
Язык:
русский
Кредиты:
6
Контактные часы:
48
Программа дисциплины
Аннотация
Данный курс предоставляет глубокое понимание и навыки работы с языком программирования Python, с особым акцентом на его применении в анализе данных и инженерии данных. В рамках курса студенты изучают продвинутые аспекты Python, включая синтаксис, объектно-ориентированное программирование и возможности специализированных библиотек. Курс также включает изучение ключевых концепций и методов работы с данными, включая обработку больших объемов информации, многопоточное и асинхронное программирование в Python. Студенты приобретают навыки работы с библиотеками и фреймворками для анализа данных и визуализации на практике, а также изучают разработку Python-приложений для обработки и анализа данных.
Цель освоения дисциплины
- Приобретение продвинутых навыков работы с базами данных и ORM на базе языка Python
- Научиться проектировать программное обеспечение с применением объектно-ориентированной парадигмы
- Умение создавать веб-страницы и форматировать их с помощью фреймворков Django, Flask
- Понимание и применение асинхронного и мультипроцессорного программирования
- Умение проектировать программное обеспечение с применением объектно-ориентированной парадигмы
- Понимание и применение асинхронного и мультипроцессорного программирования
Планируемые результаты обучения
- Умение проводить базовый анализ данных
- Умение работать с базами данных на продвинутом уровне с помощью Python
- Умение создавать веб-страницы и их форматирование
- Визуализировать данные с помощью Python
- Умение писать асинхронные и мультипроцессинговые скрипты
- Умение работать с API
- Умение создавать телеграм-ботов
- - читать и записывать файлы
- - записывать различные объекты в файл 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. Перед выполнением задания студент устанавливает jupyter notebook либо использует google colab 2. Студент прикрепляет ссылку на выполненное задание в Google Colab или GitHub (если использовали Jupyter Notebook). По ссылке есть доступ.
- Итоговое задание
Промежуточная аттестация
- 2024/2025 2nd module0.3 * Домашнее задание с проверкой преподавателем + 0.2 * Домашние задания с самостоятельной проверкой + 0.5 * Итоговое задание
Список литературы
Рекомендуемая основная литература
- Карякин, М. И. Технологии программирования и компьютерный практикум на языке Python : учебное пособие / М. И. Карякин, К. А. Ватульян, Р. М. Мнухин ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2022. - 242 с. - ISBN 978-5-9275-4108-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2057604
- Криволапов, С. Я., Статистические вычисления на платформе Jupyter Notebook с использованием Python : учебник / С. Я. Криволапов. — Москва : КноРус, 2022. — 431 с. — ISBN 978-5-406-09739-7. — URL: https://book.ru/book/943660 (дата обращения: 27.08.2024). — Текст : электронный.
- Рагимханова, Г. С. Программирование на Python : учебное пособие / Г. С. Рагимханова. — Махачкала : ДГПУ, 2022. — 126 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/330071 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Федоров, Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для вузов / Д. Ю. Федоров. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2023. — 214 с. — (Высшее образование). — ISBN 978-5-534-15733-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/515076 (дата обращения: 27.08.2024).
- Федоров, Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для вузов / Д. Ю. Федоров. — 5-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2023. — 227 с. — (Высшее образование). — ISBN 978-5-534-17323-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/532868 (дата обращения: 27.08.2024).
- Чернышев, С. А. Основы программирования на Python : учебное пособие для вузов / С. А. Чернышев. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2023. — 349 с. — (Высшее образование). — ISBN 978-5-534-17139-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/532446 (дата обращения: 27.08.2024).
- Чернышев, С. А., Алгоритмы и структуры данных на Python : учебное пособие / С. А. Чернышев. — Москва : КноРус, 2024. — 326 с. — ISBN 978-5-406-11683-8. — URL: https://book.ru/book/949701 (дата обращения: 27.08.2024). — Текст : электронный.
- Язык программирования Python: практикум - Жуков Р.А. - НИЦ ИНФРА-М - 2023 - https://znanium.com/catalog/product/1915716 - 1081627 - ZNANIUM
- Язык программирования Python. Практикум - Жуков Р.А. - НИЦ ИНФРА-М - 2023 - https://znanium.com/catalog/product/1916202 - 1081520 - ZNANIUM
Рекомендуемая дополнительная литература
- Чернышев, С. А. Основы программирования на Python : учебное пособие для вузов / С. А. Чернышев. — Москва : Издательство Юрайт, 2022. — 286 с. — (Высшее образование). — ISBN 978-5-534-14350-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/496893 (дата обращения: 27.08.2024).