Бакалавриат
2020/2021
Основы программирования на Python
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс по выбору (Математика)
Направление:
01.03.01. Математика
Где читается:
Факультет математики
Когда читается:
4-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Преподаватели:
Попов Дмитрий Германович
Язык:
русский
Кредиты:
5
Контактные часы:
30
Программа дисциплины
Аннотация
Курс посвящен изучению программирования на языке Python. Предполагается, что в результате освоения курса студенты будут способны самостоятельно разработать и реализовать на языке программирования Python несложные алгоритмы. Целью курса является изучение основных конструкций языка Python, которые пригодятся при решении широкого круга задач – от анализа данных до разработки новых программных продуктов. Для качественного освоения курса достаточно знания математики на уровне средней школы, опыта программирования не требуется. Основные положения дисциплины могут быть использованы в дальнейшем при изучении следующих дисциплин: - Основы программирования на Python, часть 2 - Машинное обучение. По желанию студент может изучать темы повышенной сложности (пилотная группа), при условии знания основной программы курса (подробнее можно прочитать в комментариях к формуле оценке).
Цель освоения дисциплины
- Ознакомление с синтаксисом, основными конструкциями и встроенными библиотеками языка Python.
- Научиться писать хорошо читаемый код, находить и исправлять ошибки, отлаживать программы.
- Уметь самостоятельно на практике составить программу для выполнения поставленной прикладной задачи, работать в среде разработки PyCharm.
Планируемые результаты обучения
- - знать: ◦ основные методы сбора и обработки данных в Python;
- - уметь: ◦ находить необходимые для работы на языке программирования данные; - владеть: ◦ навыками программирования в Python; ◦ навыками работы с разными форматами файлов с данными.
- Приобретение понимания базовых концепций программирования: переменная, цикл, ветвление.
- Приобретение понимания способов работы с языком программирования Python.
- Приобретение умения на практике составить несложную программу для выполнения поставленной аналитической задачи.
Содержание учебной дисциплины
- Начало работы в PythonЗнакомство с интерфейсом Jupyter Notebook. Элементы языка разметки Markdown. Элементарные вычисления в Python. Переменные в Python. Типы данных в Python: числовой, целочисленный, логический, строковый. Приведение типов.
- Целые числа, ввод-вывод, простые операции со строками.Знакомство с Python, основные типы данных, операции с ними. Запуск программ в среде PyCharm. Получение результатов.
- Условный оператор и цикл while.Логический тип переменных, условный оператор. If, else. Цикл while.
- Функции и рекурсия.Функция. Локальные и глобальные переменные. Возврат значений, использование рекурсии.
- Кортежи, списки. Цикл for.Кортежи, списки, основные методы работы с кортежами и списками. Функция range, цикл for и другие функции для работы с контейнерами.
- Множества и словари.Методы создания множеств. Словари, создание и примеры использования.
- Сортировки и введение в алгоритмы.Сортировки и их сложность. Алгоритмическая сложность основных структур данных.
- Генераторы, итераторыИтераторы и генераторы, оператор yield. Создание итерируемых объектов.
- Объектно-ориентированное программированиеВведение в объектно-ориентированное программирование. Классы. Инкапсуляция и конструкторы. Наследование и полиморфизм. Обработка ошибок. Модульное оформление. Логирование и тестирование.
- Инструменты для анализа данныхИзучение модулей scipy, numpy, pandas, matplotlib.
- Pygame.Изучение модуля Pygame.
- Структуры данных и алгоритмы*Деревья, кучи, очереди (материал повышенной сложности предназначен для пилотной группы)
Элементы контроля
- Домашнее задание
- Работа на семинаре
- Мидтерм** - данная форма контроля предназначена для студентов из пилотной группы
- Экзамен** - данная форма контроля предназначена для студентов из пилотной группы
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)(6 + 0.2 * Мидтерм + 0.2 * Экзамен) * [студент в пилотной группе(*)] + (0.4 * Работа на семинаре + 0.6 * Домашние задания) * (1 - [студент в пилотной группе])
Список литературы
Рекомендуемая основная литература
- Nelli, F. (2018). Python Data Analytics : With Pandas, NumPy, and Matplotlib (Vol. Second edition). New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905344
- Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505
Рекомендуемая дополнительная литература
- G. Nair, V. (2014). Getting Started with Beautiful Soup. Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=691839