Бакалавриат
2022/2023
Программирование на Python
Статус:
Курс обязательный (Управление бизнесом (очно-заочное обучение))
Направление:
38.03.02. Менеджмент
Кто читает:
Факультет менеджмента (Нижний Новгород)
Где читается:
Факультет менеджмента (Нижний Новгород)
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
44
Охват аудитории:
для своего кампуса
Преподаватели:
Савченко Людмила Васильевна
Язык:
русский
Кредиты:
3
Контактные часы:
16
Программа дисциплины
Аннотация
Язык программирования Python является одним из самых популярных языков современности. Python используется для написания кода в самых разных сферах, например, в бэкенд-разработке, анализе данных и машинном обучении. Это обусловлено простотой языка и обширной экосистемой. В курсе будет рассмотрен синтаксис языка, основные структуры данных, основы ООП и показаны некоторые применения языка Python.
Цель освоения дисциплины
- Понимать фундаментальные принципы объектно-ориентированного программирования и уметь применять их в Python
- Иметь навыки программирования на языке высокого уровня, декомпозиции кода, придерживаться стиля написания программ
- Понимать основные сферы применения языка Python, уметь оценивать производительность кода и эффективность использования языка для решения задачи из конкретной области
Планируемые результаты обучения
- Знать основные структуры данных в Python, сложность выполнения операций при работе с ними
- Знать синтаксис языка Python, основные типы
- Иметь навыки работы со сторонними библиотеками, уметь быстро разбираться в API и создавать MVP
- Понимать основы многопоточности и уметь работать с реализацией этой идеи в языке Python
- Уметь работать со стандартной библиотекой языка, знать основные модули
Содержание учебной дисциплины
- Немного об истории. Hello, world! Понятие переменной, целочисленная арифметика. Представление целых чисел в памяти компьютера. Битовые операции. Питон как простейший калькулятор. Команда id. Модель copy-on-write. Операторы сравнения, присваивания. Правила именования переменных.
- Логический тип. None. Условный оператор. Ленивые вычисления. Понятие приоритета операций. Закон де Моргана. Вложенные условия, базовое определение области видимости переменной
- Цикл while. Использование break, continue, else. Вещественные числа. Представление вещественных чисел в памяти компьютера. Сравнение вещественных чисел. Строки. Сравнение строк, их обозначение.
- Списки и строки. Изменяемые и неизменяемые типы. Срезы, индексы, операции над строками и списками (методы). Форматирование строк. Кортежи. Хранение массивов в памяти компьютера (и динамических массивов соответственно)
- Функции. Передача параметров в функцию. Глобальные и локальные переменные. Вложенные функции. Рекурсия. functools.partial. Функции all и any. Понятие стека вызовов. Декораторы, параметрические декораторы
- Цикл for. Инструкция range. range в Python2. Генераторы. List comprehension. Понятие iterable-объекта. Лямбда-функции. Итераторы. Основы обработки ошибок
- Словари и множества. Понятие хэша, хэштаблицы, методы разрешения коллизий. Модуль collections, обзор структур данных.
- Основы функционального программирования. Сортировки. Бинарный поиск.
- Основы ООП. Классы, объекты, атрибуты, методы. Понятие конструктора, callable. Основные magic(dunder)-методы. Статические методы, методы класса.
- Наследование. Множественное наследование. Композиция классов. Абстрактные классы. Декораторы классов.
- Исключения. Обработка исключений. Пользовательские исключения. Контекстные менеджеры. Класс-итератор. Устройство базовых протоколов HTTP
- Основы многопоточности и асинхронности. Понятия процесса, потока. Описание клиент-серверной архитектуры.
- Система модулей языка Python. Утилита pip. Использование виртуального окружения. Модуль argparse. Устройство CPython.
Промежуточная аттестация
- 2022/2023 учебный год 2 модуль0.2 * Аудиторные занятия + 0.2 * Домашняя работа + 0.2 * Экзамен
Список литературы
Рекомендуемая основная литература
- Лучано, Р. Python. К вершинам мастерства / Р. Лучано , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2016. — 768 с. — ISBN 978-5-97060-384-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93273 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Eric Matthes. (2019). Python Crash Course, 2nd Edition : A Hands-On, Project-Based Introduction to Programming: Vol. 2nd edition. No Starch Press.