• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2020/2021

Язык Python

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

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

Аннотация

Python - язык, ориентированный на скорость и простоту разработки за счет скорости выполнения программ. Это бывает полезно во многих задачах, например в исследовательском программировании, в аналитике, для написания прототипов и т.д. На курсе мы научимся во-первых писать простые программы, а далее будем изучать различные конструкции и библиотеки, позволяющие писать программы быстрее и с меньшим количеством ошибок; а также разрабатывать библиотеки и большие проекты.
Цель освоения дисциплины

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

  • Научиться программировать на языке Python
  • Научиться отлаживать код
  • Научиться эффективно использовать типы данных и библиотеки языка Python
  • Научиться обрабатывать данные средствами Python
Планируемые результаты обучения

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

  • знать основные структуры данных и конструкции языка Python
  • уметь писать работающий код на языке Python
  • уметь читать документацию библиотек
  • уметь работать в среде PyCharm и Jupyter Notebook
  • уметь эффективно работать с конструкциями языка Python
  • владеть парадигмами объектно-ориентированного программирования и функционального программирования
  • владеть библиотеками, активно используемыми в анализе данных; среди них: pandas, NumPy, scikit-learn и другие.
  • знать как запрограммировать параллельные вычисления на Python
Содержание учебной дисциплины

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

  • Введение, знакомство с языком.
    Интерпретатор и его интерактивный режим. Динамическая типизация, базовые типы данных: числовые, str, list. Основные операторы, оператор print. Блоки кода, основные составные операторы: if, while, for. Основные встроенные функции. Создание пользовательских функций. Выражения, приоритеты операторов. Работа с файла-ми. Тип dict, хэширование. Модули, оператор import, модуль sys.
  • Объектно-ориентированное программирование
    Классы, объекты. Пользовательские классы, методы и члены. Конструктор класса. Перегрузка операторов. Объекты в Python.
  • Обработка ошибок
    Исключения, их генерация и обработка. Пользовательские исключения. Освобождение ресурсов, менеджеры контекстов.
  • Обработка ошибок
    Исключения, их генерация и обработка. Пользовательские исключения. Освобождение ресурсов, менеджеры контекстов.
  • Оформление и тестирование кода
    Документирование кода. Инструмент pydoc. Юнит-тестирование. Модуль unittest. Инструменты для тестирования. Инструменты pylint, pyflakes. Отладочные инструменты. Модули, создание модулей. Пространства имен. Исполнение модулей как скриптов.
  • Работа со строками
    Встроенные функции строк. Форматирование строк. Модуль string. Класс unicode, его функции. Кодировки и Unicode, кодирование файлов и исходного кода
  • Модель памяти
    Хранение объектов в памяти, сборщик мусора. Хранение объектов по ссылке и по значению. Изменяемые и неизменяемые объекты. Модуль copy.
  • Функциональное программирование
    Обработка списков, функция map и др., лямбда-функции, распаковка списков и словарей. Расширенная обработка аргументов функций. Генераторы и "ленивое" исполнение. Управляющие исключения. Модуль itertools.
  • Обзор библиотек
    Библиотеки для обработки аргументов командной строки. Системные библиотеки. Стандартные математические библиотеки. Регулярные выражения и модуль re. Библиотеки для работы с HTML/XML. Математические библиотеки: SciPy и др. Библиотека Tkinter. Библиотеки для анализа данных: Pandas, NumPy, scikit-learn
  • Параллельные вычисления в Python
    Многопоточные программы и GIL. Многопроцессорные программы
  • Расширенная работа с объектами
    Модификаторы доступа. Наследование, разрешение имен. Метаклассы. Объект type. Декораторы.
Элементы контроля

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

  • неблокирующий Домашняя работа
  • неблокирующий Домашняя работа
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    0.3 * Домашняя работа + 0.3 * Домашняя работа + 0.4 * Экзамен
Список литературы

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

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

  • Лучано Рамальо - Python. К вершинам мастерства - Издательство "ДМК Пресс" - 2016 - 768с. - ISBN: 978-5-97060-384-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/93273
  • Северенс Ч. - Введение в программирование на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 231с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100703

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

  • Сузи Р.А. - Язык программирования Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 350с. - ISBN: 5-9556-0058-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100546