2020/2021
Введение в программирование
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Майнор
Когда читается:
1, 2 модуль
Преподаватели:
Бычков Илья Сергеевич,
Гречихин Иван Сергеевич,
Казаков Максим Анатольевич,
Семенов Дмитрий Павлович
Язык:
русский
Кредиты:
5
Контактные часы:
50
Программа дисциплины
Аннотация
Курс посвящён изучению основ и методологии программирования на основе языка Python, который широко используется для разработки и реализации методов анализа данных. Рассматриваются основные структуры и алгоритмы, работа с данными разного вида (тексты, бинарные файлы, изображения), создание графических пользовательских интерфейсов, инструменты и средства разработки и отладки программ.
Цель освоения дисциплины
- Познакомиться с основами программирования на Python Получить теоретические знания и практические навыки, необходимые для дальнейшего изучения анализа данных на Python
Планируемые результаты обучения
- Формулировать особенности языка Python
- Формулировать особенности числовых типов данных
- Описывать особенности каждого из числовых типов данных и приводить примеры их использования
- Формулировать и объяснять понятие переменной
- Описывать тип данных словарь и приводить примеры его использования
- Описывать тип данных множество и приводить примеры его использования
- Объяснять построение программ и синтаксис инструкций на языке Python
- Определять и описывать построение условных конструкций на Python
- Описывать построение и использование циклов на Python
- Описывать процесс передачи и использования параметров функций
- Объяснять понятия итератора, генератора и процесс работы с ними
- Объяснять понятия класса, объекта
- Знает классификацию языков программирования
- Знает операции и выражения.
- Знает определение и объявление массивов.Умеет работать с массивами
- Умеет создавать псевдонимы
Содержание учебной дисциплины
- Введение в PythonВведение в Python. Интерпретатор языка Python. Версии интерпретаторов. Как Python выполняет программы. Как пользователь запускает программы. Первая программа.
- Типы данных. Числа. Строки.Типы данных языка Python. Числовые типы данных и операции с ними. Строковый тип данных и операции с ним. Функции type, dir, help. print, input.
- Типы данных языка 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.
- Раздел 1. Основы языка Си Тема 1.1. Введение в программированиеКлассификация языков программирования. Свойства языков программирования. История и назначения языка Си. Основные парадигмы программирования.
- Тема 1.2. Переменные. Типы данных.Понятие переменной. Атрибуты переменной. Встроенные типы данных. Представление дан-ных. Размер встроенных типов данных.
- Тема 1.3. Операции и выражения.Операции и выражения. Унарные, бинарные, тернарная операции. Приоритет операций. Ассоциативность операций.
- Тема 1.4. Понятие оператора.Понятие оператора. Пустой оператор. Оператор-выражение. Простой оператор. Составной оператор. Оператор условия. Оператор множественного выбора. Операторы цикла. Операторы управления
- Тема 1.5. Ввод/вывод данных.Консольный ввод/вывод. Основные функции ввода/вывода. Понятие файла. Текстовые и двоичные файлы. Основные функции ввода/вывода.
- Тема 1.6. Массивы.Определение и объявление массивов. Размещение массивов в памяти. Работа с массивами. Многомерные массивы. Представление многомерных массивов в памяти.
- Тема 1.7. Указатели.Понятие указателя. Объявление и инициализация указателей. Операции с указателями. Взаи-мосвязь указателей и массивов. Указатели на массивы и массивы указателей
- Тема 1.8. Функции.Определения функций. Прототип функций. Формальные и фактические параметры. Возвращаемые значения Рекурсия. Передача массивов в функции. Указатели на функции
- Раздел 2. Работа с пользовательскими типами данных в Си. Тема 2.1. Псевдонимы.Создание псевдонимов. Варианты использования псевдонимов.
- Тема 2.2. ПеречисленияПонятие перечисления. Создание перечислений. Связь перечисления с массивом строк.
- Типы данных языка Python. Списки.Типы данных языка Python. Понятие изменяемых и неизменяемых типов данных. Переменные. Функция id. Списки и операции со списками. Генераторы списков.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.25 * Лабораторная работа 1 + 0.25 * Лабораторная работа 2 + 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