2019/2020
Введение в программирование
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Майнор
Когда читается:
1, 2 модуль
Преподаватели:
Бычков Илья Сергеевич,
Гречихин Иван Сергеевич,
Казаков Максим Анатольевич,
Семенов Дмитрий Павлович
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Курс знакомит студентов с основами программирования на языке Python. Рассчитан на любой уровень знаний, включая начальный. В курсе рассматривается синтаксис языка Python, основные типы данных и инструкции, полезные библиотеки для подготовки к анализу данных.
Цель освоения дисциплины
- Познакомиться с основами программирования на Python
- Получить теоретические знания и практические навыки, необходимые для дальнейшего изучения анализа данных на Python
Планируемые результаты обучения
- Формулировать особенности языка Python
- Объяснять процесс выполнения программ на Python
- Формулировать особенности числовых типов данных
- Описывать особенности каждого из числовых типов данных и приводить примеры их использования
- Описывать особенности строкового типа данных и приводить примеры его использования
- Формулировать и объяснять понятие изменяемости в типах данных
- Формулировать и объяснять понятие переменной
- Описывать тип данных список и приводить примеры его использования
- Описывать тип данных словарь и приводить примеры его использования
- Описывать тип данных кортеж и приводить примеры его использования
- Описывать тип данных множество и приводить примеры его использования
- Описывать файл, логический тип, NoneType и приводить примеры их использования
- Объяснять построение программ и синтаксис инструкций на языке Python
- Определять и описывать операции присваивания и присваивания последовательностей
- Определять и описывать построение условных конструкций на Python
- Описывать построение и использование циклов на Python
- Формулировать понятие функции и ее назначение
- Объяснять процесс работы с областями видимости и правила разрешения имен переменных
- Описывать процесс передачи и использования параметров функций
- Формулировать особенности функционального программирования
- Объяснять понятия итератора, генератора и процесс работы с ними
- Формулировать особенности объектно-ориентированного программирования
- Объяснять понятия класса, объекта
- Описывать процесс работы с исключительными ситуациями в Python
Содержание учебной дисциплины
- Введение в PythonВведение в Python. Интерпретатор языка Python. Версии интерпретаторов. Как Python выполняет программы. Как пользователь запускает программы. Первая программа.
- Типы данных. Числа. Строки.Типы данных языка Python. Числовые типы данных и операции с ними. Строковый тип данных и операции с ним. Функции type, dir, help. print, input.
- Типы данных языка Python. Списки.Типы данных языка Python. Понятие изменяемых и неизменяемых типов данных. Переменные. Функция id. Списки и операции со списками. Генераторы списков.
- Типы данных языка Python. Словари. Кортежи. Множества.Типы данных языка Python. Словари и операции со словарями. Кортежи и операции с кортежами. Множества и операции с множествами. Файлы, логический тип, NoneType и операции с ними.
- Выражение и синтаксис. Общие положения. Условные операторы.Синтаксис инструкций на языке Python. Отступы. Составные инструкции. Именование переменных. Операции присваивания. Присваивание последовательностей. Условные операторы.
- Выражения и синтаксис. Операторы циклов.Синтаксис инструкций на языке Python. Операторы циклов. Циклы for, while. Операторы break, continue. Присваивание последовательностей в циклах. Функции range, enumerate.
- Функции в языке Python.Функции. Ключевое слово def. Области видимости. Правило LEGB. Ключевые слова global, nonlocal. Аргументы и функции. Формальные и фактические аргументы и их определение.
- Функции. Итераторы и генераторы.Функциональная парадигма. Анонимные функции и ключевое слово lambda. Понятие итератора. Понятие генератора. Функции map, reduce, filter. Модули itertools, functools.
- Объектно-ориентированное программирование в Python. Исключения. Полезные библиотеки.Основы ООП. Классы, объекты, создание классов в Python. Наследование. Перегрузка операций. Исключения. Иерархия исключений и их обработка. PEP8. Библиотеки numpy, scipy, matplotlib, nltk, pymorphy2.
Элементы контроля
- Лабораторная работа - Основные инструкции и типы данных
- Лабораторная работа - Работа с данными
- Экзамен
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.25 * Лабораторная работа - Основные инструкции и типы данных + 0.25 * Лабораторная работа - Работа с данными + 0.5 * Экзамен
Список литературы
Рекомендуемая основная литература
- Hetland, M. L. (2017). Beginning Python : From Novice to Professional (Vol. Third edition). New York: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174463
Рекомендуемая дополнительная литература
- Северенс Ч. - Введение в программирование на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 231с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100703