Бакалавриат
2020/2021
Компьютерный практикум по программированию на Python
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Где читается:
Факультет экономики, менеджмента и бизнес-информатики
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Язык:
русский
Кредиты:
5
Контактные часы:
58
Программа дисциплины
Аннотация
Настоящая программа учебной дисциплины устанавливает требования к образовательным результатам и результатам обучения студента и определяет содержание и виды учебных занятий и отчетности. Программа предназначена для преподавателей, ведущих дисциплину «Компьютерный практикум по программированию на Python», учебных ассистентов и студентов направления подготовки 09.03.04 Программная инженерия, обучающихся по образовательной программе «Программная инженерия». При изучении дисциплины «Компьютерный практикум по программированию на Python» студенты получат основные навыки программирования на языке Python, смогут решать поставленные перед ними математические или прикладные задачи. Также студенты получат опыт работы с различными библиотеками для работы с данными, такими как pandas, matplotlib, lxml и другими. В завершении курса получат навыки создания простых веб-приложений с использованием фреймворка Flask.
Цель освоения дисциплины
- Научиться применять язык программирования Python для решения прикладных задач.
- Научиться анализировать и интерпретировать данные с помощью Python.
- Создавать решения на языке Python, позволяющие упростить работу с большим объёмом данных.
Планируемые результаты обучения
- Устанавливает необходимые компоненты Python на компьютер. Контроль не предусмотрен
- Решает задачи на условия и циклы
- Решает задачи на использование модуля random, создание функций, списков и строк и простые операции с ними.
- Решает задачи на работу с коллекциями, строками, файлами для решения прикладных задач.
- Умеет создавать простую базу данных и хранить в JSON файле, а также обеспечить взаимодействие с данными.
- Умеет анализировать готовый набор данных с помощью инструментов Python, а также проводить визуализацию данных.
- Собирает данные из внешних ресурсов и умеет формализовать и визуализировать их для проведения детального анализа.
- Умеет и понимает, как создавать WEB-приложение с помощью фреймворка Flask.
- Пишет отчёт о выполнении лабораторной работы №7.
Содержание учебной дисциплины
- Введение в PythonТема 1. История языка Python. Кратко освещается история языка: когда и кем создан, каких принципов придерживались разработчики языка, особенности Python. Тема 2. Простейшие способы и средства разработки для написания программ на Python. Рассматриваются способы создания простейших программ на языке Python и способы запуска: через консоль (терминал) либо на примере работы с IDLE. Тема 3. Синтаксис языка, простые типы данных и операции с ними. Изучается стандартный состав программы, правила именования переменных, простые типы данных. Рассматриваются операции над целыми и вещественными числами, а также строки и простейшие операции с ними.
- Условные операторы, циклы в PythonТема 4. Условные операторы. Изучается синтаксис простого и каскадного условного оператора в Python. Освещаются логические операторы, применимые в изучаемом языке. Тема 5. Циклы. Рассматриваются циклы while, while с веткой else и цикл for, а также операторы break и continue (прерывание или досрочный переход к последующим итерациям цикла). Тема 6. Списки. Рассматриваются списки и стандартные функции для работы с ними.
- Модуль random. Функции. Обработка исключенийТема 7. Модуль random. Включает в себя описание модуля генерации случайных чисел и функций, входящих в этот модуль. Рассматриваются примеры генерации случайных значений. Тема 8. Функции. Изучается синтаксис простых функций, особенности возвращаемых значений и аргументов. Рассматривается анонимная (лямбда) функция, а также локальные и глобальные переменные. Тема 9. Обработка исключений. Рассматриваются типы ошибок, возможных при разработке и эксплуатации программных систем с примерами. Изучается блок обработки исключительных ситуаций в языке Python «try-except-else-finally». Демонстрируются примеры обработки исключительных ситуаций в программах на Python.
- Строки. Коллекции. Работа с файламиТема 10. Функции работы со строками. Разбираются стандартные функции для работы со строками. Тема 11. Коллекции и работа с ними. Рассматриваются такие коллекции как списки, кортежи, множества, словари, а также способы их создания, некоторые функции и операции для работы с ними. Тема 12. Работа с файлами. Повторяются общие правила работы с файлами. Изучаются механизмы открытия, закрытия и изменения файлов на Python.
- Введение в анализ и визуализацию данных на PythonТема 13. Подготовка и выбор датасета для дальнейшего анализа. Демонстрация источников с данными. Краткое пояснение к источникам и предметным областям, данные о которых можно найти на предложенных сайтах. Тема 14. Анализ выбранной предметной области с помощью библиотек pandas, numpy. Изучение примерного алгоритма анализа данных с помощью инструментов Python, используемых для понимания сути данных и как с ними работать. Тема 15. Визуализация данных с помощью pandas и matplotlib. Демонстрация способов построения диаграмм по данным или с помощью специализированной библиотеки. Понимание пользы визуального анализа данных.
- Сбор данных в интернете с помощью PythonТема 16. Парсинг данных. Рассматривается пример парсинга данных с сайта авиакомпании «Победа»: путём сохранения кода страницы в локальный файл либо напрямую через обращение к странице в интернете. Используется библиотека lxml для удобного представления данных в памяти и дальнейшего анализа.
- Введение в WEB-разработку на Python. Фреймворк FlaskТема 17. Web-разработка по шаблону. Рассматривается пример Web-приложения, разработанного с помощью фреймворка Flask. Используется препроцессор PUG для удобной HTML-верстки Web-страниц. Демонстрируется способ отображения динамического контента через JavaScript, а CSS фреймворк представлен Bootstrap 5.
Элементы контроля
- Лабораторная работа №1. Задачи на условия и циклы.
- Лабораторная работа №2. Модуль random, создание функций, списков и строк, операции с ними.
- Лабораторная работа №3. Задачи на работу с коллекциями, строками, файлами.
- Лабораторная работа №4. Введение в базы данных на примере работы с JSON файлами.
- Установка необходимых компонентов Python
- Лабораторная работа №5. Введение в анализ данных с помощью языка Python.
- Лабораторная работа №6. Сбор актуальных данных из внешних источников и их визуализация.
- Лабораторная работа №7. Разработка WEB приложения с помощью фреймворка Flask.
- Самостоятельная работа. Выполнение отчёта по лабораторной работе №7.
- Экзамен
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.085 * Лабораторная работа №1. Задачи на условия и циклы. + 0.085 * Лабораторная работа №2. Модуль random, создание функций, списков и строк, операции с ними. + 0.085 * Лабораторная работа №3. Задачи на работу с коллекциями, строками, файлами. + 0.085 * Лабораторная работа №4. Введение в базы данных на примере работы с JSON файлами. + 0.085 * Лабораторная работа №5. Введение в анализ данных с помощью языка Python. + 0.085 * Лабораторная работа №6. Сбор актуальных данных из внешних источников и их визуализация. + 0.06 * Лабораторная работа №7. Разработка WEB приложения с помощью фреймворка Flask. + 0.03 * Самостоятельная работа. Выполнение отчёта по лабораторной работе №7. + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- Гринберг М. - Разработка веб-приложений с использованием Flask на языке Python - Издательство "ДМК Пресс" - 2014 - 272с. - ISBN: 978-5-97060-138-9 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/90103
- Маккинни У. - Python и анализ данных - Издательство "ДМК Пресс" - 2020 - 540с. - ISBN: 978-5-97060-590-5 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/131721
- Северенс Ч. - Введение в программирование на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 231с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100703
Рекомендуемая дополнительная литература
- Бонцанини М. - Анализ социальных медиа на Python. Извлекайте и анализируйте данные из всех уголков социальной паутины на Python - Издательство "ДМК Пресс" - 2018 - 288с. - ISBN: 978-5-97060-574-5 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/108129
- Златопольский Д. М. - Основы программирования на языке Python - Издательство "ДМК Пресс" - 2018 - 396с. - ISBN: 978-5-97060-641-4 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/131683
- Сузи Р.А. - Язык программирования Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 350с. - ISBN: 5-9556-0058-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100546
- Хахаев И.А. - Практикум по алгоритмизации и программированию на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 178с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100377