Различия между версиями 2 и 3
Версия 2 от 2022-08-01 13:24:40
Размер: 3427
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2022-08-01 15:17:48
Размер: 3789
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:
Система оценки. Получает полную статистику от системы массового тестирования, применяет формулу оценивания (в идеале нужен интерфейс, чтобы преподаватель мог при необходимости вводить эту формулу), формирует отчёт для системы публикации. Должна уметь показывать отчёты в человекочитаемом виде, в том числе отчёты по «срезу» (как минимум, по конкретному пользователю). Система оценки. Получает полную статистику от системы массового тестирования, применяет формулы оценивания (в идеале нужен интерфейс, чтобы преподаватель мог при необходимости вводить эти формулы), формирует отчёт для системы публикации. Должна уметь показывать отчёты в человекочитаемом виде, в том числе отчёты по «срезу» (как минимум, по конкретному пользователю).
Строка 4: Строка 4:
Формул оценки две:
 1. одинаковая формула для любого одного Д/З (выдаёт проценты),
 1. сводная формула по всем Д/З одного пользователя (выдаёт оценку)
Предполагается, что после чтения результатов тестирования они лежат в трёхмерном массиве (`Пользователь × Задача × Тест`), или, что то же самое, каждому `Пользователю` соответствует таблица результатов (`Задача × Тест`).
Строка 8: Строка 6:
формула оценки в самом простом варианте — это функция на Python, которая пользуется API `PyJudge.Score`. Более сложный вариант (пока делать не надо) — некоторый язык а-ля Google Spreadsheets. Формул оценивания две:
 1. Промежуточная оценка каждой задачи (для всех одинаковая). Выставляется для каждой строки такой таблицы, измеряется в процентах.
 1. Финальная оценка. Вычисляется из набора промежуточных оценок, одна для каждого пользователя, может быть строковой («ОТЛ / ХОР / УДОВЛ / НЕУД / Н.Я.») ил иной.
Строка 10: Строка 10:

В любом случае API должно позволять:
 * Выбрать из результатов срез по пользователю, задаче, типу теста, конкретному тесту (в последнем случае длина выборки не более 1)
 * Посчитать размер выборки (для определения среднего)
 * Посчитать промежуточные оценки по каждому Д/З
 * Получить выборку оценок по Д/З и посчитать финальную оценку

<!> Это очень похоже на [[py3doc:sqlite3]]!
Формула — это функция на Python, которая пользуется API `PyJudge.Score`. обк такие функции забиваются хардкодом (например, в специальный модуль `.score.criterion`, чтобы не интерферировать с разработкой), пишет их преподаватель. API должен предоставлять возможность узнать ID задачи (для тонкой настройки).
Строка 22: Строка 15:
 * Локальная и сводная Формулы оценки  * Промежуточная и финальная Формулы оценки
Строка 31: Строка 24:
  * Список (задача, промежуточная оценка) и общая оценка   * Список (задача, промежуточная оценка) и финальная оценка
Строка 41: Строка 34:
    * Промежуточная оценка      * … Тест/тип, результат/статус …
     * Промежуточная оценка
    * … Задача …
     * …

PyJudge.Score

Система оценки. Получает полную статистику от системы массового тестирования, применяет формулы оценивания (в идеале нужен интерфейс, чтобы преподаватель мог при необходимости вводить эти формулы), формирует отчёт для системы публикации. Должна уметь показывать отчёты в человекочитаемом виде, в том числе отчёты по «срезу» (как минимум, по конкретному пользователю).

Предполагается, что после чтения результатов тестирования они лежат в трёхмерном массиве (Пользователь × Задача × Тест), или, что то же самое, каждому Пользователю соответствует таблица результатов (Задача × Тест).

Формул оценивания две:

  1. Промежуточная оценка каждой задачи (для всех одинаковая). Выставляется для каждой строки такой таблицы, измеряется в процентах.
  2. Финальная оценка. Вычисляется из набора промежуточных оценок, одна для каждого пользователя, может быть строковой («ОТЛ / ХОР / УДОВЛ / НЕУД / Н.Я.») ил иной.

Формула — это функция на Python, которая пользуется API PyJudge.Score. обк такие функции забиваются хардкодом (например, в специальный модуль .score.criterion, чтобы не интерферировать с разработкой), пишет их преподаватель. API должен предоставлять возможность узнать ID задачи (для тонкой настройки).

На входе

На выходе

  • Человекочитаемая статистика по конкретному пользователю
    • Список (задача, промежуточная оценка) и финальная оценка
  • Человекочитаемая статистика по конкретному пользователю и конкретной задаче
    • Список (тест/тип, результат/статус) и промежуточная оценка за задачу
  • Нечеловеческая статистика для системы публикации

    • Дерево:
      • Пользователь
        • Человекочитаемый ID пользователя
        • Задача
          • Человекочитаемый ID задачи
          • Тест/тип, результат/статус
          • … Тест/тип, результат/статус …
          • Промежуточная оценка
        • … Задача …
      • Финальная оценка

FrBrGeorge/ActualEducationalTasks/PyJudge/Score (последним исправлял пользователь FrBrGeorge 2022-08-01 15:17:48)