Немного про наших программистов. Точнее о том, как мы построили курс «программирование».
Для оценивания мы используем систему eJudge, над которой поработали и повесили web-сайт. Сам сайт запущен в бэте и время от времени обновляется, но все необходимые для учебного процесса «фичи» присутствуют и работают.
Итак, семестр бьётся на модули (по сути, четверть). В модуле, в свою очередь, есть различные темы (циклы, массивы, графы и проч.).
Так вот, у каждого модуля есть нижний порог – минимальное количество баллов, которое студент должен набрать, чтобы получить доступ к четвертной контрольной.
Также, у каждого модуля есть максимальное количество баллов, которое студент может получить студент. Для всех модулей это 200. При этом если просуммировать балы за все задачи в модуле может получиться и 300 и 600 баллов. Это ограничение мы ввели для того, чтобы студенты не нарабатывали баллы на более простых темах, а сложные потом пропускали. Всё должно быть +/- сбалансировано.
На контрольной студент выбирает «уровень сложности». Назовём их А1, А2, А3. Для каждого уровня сложности существует набор задач. Решение для контрольной оценивается бинарно и в зависимости от сложности (А1-3) студент получает домножающий коэффициент (А1 = 0.75, А2 = 1, А3 == 1.25). Этот коэффициент умножается на баллы, полученные за решение задач в модуле. Если контрольная не сдана, то и множитель равен нулю.
На каждой контрольной у студента есть 2 попытки на сдачу. При этом, меняя билет студент также обязан сменить и уровень сложности.
В конце семестра у студента есть право на одну пересдачу, в рамках которой он может улучшить оценки по любому количеству модулей, но без права повторной сдачи. Задача в этом случае формируется индивидуально, в зависимости от тем, на которых у студента случились «провисания».
Семестровая оценка дифференцирована и зависит от баллов.