Система оценок по ТА (подгруппа Иржавского)
При работе в семестре каждый студент набирает очки, которые потом преобразуются в оценку за работу в семестре. Для получения зачёта необходимо и достаточно заработать оценку 4 и выше, а также выполнить требования лекторов. При получении оценки 6 и выше за работу в семестре будет рекомендована автоматическая оценка за экзамен, которая может отличаться от оценки за работу в семестре на 1 балл в меньшую сторону и любое число баллов в большую сторону, исходя из личного представления преподавателя о работе и уровне знаний студента.
Очки начисляются за:
- решение задач в тестирующей системе;
- сдачу преподавателю алгоритмов для решения задач;
- за оба этих действия с одной задачей;
- обнаружение неточности/опечатки в условии задачи курса;
- предложение новых наборов входных данных для задач курса;
- создание новых задач курса;
- участие в чемпионате факультета.
Очки переводятся в оценку за работу в семестре следующим образом: изначально есть один балл, второй балл стоит 50 очков, каждый следующий — на 10 очков больше. Неполные баллы не начисляются. Таким образом, оценка 4 ставится от 180 очков, оценка 10 — от 810 очков.
Содержание
Решение задач
Каждая из общих задач, сданная в систему, приносит 6 очков, если задача сдана в установленный лектором срок, или 3 очка, если сдана позже. Алгоритмы по общим задачам не сдаются.
В течение семестра будет проведено две или три контрольных работы, в каждой из которых будет предложено решить две или три задачи в тестирующей системе. За все контрольные в сумме можно получить 144 очка. Эти очки будут разделены поровну между всеми контрольными, а в каждой контрольной — поровну между задачами. Таким образом, задача, решённая на контрольной может принести от 16 до 36 очков. По окончании контрольной работы, все её задачи становятся общими. По задачам контрольных работ алгоритмы не сдаются.
Далее речь идёт только об индивидуальных задачах. Решение индивидуальных задач — это основной предполагаемый вид деятельности в рамках курса. Отдельно начисляются очки за сдачу реализации в тестирующую систему, за сдачу алгоритмов преподавателю и за оба действия с одной и той же задачей (такие задачи будем называть полностью сданными).
Каждая задача приносит число очков, равное своей номинальной сложности, умноженной на повышающие и понижающие коэффициенты.
- За сдачу преподавателю алгоритма по задаче из текущей темы, очки за алгоритм удваиваются (см. график ниже).
- Все очки за задачи 5-й темы удваиваются, за задачи 6-й темы — утраиваются.
- Каждая следующая задача в одной теме приносит всё меньше очков (см. ниже).
Первая задача в каждой теме выбирается студентом самостоятельно среди не назначенных другим студентам группы. Каждая следующая задача выбирается преподавателем. При назначении задач действует следующие ограничения. Назовём недоработкой как отсутствие сданного алгоритма по ранее назначенной задаче, так и отсутствие по ней реализации, принятой системой. Очередная задача может быть назначена, если у студента по всем темам в сумме не больше пяти недоработок или в соответствующей теме не больше одной. Второе ограничение заключается в том, что для получения первой задачи по теме необходимо сдать хотя бы один алгоритм по предшествующей теме, если она является текущей или станет таковой позже.
График сдачи задач по темам
Сдача алгоритма по текущей теме поощряется удвоением очков за алгоритм. Текущая тема определяется в соответствии с таблицей.
1. Деревья поиска | 17.02–24.02 |
2. Рекуррентные соотношения | 02.03–09.03 |
3. Структуры данных | 16.03–23.03 |
4. Алгоритмы на графах | 30.03–06.04 |
5. Перебор | 13.04–04.05 |
6. Приближённые алгоритмы | 11.05–28.05 |
Задача может быть сдана с опережением графика, если в каждой из предыдущих тем сдан хоть один алгоритм. В этом случае очки за алгоритм также удваиваются.
Электронная очередь
Для упрощения работы с группой введена электронная очередь. Из активных очередей можно записаться в любую, но только в одну. Очередь по текущей теме имеет больший приоритет по отношению к очереди по предыдущим темам. Для обсуждения алгоритмов по последующим темам также можно записываться на текущую тему. На занятиях без текущей темы обе очереди имеют равный приоритет, а при наличии желающих в обеих следующий студент определяется временем записи в очередь.
Детали начисления очков за несколько задач в одной теме
Очки отдельно начисляются за:
- алгоритм;
- реализацию;
- алгоритм и реализацию вместе.
При этом полностью сданная задача приносит очки по всем трём пунктам.
Среди задач одной темы каждый следующий алгоритм приносит в [math]\frac54[/math] раза меньше очков. Аналогично среди задач одной темы каждая следующая реализация приносит в [math]\frac54[/math] раза меньше очков. И точно так же среди задач одной темы каждая следующая полностью сданная задача (алгоритм и реализация) приносит в [math]\frac54[/math] раза меньше очков.
При этом задачи перед назначением коэффициентов переставляются оптимальным для студента образом. Это значит, что не имеет значения, сдать в систему сначала задачу номинальной сложности 10, а потом номинальной сложности 8 или наоборот — общее число очков будет равно [math]10 + 8 \cdot \frac45 = 16 \frac25[/math]. С другой стороны, если алгоритм по одной задаче сдать в рекомендуемый срок, а по второй позже срока, то порядок имеет значение: [math]2\cdot 10 + 8 \cdot \frac45 = 26 \frac25 \gt 24 = 2\cdot 8 + 10 \cdot \frac45[/math].
Обратите внимание, что сдать по одной задаче одинаковой сложности в трёх разных темах выгоднее, чем сдать четыре задачи такой же сложности в одной теме: [math]1 + \frac45 + \frac{16}{25} + \frac{64}{125} = \frac{369}{125} \lt 3 = 1 + 1 + 1[/math].
Плагиат
Внимание! При обнаружении плагиата очки за решение соответствующей задачи в системе умножаются:
- на −3 (минус три) в случае индивидуальной задачи;
- на −10 (минус десять) в случае общей задачи.
Очки за эту индивидуальную задачу как полностью сданную (при их наличии) аннулируются (умножаются на 0). Одинаково виновными в плагиате считаются обе стороны: дающая и берущая.
Улучшение задач курса
Улучшение задач курса поощряется следующим образом.
- За каждую найденную опечатку, орфографическую, пунктуационную, синтаксическую, стилистическую, типографическую или математическую ошибку студент получает 1 очко. Здесь и далее только первый студент, нашедший каждую ошибку, получает очки.
- За обнаружение ошибки в примере к задаче даётся 2 очков.
- За обнаружение ошибки в тестах (невыполнение обещанных условием гарантий по формату файла, диапазону значений и др.) — 5 очков.
- За каждый идейно новый набор входных и выходных данных даётся 20 очков (см. ниже).
- За полную подготовку новой задачи — до 200 очков, в зависимости от объёма и качества проделанной работы (подготовка условия, тестов, авторских решений, программы проверки ответа и программы-контроллёра тестов). Перед началом работы по задаче необходимо обсудить с преподавателем идею задачи и получить дальнейшие указания.
К этим очкам не применяются повышающие или понижающие коэффициенты.
Идейно новые тесты
Идейно новым считается корректный набор входных и выходных данных, на котором не работает или работает неправильно одно из Ваших решений, прошедших все существующие по этой задаче тесты. (При этом все присланные ранее идейно новые тесты добавляются к задаче перед рассмотрением очередного теста и считаются существующими.) Такой тест отправляется через вопрос по соответствующей задаче. Маленький файл можно включить в текст сообщения, большой — прикрепить. В выходных данных теста должен быть правильный ответ (для задач шестой темы — оптимальный). Очки выставляются после обсуждения с преподавателем сути ошибки и структуры теста.
При составлении тестов не пытайтесь жульничать, искусственно добавляя в правильное решение случаи, в которых оно преднамеренно работает неверно! Например, фрагмент
ifstream fin("input.txt"); ofstream fout("output.txt"); fin >> n; if (n == 12345) fout << "Ой, всё!" << endl;
очевидно будет неправильно работать, если на входе будет число 12345, но этот случай является преднамеренной, а не идейной или технической ошибкой.
Участие в чемпионате факультета
Каждый участник команды чемпионата факультета по программированию получает 15 очков за факт участия и 10 очков за каждую сданную командой задачу. При участии в личном первенстве факультета студент получает 25 очков за факт участия и 15 очков за каждую сданную им задачу. Но очки за разные олимпиады не суммируются, а их них выбирается максимум.