С++,1 курс, 2 семестр, 2016/17 — различия между версиями
Материал из SEWiki
(→Практика Суворов) |
(Отмена правки 10309, сделанной участником E.f.suvorov (обс.)) |
||
Строка 24: | Строка 24: | ||
== Практика Афанасьев == | == Практика Афанасьев == | ||
− | Преподаватель: Егор Суворов ([mailto:egor_suvorov@mail.ru egor_suvorov@mail.ru | + | == Практика Суворов == |
+ | |||
+ | Преподаватель: Егор Суворов ([mailto:egor_suvorov@mail.ru egor_suvorov@mail.ru]) | ||
Префикс в теме письма: <code>[C++TA]</code> | Префикс в теме письма: <code>[C++TA]</code> | ||
− | + | === Примерные правила оценки лабораторных === | |
− | + | ||
− | + | ||
− | + | ||
− | = | + | |
− | + | ||
− | == Примерные правила оценки лабораторных == | + | |
Это больше руководство для меня и контрольные точки, чем чёткие правила; баллы могут сниматься и по другим причинам. Апелляции подавать можно и нужно - я мог что-то не заметить (например, что вы что-то на самом деле сделали, или что это ещё не проходили, или что в заданее не требуется), мог сделать слишком жёсткую систему оценки (тогда мы обсудим это с коллегами). Если что-то непонятно - задавайте вопросы. | Это больше руководство для меня и контрольные точки, чем чёткие правила; баллы могут сниматься и по другим причинам. Апелляции подавать можно и нужно - я мог что-то не заметить (например, что вы что-то на самом деле сделали, или что это ещё не проходили, или что в заданее не требуется), мог сделать слишком жёсткую систему оценки (тогда мы обсудим это с коллегами). Если что-то непонятно - задавайте вопросы. | ||
− | |||
Итак, 10 баллов распределяются примерно следующим образом: | Итак, 10 баллов распределяются примерно следующим образом: | ||
# За прохождение тестов: | # За прохождение тестов: |
Версия 15:06, 26 февраля 2017
Содержание
Экзамен
Актуальная wiki первого семестра
Лекции
Преподаватель: Евгений Линский (evgeny.linsky@gmail.com)
Презентации
Лабораторные и домашние
- HFX-TA/cpp — гит-репозиторий с описаниями лабораторных (обновляется каждую неделю).
- Trac — багтрекер Trac для домашних заданий.
Практика Гулецкий
Преподаватель: Артур Гулецкий (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'ах, лишний код).