Общая информация ================ Преподаватели ------------- - `Демидовский Александр Владимирович `__ - лектор - `Жариков Егор Игоревич `__ - преподаватель практики - `Новикова Ирина Алексеевна `__ - преподаватель практики - `Блюдова Василиса Михайловна `__ - старший ассистент - `Нуртдинова Софья Алексеевна `__ - ассистент - `Подпрятова Анна Сергеевна `__ - ассистент - `Климов Андрей Петрович `__ - ассистент - `Евграфова Анна Сергеевна `__ - ассистент План лабораторных работ ----------------------- 1. `Лабораторная работа №1. Выделение ключевых слов с помощью частот `__ 1. Дедлайн: **29 сентября** 2. `Лабораторная работа №2. Исправление опечаток на основе редакционного расстояния `__ 1. Дедлайн: **20 октября** 3. `Лабораторная работа №3. Генерация текста с помощью N-грамм `__ 1. Дедлайн: **17 ноября** 4. `Лабораторная работа №4. Автодополнение с помощью N-грамм и префиксного дерева `__ 1. Дедлайн: **8 декабря** История занятий --------------- +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | Дата | Тема лекции | Тема практики. Материалы практики. | +=============+============================+============================================================================================================+ | 01.09.2025 | Установочная встреча. | Создание форка. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 08.09.2025 | Краткий обзор преимуществ | Запуск, отладка программ на Python. | | | и недостатков языка. | `Листинг `__. | | | | Условия | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 15.09.2025 | Строки. | Числа. | | | | `Листинг `__. | | | | Строки. | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 22.09.2025 | Основы создания | Строки. | | | алгоритмического решения. | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 29.09.2025 | Списки. Кортежи. | Сдача лабораторной работы №1. | | | Множества. | | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 06.10.2025 | Словари. | Списки и кортежи. | | | | `Листинг `__. | | | | Словари. | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 13.10.2025 | Функции. | Функции. | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 20.10.2025 | Введение в ООП. | Сдача лабораторной работы №2. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 01.10.2025 | Введение в ООП II. | Классы. | | | | `Листинг `__. | | | | Проектирование игры. | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 08.11.2025 | Инкапсуляция. | Инкапсуляция. | | | Наследование. | `Листинг `__.| +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 10.11.2025 | Наследование II. | Наследование. | | | Полиморфизм. Протоколы. | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 17.11.2025 | Исключения. | Сдача лабораторной работы №3. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 24.11.2025 | Области видимости. | Полиморфизм. | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 01.12.2025 | Функции II. | Исключения. | | | | `Листинг `__. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 08.12.2025 | Принципы SOLID. | Сдача лабораторной работы №4. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ | 15.12.2025 | Консультация. | Досдача лабораторных работ. | +-------------+----------------------------+------------------------------------------------------------------------------------------------------------+ Более полное содержание пройденных занятий Вы найдёте в :ref:`lectures-content-label-2025`. Порядок сдачи и оценивания лабораторной работы ---------------------------------------------- 1. Лабораторная работа допускается к очной сдаче. 2. Студент объяснил работу программы и показал её в действии. 3. Студент выполнил задание ментора по некоторой модификации кода. 4. Студент получает оценку: 1. Соответствующую ожидаемой, если все шаги выше выполнены и ментор удовлетворён ответом студента. 2. На балл выше ожидаемой, если все шаги выше выполнены и ментор решает поощрить студента за отличный ответ. 3. Штрафы размером -1 балл могут накапливаться и даются за каждое следующее событие, при условии, что студент допущен к сдаче: 1. если лабораторная работа сдана на неделю позже срока сдачи. 2. если студент не выполнил микро-задание в течение семинара. 3. если студент не смог ответить на все вопросы ментора по своей реализации. 4. Штрафы размером -2 балла могут накапливаться и даются за каждое следующее событие: 1. если лабораторная работа сдана на 2 недели позже срока сдачи. 2. если студент списал лабораторную работу. 3. если студент не проходил ревью и это сдача на последнем семинаре перед экзаменом. .. note:: Студент может улучшить оценку по лабораторной работе, если после основной сдачи выполнит задания следующего уровня сложности относительно того уровня, на котором выполнялась реализация. **Лабораторная работа допускается к очной сдаче, если она:** 1. Представлена в виде пулл реквеста (Pull Request, PR) с правильно составленным названием по шаблону: ``Laboratory work #, - ``. 1. Пример: ``Laboratory work #1, Kashchikhin Andrey - 21FPL1``. 2. Имеет заполненный файл ``settings.json`` с ожидаемой оценкой. Допустимые значения: 4, 6, 8, 10. 3. Имеет “зелёный” статус - автоматические проверки качества и стиля кода, соответствующие заданной ожидаемой оценке, удовлетворены. 4. (Опционально) Имеет лейбл ``done``, выставленный ментором. Означает, что ментор посмотрел код студента и удовлетворён качеством кода. Литература ---------- Базовый уровень ~~~~~~~~~~~~~~~ 1. M. Lutz. `Learning Python `__. 2. Хирьянов Т.Ф. Видеолекции. `Практика программирования на Python 3 `__. 2019. 3. Хирьянов Т.Ф. Видеолекции. `Алгоритмы и структуры данных на Python3 `__. 2017. 4. `Официальная документация Python `__. Продвинутый уровень ~~~~~~~~~~~~~~~~~~~ 1. M. Lutz. `Programming Python: Powerful Object-Oriented Programming `__. 2. J. Burton Browning. `Pro Python 3: Features and Tools for Professional Development `__. 3. Хирьянов Т.Ф. Видеолекции. `Основы программирования и анализа данных на Python `__. 2022. Ресурсы ------- 1. `Таблица успеваемости `__ 2. `Сайт дисциплины `__ с описанием лабораторных работ и полезными материалами 3. Инструкция по подготовке к прохождению курса `на сайте `__ 4. Инструкция по запуску тестов `на сайте `__ 5. Инструкция по запуску ``.py`` файлов в терминале `на сайте `__ 6. Инструкция по обновлению форка `на сайте `__ 7. Ответы на часто задаваемые вопросы `на сайте `__