Специалитет
2023/2024
Язык программирования Python
Статус:
Курс обязательный (Компьютерная безопасность)
Кто читает:
Департамент прикладной математики
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
30
Охват аудитории:
для своего кампуса
Специальность:
10.05.01. Компьютерная безопасность
Язык:
русский
Кредиты:
3
Контактные часы:
64
Программа дисциплины
Аннотация
Целями освоения дисциплины «Язык программирования Python» является: ● понимание основ функционального и объектно-ориентированного программирования на языке Python; ● использования языка Python для решения научных, вычислительных задач и задач анализа данных; ● приобретение навыков и опыта использования широко используемых модулей NumPy, SciPy, Matplotlib, SymPy, Pandas, Scikit-learn, Cython, Numba; ● приобретение навыков и опыта использования интерактивной среды Jupyter Notebook и среды разработки Spyder. Дисциплина реализуется в он-лайн формате
Цель освоения дисциплины
- Получение знаний и навыков программирования на языке Python и использования имеющих широкое применение модулей так называемого «научного стека» (Numpy, Scipy, Matplotlib, Pandas).
Планируемые результаты обучения
- Загружает и обрабатывает данные используя Pandas.
- Определяет необходимость оптимизации, часть программы, подлежащую оптимизации скорости выполнения, и применяет Cython, Numba и Dask для оптимизации. Измеряет и сравнивает скорости выполнения до и после оптимизации.
- Полноценно использует Jupyter Notebook, пишет программу на Python для обработки текста.
- Реализует алгоритм на Python в процедурной и функциональной парадигмах, создает регулярные выражения для обработки текста.
- Реализует вычислительный алгоритм используя Numpy, создает графики используя Matplotlib
- Реализует вычислительный алгоритм используя Scipy, визуализирует результаты используя Matplotlib.
- Реализует программу на языке Python в объектно-ориентированной парадигме, применяет декораторы.
- Устанавливает сборку Anaconda, запускает и использует Jupyter Notebook, пишет простую программу на Python.
Содержание учебной дисциплины
- Введение в Python. Сборка Anaconda (miniconda). Среда программирования Jupyter Notebook. Основные типы данных: строки, списки, кортежи, словари.
- Интерактивное программирование в Jupyter Notebook. Обработка текстов.
- Процедурное и функциональное программирование. Регулярные выражения.
- Модули NumPy, Matplotlib и их применение.
- Модуль SciPy, численные алгоритмы.
- Модуль Pandas, работа с таблицами и анализ данных.
- Оптимизация расчетов при помощи Cython, Numba и Dask.
- Объектно-ориентированное программирование в Python, декораторы.
Элементы контроля
- Тесты по материалам лекций и семинаров
- Практикум на checkio
- Тесты по материалам лекций и семинаров 2 модуля
- Домашнее задание за 2 модуль
- Дополнительные задания свыше объема курса
Промежуточная аттестация
- 2023/2024 учебный год 2 модуль0.297 * Домашнее задание за 2 модуль + 0.152 * Дополнительные задания свыше объема курса + 0.297 * Практикум на checkio + 0.127 * Тесты по материалам лекций и семинаров + 0.127 * Тесты по материалам лекций и семинаров 2 модуля
Список литературы
Рекомендуемая основная литература
- Северенс, Ч. Введение в программирование на Python : учебное пособие / Ч. Северенс. — 2-е изд. — Москва : ИНТУИТ, 2016. — 231 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100703 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Нуньес-Иглесиас, Х. Элегантный SciPy / Х. Нуньес-Иглесиас, в. д. Уолт, Х. Дэшноу. — Москва : ДМК Пресс, 2018. — 266 с. — ISBN 978-5-97060-600-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/116124 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Сузи, Р. А. Язык программирования Python : учебное пособие / Р. А. Сузи. — 2-е изд. — Москва : ИНТУИТ, 2016. — 350 с. — ISBN 5-9556-0058-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100546 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.