• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Основы программирования на Python

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты
Статус:
Курс обязательный
Когда читается:
3-й курс, 1, 2 модуль

Преподаватели


Попов Дмитрий Германович

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

Аннотация

Курс посвящен изучению программирования на языке Python. Предполагается, что в результате освоения курса студенты будут способны самостоятельно разработать и реализовать на языке программирования Python несложные алгоритмы. Целью курса является изучение основных конструкций языка Python, которые пригодятся при решении широкого круга задач – от анализа данных до разработки новых программных продуктов. Для качественного освоения курса достаточно знания математики на уровне средней школы, опыта программирования не требуется. Основные положения дисциплины могут быть использованы в дальнейшем при изучении следующих дисциплин: - Основы программирования на Python, часть 2 - Машинное обучение. По желанию студент может изучать темы повышенной сложности (пилотная группа), при условии знания основной программы курса (подробнее можно прочитать в комментариях к формуле оценке).
Цель освоения дисциплины

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

  • Ознакомление с синтаксисом, основными конструкциями и встроенными библиотеками языка Python.
  • Научиться писать хорошо читаемый код, находить и исправлять ошибки, отлаживать программы.
  • Уметь самостоятельно на практике составить программу для выполнения поставленной прикладной задачи, работать в среде разработки PyCharm.
Планируемые результаты обучения

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

  • - знать: ◦ основные методы сбора и обработки данных в Python;
  • - уметь: ◦ находить необходимые для работы на языке программирования данные; - владеть: ◦ навыками программирования в Python; ◦ навыками работы с разными форматами файлов с данными.
  • Приобретение понимания базовых концепций программирования: переменная, цикл, ветвление.
  • Приобретение понимания способов работы с языком программирования Python.
  • Приобретение умения на практике составить несложную программу для выполнения поставленной аналитической задачи.
Содержание учебной дисциплины

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

  • Начало работы в Python
    Знакомство с интерфейсом Jupyter Notebook. Элементы языка разметки Markdown. Элементарные вычисления в Python. Переменные в Python. Типы данных в Python: числовой, целочисленный, логический, строковый. Приведение типов.
  • Целые числа, ввод-вывод, простые операции со строками.
    Знакомство с Python, основные типы данных, операции с ними. Запуск программ в среде PyCharm. Получение результатов.
  • Условный оператор и цикл while.
    Логический тип переменных, условный оператор. If, else. Цикл while.
  • Функции и рекурсия.
    Функция. Локальные и глобальные переменные. Возврат значений, использование рекурсии.
  • Кортежи, списки. Цикл for.
    Кортежи, списки, основные методы работы с кортежами и списками. Функция range, цикл for и другие функции для работы с контейнерами.
  • Множества и словари.
    Методы создания множеств. Словари, создание и примеры использования.
  • Сортировки и введение в алгоритмы.
    Сортировки и их сложность. Алгоритмическая сложность основных структур данных.
  • Генераторы, итераторы
    Итераторы и генераторы, оператор yield. Создание итерируемых объектов.
  • Объектно-ориентированное программирование
    Введение в объектно-ориентированное программирование. Классы. Инкапсуляция и конструкторы. Наследование и полиморфизм. Обработка ошибок. Модульное оформление. Логирование и тестирование.
  • Инструменты для анализа данных
    Изучение модулей scipy, numpy, pandas, matplotlib.
  • Pygame.
    Изучение модуля Pygame.
  • Структуры данных и алгоритмы*
    Деревья, кучи, очереди (материал повышенной сложности предназначен для пилотной группы)
Элементы контроля

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

  • неблокирующий Домашнее задание
  • неблокирующий Работа на семинаре
  • неблокирующий Мидтерм*
    * - данная форма контроля предназначена для студентов из пилотной группы
  • неблокирующий Экзамен*
    * - данная форма контроля предназначена для студентов из пилотной группы
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    (6 + 0.2 * Мидтерм + 0.2 * Экзамен) * [студент в пилотной группе(*)] + (0.4 * Работа на семинаре + 0.6 * Домашние задания) * (1 - [студент в пилотной группе])
Список литературы

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

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

  • Nelli, F. (2018). Python Data Analytics : With Pandas, NumPy, and Matplotlib (Vol. Second edition). New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905344
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505

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

  • G. Nair, V. (2014). Getting Started with Beautiful Soup. Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=691839