• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Специалитет 2019/2020

Язык программирования Python

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Компьютерная безопасность)
Когда читается: 3-й курс, 1, 2 модуль
Формат изучения: Blended
Специальность: 10.05.01. Компьютерная безопасность
Язык: русский
Кредиты: 3

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

Аннотация

Целями освоения дисциплины «Язык программирования Python» является: ● понимание основ функционального и объектно-ориентированного программирования на языке Python; ● использования языка Python для решения научных, вычислительных задач и задач анализа данных; ● приобретение навыков и опыта использования широко используемых модулей NumPy, SciPy, Matplotlib, SymPy, Pandas, Scikit-learn, Cython, Numba; ● приобретение навыков и опыта использования интерактивной среды Jupyter Notebook и среды разработки Spyder.
Цель освоения дисциплины

Цель освоения дисциплины

  • Получение знаний и навыков программирования на языке Python и использования имеющих широкое применение модулей так называемого «научного стека» (Numpy, Scipy, Matplotlib, Pandas).
Планируемые результаты обучения

Планируемые результаты обучения

  • Устанавливает сборку Anaconda, запускает и использует Jupyter Notebook, пишет простую программу на Python.
  • Полноценно использует Jupyter Notebook, пишет программу на Python для обработки текста.
  • Реализует алгоритм на Python в процедурной и функциональной парадигмах, создает регулярные выражения для обработки текста.
  • Реализует вычислительный алгоритм используя Numpy, создает графики используя Matplotlib
  • Реализует вычислительный алгоритм используя Scipy, визуализирует результаты используя Matplotlib.
  • Загружает и обрабатывает данные используя Pandas.
  • Определяет необходимость оптимизации, часть программы, подлежащую оптимизации скорости выполнения, и применяет Cython, Numba и Dask для оптимизации. Измеряет и сравнивает скорости выполнения до и после оптимизации.
  • Реализует программу на языке Python в объектно-ориентированной парадигме, применяет декораторы.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в Python. Сборка Anaconda (miniconda). Среда программирования Jupyter Notebook. Основные типы данных: строки, списки, кортежи, словари.
    Синтаксис Python, управляющие инструкции (условные операторы, циклы, генераторы списков), строки, списки, словари, функции.
  • Интерактивное программирование в Jupyter Notebook. Обработка текстов.
    Статистическая обработка текста.
  • Процедурное и функциональное программирование. Регулярные выражения.
    Функциональное программирование. Регулярные выражения.
  • Модули NumPy, Matplotlib и их применение.
    Модуль NumPy.
  • Модуль SciPy, численные алгоритмы.
    Модуль SciPy, численные алгоритмы.
  • Модуль Pandas, работа с таблицами и анализ данных.
    Модуль Pandas, работа с таблицами и анализ данных.
  • Оптимизация расчетов при помощи Cython, Numba и Dask.
    Оптимизация расчетов при помощи Cython, Numba и Dask.
  • Объектно-ориентированное программирование в Python, декораторы.
    Объектно-ориентированное программирование в Python, декораторы.
Элементы контроля

Элементы контроля

  • неблокирующий аудиторный контроль
  • неблокирующий домашняя работа 1-ый модуль
    Домашние задания выдаются в электронной форме в формате Jupyter Notebook (*.ipynb). Такой ноутбук (файл) подготавливается преподавателем для каждого студента, и студент обязан выполнить задание именно в этом ноутбуке, после чего загрузить этот ноутбук по ссылке, указанной в одной из первых ячеек этого ноутбука. Допускается загрузка нескольких версий ноутбука, при этом для проверки будет использована последняя версия, которая была загружена до дедлайна.
  • неблокирующий прохождение онлайн курса
  • неблокирующий экзамен 1-го модуля
  • неблокирующий экзамен 2-го модуля
  • неблокирующий домашняя работа 2-ой модуль
    Домашние задания выдаются в электронной форме в формате Jupyter Notebook (*.ipynb). Такой ноутбук (файл) подготавливается преподавателем для каждого студента, и студент обязан выполнить задание именно в этом ноутбуке, после чего загрузить этот ноутбук по ссылке, указанной в одной из первых ячеек этого ноутбука. Допускается загрузка нескольких версий ноутбука, при этом для проверки будет использована последняя версия, которая была загружена до дедлайна.
  • неблокирующий Контрольно-измерительные материалы
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (1 модуль)
    0.2 * аудиторный контроль + 0.15 * домашняя работа 1-ый модуль + 0.15 * прохождение онлайн курса + 0.5 * экзамен 1-го модуля
  • Промежуточная аттестация (2 модуль)
    0.2 * аудиторный контроль + 0.15 * домашняя работа 2-ой модуль + 0.15 * прохождение онлайн курса + 0.2 * экзамен 1-го модуля + 0.3 * экзамен 2-го модуля
Список литературы

Список литературы

Рекомендуемая основная литература

  • - Северенс Ч. — Введение в программирование на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - ISBN: - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/100703
  • - Уэс Маккинли — Python и анализ данных - Издательство "ДМК Пресс" - 2015 - ISBN: 978-5-97060-315-4 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/73074

Рекомендуемая дополнительная литература

  • - Златопольский Д.М. — Основы программирования на языке Python - Издательство "ДМК Пресс" - 2017 - ISBN: 978-5-97060-552-3 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/97359
  • - Нуньес-Иглесиас Х., Уолт ван дер Ш., Дэшноу Х. — Элегантный SciPy - Издательство "ДМК Пресс" - 2018 - ISBN: 978-5-97060-600-1 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/116124
  • - Сузи Р.А. — Язык программирования Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - ISBN: 5-9556-0058-2 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/100546
  • - Хейдт М. — Изучаем pandas - Издательство "ДМК Пресс" - 2018 - ISBN: 978-5-97060-625-4 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/111429