/2020-2-level-labs

Лабораторные работы для 2-го курса ФПЛ (2020/2021)

Primary LanguagePythonMIT LicenseMIT

Лабораторные работы для 2-го курса ФПЛ (2020/2021)

В рамках предмета "Программирование для лингвистов" в НИУ ВШЭ - Нижний Новгород.

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

  • Демидовский Александр Владимирович - лектор
  • Кащихин Андрей Николаевич - ассистент лектора
  • Ураев Дмитрий Юрьевич - ассистент лектора
  • Кузнецова Валерия Андреевна - ассистент лектора

План лабораторных работ:

  1. Поиск конкорданса слова в тексте на основе частотного словаря
  2. Оценка доли заимствований на основе алгоритмов поиска подпоследовательностей максимальной длины
  3. Определение языка предложения с помощью n-грамм
  4. Генерация текста на основе n-грамм

Литература

Базовый уровень

  1. Mark Lutz. Learning Python.
  2. Хирьянов Тимофей Фёдорович. Видеолекции. Практика программирования на Python 3
  3. Хирьянов Тимофей Фёдорович. Видеолекции. Алгоритмы и структуры данных на Python 3
  4. Official Python 3 documentation.

Продвинутый уровень

  1. Mark Lutz. Programming Python: Powerful Object-Oriented Programming
  2. J. Burton Browning. Pro Python 3: Features and Tools for Professional Development.

Порядок сдачи и оценивания лабораторной работы

Порядок сдачи:

  1. лабораторная работа допускается к очной сдаче.
  2. студент объяснил работу программы и показал её в действии.
  3. студент выполнил мини-задание ментора по некоторой модификации кода.
  4. студент получает оценку:
    1. соответствующую ожидаемой, если все шаги выше выполнены и ментор удовлетворён ответом студента
    2. на балл выше ожидаемой, если все шаги выше выполнены и ментор решает поощрить студента за отличный ответ
    3. на балл ниже ожидаемой, если лабораторная работа сдаётся на неделю позже срока сдачи и выполнены критерии в 4.1
    4. на два балла ниже ожидаемой, если лабораторная работа сдаётся на две недели и позже от срока сдачи и выполнены критерии в 4.1

Замечание: студент может улучшить оценку по лабораторной работе, если после основной сдачи выполнит задания следующего уровня сложности относительно того уровня, на котором выполнялась реализация.

Лабораторная работа допускается к очной сдаче, если выполнены все пункты ниже:

  1. представлена в виде пулл реквеста (Pull Request, PR) с правильно составленным названием по шаблону: Laboratory work #<NUMBER>, <SURNAME> <NAME> - <UNIVERSITY GROUP NAME>. Пример: Laboratory work #1, Kuznetsova Valeriya - 19FPL1.
  2. имеет заполненный файл target_score.txt с ожидаемой оценкой. Допустимые значения: 4, 6, 8, 10.
  3. имеет "зелёный" статус - автоматические проверки качества и стиля кода, соответствующие заданной ожидаемой оценке, удовлетворены.
  4. имеет лейбл done, выставленный ментором. Означает, что ментор посмотрел код студента и удовлетворён качеством кода.

Запуск тестов

Для запуска тестов выполните следующую команду:

python -m unittest discover -p "*_test.py" -s .

Что делать если в родительском репозитории есть изменения и они мне нужны?

  1. Создаем upstream таргет в репозитории:
git remote add upstream https://github.com/fipl-hse/2020-2-level-labs
  1. Получаем данные об изменениях в удаленном репозитории:
git fetch upstream
  1. Обновляем свой репозиторий с изменениями из удаленного репозитория:
git merge upstream/master