Бакалавриат
2023/2024





Программирование на Python
Статус:
Курс обязательный (Бизнес-информатика)
Направление:
38.03.05. Бизнес-информатика
Кто читает:
Департамент бизнес-информатики
Где читается:
Высшая школа бизнеса
Когда читается:
2-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Басеян Тигран Овсепович,
Горбунов Александр Андреевич,
Ермолинский Андрей Андреевич,
Косарев Илья Максимович,
Литвин Анна Валерьевна,
Махрова Алина Дмитриевна
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Язык программирования Python является одним из самых популярных языков программирования. Данный язык можно использовать почти во всех IT сферах, от анализа данных и автоматизации рутинных процессов до разработки игр. Данный курс даст студентам продвинутые навыки использования языка Python и навыки использования Python для задач обработки данных. Студенты смогут использовать полученные знания в своей профессиональной деятельности, а также при желании могут углубиться в заинтересовавшую сферу на профильных курсах.
Цель освоения дисциплины
- На курсе студенты должны получить продвинутые навыки использования Python. В них входит знание синтаксиса языка, умение работать с Python с использованием объектно-ориентированной и функциональной парадигмы программирования, умение работать с популярными библиотеками, используемыми в задачах обработки данных.
Планируемые результаты обучения
- Умеет использовать при разработке программ встроенные типы данных, конструкции ветвления, коллекции и структуры данных языка Python.
- Использует инструменты тестирования и обработки исключений в программном коде.
- Умеет обрабатывать файлы с помощью Python.
- Знает основы и различия подходов процедурного и объектно-ориентированного программирования.
- Работает с библиотеками для анализа данных (NumPy, Pandas, Matplotlib), создания Telegram-ботов (TeleBot) и другими встроенными библиотеками языка Python.
- Разрабатывает собственные проекты
- Использовать базовые и продвинутые алгоритмы, включая корректные структуры данных, для решения алгоритмических задач.
- Умеет использовать при разработке программ встроенные типы данных Python, конструкции ветвления и циклы.
- Умеет использовать коллекции в Python: списки, кортежи, словари, множества и специальные коллекции из стандартной библиотеки. Умеет пользоваться выражениями генераторами.
- Умеет создавать функции, анонимные функции, запаковывать и распаковывать параметры функции, использовать позиционные и именованные параметры, параметры со значением по умолчанию.
- Умеет использовать принципы объектно-ориентированного программирования, владеет созданием классов и объектов в Python.
- Умеет обрабатывать файлы с помощью Python. В том числе умеет работать с данными в файлах форматов CSV, xlsx, JSON, XML, pickle, npy.
- Умеет работать с библиотекой для анализа данных NumPy, использует срезы, универсальные функции, оси, распространение, маскирование, прихотливую индексацию.
- Умеет работать с библиотекой для анализа данных Pandas: типами Series, DataFrame, универсальными функциями применением приемов NumPy в Pandas, объединением данных из разных DataFrame, выполнением GrupBy для DataFrame.
- Умеет использовать основные принципы фукнционалного программирования, подходы к использованию приемов функционального программирования в Python.
Содержание учебной дисциплины
- Введение в Python. Базовый синтаксис. Переменные и типы данных
- Ветвление и циклы
- Встроенные структуры данных и их методы.
- Функции.
- Основы тестирования и обработка исключений
- Способы работы с файлами.
- Основы ООП
- Разработка Telegram-бота
- Анализ данных с помощью библиотек Numpy, Pandas, Matplotlip
- Cтруктуры данных
- Базовые алгоритмы. Сложность алгоритмов
- Оптимизация алгоритмов в Python
- Продвинутые алгоритмы в Python
Элементы контроля
- Выполнение домашних практических заданий, модуль 3
- Контрольные работы
- Экзамен1) Экзамен проходит в экзаменационный период. 2) Студенты выполняют письменный экзамен синхронно в назначенное заранее время. Экзамен содержит в себе задачи, которые нужно решить и отправить строго в отведенное время. 3) Экзамен проводится без прокторинга, однако списывание и плагиат строго запрещены. Все пары решений, уличенные в плагиате, будут оценены в 0 баллов.
- Проект 1Проект представляет собой разработку Telegram-бота с помощью библиотеки TeleBot и других вспомогательных библиотек. Студентам необходимо будет разработать чат-бот, который сможет коммуницировать с пользователем, выполнять команды, рассылки, отвечать на запросы и обладать минималистичным интерфейсом (пояснительная справка, клавиатура и др.). Цель проекта - овладеть инструментарием для создания чат-бота, с гипотетической интеграцией в сферы маркетинга, технической поддержки или автоматизации бизнес-процессов.
- Выполнение домашних практических заданий, модуль 4
- Проект 2Проект представляет собой анализ датасета с помощью библиотек для анализа данных (NumPy, Pandas, Matplotlib).
Промежуточная аттестация
- 2023/2024 4th module0.1 * Выполнение домашних практических заданий, модуль 3 + 0.1 * Выполнение домашних практических заданий, модуль 4 + 0.15 * Контрольные работы + 0.2 * Проект 1 + 0.25 * Проект 2 + 0.2 * Экзамен
Список литературы
Рекомендуемая основная литература
- 9781491912140 - Vanderplas, Jacob T. - Python Data Science Handbook : Essential Tools for Working with Data - 2016 - O'Reilly Media - https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1425081 - nlebk - 1425081
- Lutz, M. (2008). Learning Python (Vol. 3rd ed). Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415392
- Искусство программирования. Т.1: Основные алгоритмы, Кнут, Д. Э., 2011
Рекомендуемая дополнительная литература
- Baka, B. (2017). Python Data Structures and Algorithms. Birmingham, U.K.: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1528144