• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Python Programming Language

2020/2021
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Course type:
Compulsory course
When:
3 year, 1, 2 module

Instructor

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

Аннотация

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

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

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

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

  • Реализует вычислительный алгоритм используя Scipy, визуализирует результаты используя Matplotlib.
  • Полноценно использует Jupyter Notebook, пишет программу на Python для обработки текста.
  • Устанавливает сборку Anaconda, запускает и использует Jupyter Notebook, пишет простую программу на Python.
  • Реализует алгоритм на Python в процедурной и функциональной парадигмах, создает регулярные выражения для обработки текста.
  • Реализует вычислительный алгоритм используя Numpy, создает графики используя 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-ый модуль
    Домашние задания выдаются в электронной форме в формате Jupyter Notebook (*.ipynb). Такой ноутбук (файл) подготавливается преподавателем для каждого студента, и студент обязан выполнить задание именно в этом ноутбуке, после чего загрузить этот ноутбук по ссылке, указанной в одной из первых ячеек этого ноутбука. Допускается загрузка нескольких версий ноутбука, при этом для проверки будет использована последняя версия, которая была загружена до дедлайна.
  • неблокирующий прохождение онлайн курса
  • неблокирующий экзамен 1-го модуля
  • неблокирующий экзамен 2-го модуля
  • неблокирующий домашняя работа 2-ой модуль
    Домашние задания выдаются в электронной форме в формате Jupyter Notebook (*.ipynb). Такой ноутбук (файл) подготавливается преподавателем для каждого студента, и студент обязан выполнить задание именно в этом ноутбуке, после чего загрузить этот ноутбук по ссылке, указанной в одной из первых ячеек этого ноутбука. Допускается загрузка нескольких версий ноутбука, при этом для проверки будет использована последняя версия, которая была загружена до дедлайна.
  • неблокирующий Контрольно-измерительные материалы
Промежуточная аттестация

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

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

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

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

  • Северенс Ч. - Введение в программирование на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 231с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100703

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

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