С++,1 курс, 2 семестр, 2016/17
Материал из SEWiki
Версия от 17:08, 19 февраля 2017; E.f.suvorov (обсуждение | вклад) (→Практика Суворов: добавлена примерная схема оценки)
Содержание
Экзамен
Актуальная wiki первого семестра
Лекции
Преподаватель: Евгений Линский (evgeny.linsky@gmail.com)
Практика Гулецкий
Преподаватель: Артур Гулецкий (hatless.fox@gmail.com)
Префикс в теме письма: [C++TA]
Практика Афанасьев
Практика Суворов
Преподаватель: Егор Суворов (egor_suvorov@mail.ru)
Префикс в теме письма: [C++TA]
Примерные правила оценки лабораторных
Это больше руководство для меня и контрольные точки, чем чёткие правила; баллы могут сниматься и по другим причинам. Апелляции подавать можно и нужно - я мог что-то не заметить (например, что вы что-то на самом деле сделали, или что это ещё не проходили, или что в заданее не требуется), мог сделать слишком жёсткую систему оценки (тогда мы обсудим это с коллегами). Если что-то непонятно - задавайте вопросы.
Итак, 10 баллов распределяются примерно следующим образом:
- За прохождение тестов:
- 3 балла, если прошло всё и сразу.
- 2 балла, если потребовалось косметически поменять формат вывода текста (вроде `SalaryManager` и `Salary Manager`).
- 1 балл, если работает только текст (возможно, после косметических исправлений) или программа исходно не компилировалась.
- 0 баллов, если не удалось простыми изменениями заставить заработать.
- За Valgrind:
- 2 балла, если претензий нет.
- 1 балл, если есть только утечки памяти.
- 0 баллов, если есть undefined behavior вроде чтения из неинициализированной памяти.
- За качество и корректность интерфейсов классов (включая поля) и функций:
- 2 балла, если претензий нет.
- 1 балл, если в целом идея верная, но сделали что-то не слишкои опасное (открыты лишние методы), или что-что, что обнаружится на этапе компиляции (забыли const qualifier).
- 0 баллов, если интерфейс опасен (невиртуальный деструктор, забыли закрыть оператор присваивания/конструктор копирования).
- За качество и корректность реализации ставится от 0 до 3 баллов и снимаются за:
- -1 балл, если есть обширное дублирование кода, от которого можно избавиться (например, вынести в предка).
- -1 балл за скрытые ограничения (вроде фиксированной максимальной длины строки).
- -1 балл за серьёзное несоответствие "традициям" языка C++ или за неожиданную логику программы (нумерация массивов с единицы, реализация больших нешаблонных методов в header'ах, лишний код).