Лабораторные работы

Общая информация

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

Основные требования

  • ❌ Запрещено использование сторонних библиотек (если явно не разрешено в условии)

  • ✅ Все решения разрабатываются самостоятельно

  • ✅ Прохождение не менее 25% тестов для получения допуска к code review

  • ✅ Получение Approve как результата Code Review

  • ✅ Обязательная защита работы для получения баллов

Формула расчёта баллов

scorelabi=max_scorelabidlabi(w_qualitylabiscore_qualitylabi+w_testslabiscore_testslabi)score_{lab_{i}} = max\_score_{lab_{i}} \cdot d_{lab_{i}} \cdot \left( w\_quality_{lab_{i}} \cdot score\_quality_{lab_{i}} + w\_tests_{lab_{i}} \cdot score\_tests_{lab_{i}} \right)

где:

Параметр
Описание

maxscoremax_{score}

Максимальный балл за работу

dd

Коэффициент дедлайна

wqualityw_{quality}

Вес критерия "Качество кода"

wtestsw_{tests}

Вес критерия "Тесты"

scorequalityscore_{quality}

Оценка качества кода [0, 1]

scoretestsscore_{tests}

Оценка прохождения тестов [0, 1]

Критерии оценки

  • На защите учитываются только решения, отправленные вовремя и имеющие Approve как вердикт по обратной связи

  • Дедлайн определяется по последнему коммиту, подтверждённому автотестами и вердиктом обратной связи

  • Нулевое качество кода0 баллов (независимо от тестов)

  • Не пройдены тесты на GitHub → работа не проверяется и не защищается

Рекомендации

  • Начинайте работу заранее

  • Тестируйте решение через автотесты осознано, а не в режиме "1 фикс" = "1 запуск тестов"

  • Используйте возможность локального тестирования для уменьшения запросов на сервер


Алгоритм получения баллов по лабораторным

1

Прочитать условие

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

2

Выполнить работу

Выполняйте добросовестно и самостоятельно.

Вы можете обратиться за помощью на практиках или в чате курса при возникновении вопросов или проблем.

Не бойтесь подходить и задавать вопросы :)

3

Загрузить код

Работа с репозиторием – https://github.com/RonoveRaum/c-cpp-courses-mirror/blob/ct-course/course-format/grading-system-lab/repo.md

Убедитесь, что сделали это вовремя.

Крайне не рекомендуется делать это в последнюю минуту, т.к. просрочка даже на 1 минуту приведёт к снижению коэф. дедлайна.

4

Запустить автотесты

Инструкция по лабораторным работам – Автотесты на GitHub и Автотесты локально

5

Отправить на Code review

Дождитесь результата проверки вашего кода. После исправьте указанные замечания. По возможности рекомендуется дважды отправить работу, если после первой проверки были обнаружены замечания и ошибки.

Это улучшит качество вашего кода → баллы по работе. А также позволит получить опыт работы с review.

Допуск к защите – получение "✅ Approve" как результата review и прохождение не менее 25% тестов.

6

[Optonal] Повторная отправка на проверку

Работы могут быть отправлены на проверку до 3 раз во время семестра.

На повторную отправку имеет смысл отправлять, если имеются комментарии в PR по code review.

7

Защитить работу

Защиты проходят на практиках согласно расписанию.

На защите будут как теоретические вопросы, так и вопросы по реализации. В рамках защиты от студента может потребоваться решить при принимающем задачу или модифицировать свой код, а также проанализировать ситуацию, если какая-то часть кода будет изменена.

8

[Optonal] Перезащита

В случае неуспешной защиты имеется возможность перезащитить работу. Перезащит по каждой работе = 1.

Штрафов за перезащиту нет, но результаты предыдущей защиты аннулируются. При наличии возможности перезащита происходит у другого принимающего.

Last updated