• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Python for Data Engineering

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructor

Программа дисциплины

Аннотация

Данный курс предоставляет глубокое понимание и навыки работы с языком программирования 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 module
    0.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).

Авторы

  • Касьяненко Дарья Алексеевна