• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Research Seminar "Python: Popular Libraries And Practical Problem Solving"

2023/2024
Academic Year
RUS
Instruction in Russian
3
ECTS credits
Course type:
Elective course
When:
1 year, 1-3 module

Instructor


Politsyn, Sergey

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

Аннотация

Введение в программирование на Python: этот курс представляет собой всестороннее введение в язык программирования Python. Рассматриваемые темы включают структуры данных, управляющие структуры, функции и объектно-ориентированное программирование. Студенты узнают, как писать "чистый" и эффективный код, а также получат практический опыт решения реальных задач. Курс также охватывает лучшие практики кодирования и разработки программного обеспечения с применением языка Python. К концу курса студенты будут иметь прочную основу для программирования на Python и смогут применять эти навыки в различных проектах.
Цель освоения дисциплины

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

  • Быстрый старт в новом для себя языке программирования и его «экосистеме»; ознакомление с типовыми структурами данных языка и их применением на практике;
  • Научиться решать типовые задачи эффективно и быстро; научиться применять типовые встроенные и сторонние библиотеки языка для решения практических задач
Планируемые результаты обучения

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

  • Научимся решению задач, где применяются арифметические операции для целых чисел
  • Научимся решать задачи, где используются строки
  • Выясним, что же такое «истина» (что является истиной). Разберем примеры применения условий: с оператором if и без него.
  • Поймем почему 2 + 1 не всегда равно 3 и другие задачи на применение вещественных чисел.
  • В этом разделе вы научитесь создавать и использовать функции, которые позволяют повторно использовать код и делать его более структурированным.
  • Начнем разбирать задачи на списки и многомерные массивы. Попробуем начать со своих «велосипедов», для тренировки.
  • Вы познакомитесь с применением поиска и сортировки данных, которая облегчает решение многих задач и широко используется на практике.
  • Множества позволяют эффективно сопоставлять различные объекты и широко используются в самых разных задачах.
  • Словари позволяют эффективно работать с различными данными и широко используются во многих прикладных задачах.
  • В этом разделе вы научитесь использовать стандартные функции языка Python для обработки последовательностей.
  • В рамках раздела мы научимся применять подходы объектно-ориентированного программирования и познакомимся с их особенностями на языке Python.
  • Научимся решать более сложные задачи на строках и текстах.
  • Научимся использовать сериализацию и десериализацию данных на практических примерах.
  • Научимся решать типичные задачи, требующие работу с временем и календарем. Подготовимся к решению задач по подготовке данных для машинного обучения.
  • Научимся решать задачи, требующие загрузки и/или выгрузки данных по сети.
  • Мы научимся типичным приемам программирования, связанным с параллельным выполнением задач. Научимся избегать ситуации «гонок» (race condition) и мертвых блокировок(deadlock).
  • Мы научимся решать типичные задачи, в которых может быть применена библиотека async.io.
  • Научимся решать разные популярные задачи поиска, выбора и др. с помощью запросов xPath.
  • Мы научимся основным приемам автоматизированного тестирования Web-страниц с помощью framework’a Selenium.
  • Создадим несколько Web-приложений, изучим возможности Django по созданию frontend и backend частей web-приложения
Содержание учебной дисциплины

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

  • Целые числа, ввод-вывод
  • Строки
  • Условия и цикл while
  • Вещественные числа
  • Структурное программирование. Функции и рекурсия.
  • Кортежи, списки, перебор элементов в цикле.
  • Поиск и сортировка
  • Множества
  • Словари
  • Основы функционального программирования
  • Классы
  • Основы регулярных выражений
  • Сеть. Протокол HTTP.
  • Процессы и потоки
  • Асинхронное программирование
  • Сериализация. Json.
  • Работа с датой и временем. Библиотека NumPy.
  • Работа с Xml. Язык xPath
  • Selenium framework
  • Фреймворк Django
Элементы контроля

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

  • неблокирующий ДЗ_1...20
    6 ДЗ в 1 модуле, 7 ДЗ во 2м модуле, 7ДЗ в 3 модуле
  • неблокирующий КР_1...7
    3 КР - 1 модуль, 2 КР - 2 модуль, 2 КР - 3 модуль
Промежуточная аттестация

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

  • 2023/2024 учебный год 3 модуль
    Final = 0.4*(среднее(ДЗ)) + 0.6*(среднее(КР))
Список литературы

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

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

  • Программирование на PYTHON. Т. 1: ., Лутц, М., 2013

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

  • Программирование на PYTHON. Т. 2: ., Лутц, М., 2013