Skip to content
Veniamin Arefev edited this page Sep 30, 2023 · 13 revisions

score

Промежуточные уровни оценивания:

  1. TaskQualifier(набор CheckResult) → TaskScore. Промежуточная оценка всех решений каждой отдельной задачи пользователем B. Оценивается по по одинаковому алгоритму независимо от ID задачи. Набор проверок, и как следствие, набор результатов, обычно отличаются. Таких оценок может быть несколько, например:
    • Средний балл по проверкам определённого типа (собственным, удалённым, формальным ака regexp и т. п.)
    • В частности, оценка посещаемости — это формальная проверка на одну задачу из нескольких (в один день): наличие «решения» этой задачи за определённый интервал времени, а просрочка — это тот же тест, но на каждую задачу и на другой интервал
    • Подозрение на копипасту на этом уровне — это простая проверка вида «посмотреть в результатах тестирования копипасты размер кластера»
  2. UserQualifier(набор TaskScore). → UserScore Промежуточные оценки разных аспектов активности пользователя B. Их тоже может быть несколько
    • Оценка за собственные проверки как среднее по каждой задаче (с учётом просрока и копипасты)
    • Оценка за удалённые проверки (с учётом просрока и копипасты)
    • Процент посещённых занятий
  3. Formula(набор UserScore) → FinalScore. Финальная оценка (например, "ОТЛ"-"ХОР"-"УДОВЛ"-"НЕУД"-"Н/Я" пользователя B как некоторая формула от промежуточных на стадии 2.

Написание своих функций

Эта информация описана в HowTo

Proposal

  • «Функции» оценки — это произвольные функции на Python. Их надо хранить в depot, потому что они являются предметом зависимостей_: изменилась функция — изменились оценки.
    • Произвольные Python-функции задаются преподавателем (например, в оговоренном .py файле) и пользуются соответствующим API из depot
    • Есть есть какие-то готовые функции (например, поиск регескспов или среднее арифметическое),
  • Все оценки также хранятся в depot — системе publish может понадобиться любая, и между ними есть зависимости.
  • У make должна быть такая команда — прочитать эти функции и положить их в depot
Clone this wiki locally