Как оценивать работы студентов

Студенты — народ ушлый. Не всегда просто понять, как правильно оценить работу того или иного студента объективно. Каждой работе мысленно я сразу ставлю оценку «5», после чего начинаю искать за что нужно снизить оценку. При проверке кода программ критериев, которые снижают оценку несколько:

Отсутствие выполненных пунктов задания

Тут всё просто: каждый пункт, который не обнаружил своих следов в коде, снижает оценку на 1 балл. Часто, это происходит в связи с невнимательностью студента при чтения задания (такой студент уверен в своих силах и делает только основное) или же если студент «плавает» в теории.

В первом случае, студент достаточно быстро может отреагировать на замечание и при сдаче реализовать недостающие пункты задания. Во втором случае отсутствие выполненных пунктов является следствием непонимания требований заданий. Здесь студент, который не понимает, что от него требуется, но хочет освоить предмет должен задавать уточняющие вопросы, пока не поймёт, что именно от него требуется.

Понимание задание и уточняющие вопросы позволяют студенту развить качества аналитика, который производит анализ исходных постановок задач или работ, и описывает их в виде конкретных технических задач (доп. «Критерий SMART»).

Плохочитаемый код

Какой код считается плохим на первых порах практики в программировании объяснить невозможно. Понимание «красоты» кода, лаконичности и простоты приходит с опытом, но «базу» удобочитаемого кода я считаю:

Код не компилируется на моём компьютере

Для C++ существует множество компиляторов, но ориентироваться следует на самые популярные и кроссплатформенные решения. Самой популярным некроссплатформенным компилятором является компилятор Microsoft Visual Studio C++. Самыми популярными зависимыми от платформы библиотеками: windows.h и conio.h. Если код написан под компилятор Visual Studio C++ с использованием функций из вышеперечисленных библиотек — он никогда не соберётся ни на моём рабочем, ни на домашнем компьютере (несложно догадаться почему).

Плагиат

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

Например, вот 2 листинга программ по одному и тому же заданию, который не является плагиатом:

Kaleidoscope – 1 | 2

Вариант с плагиатом выглядит следующим образом:

Kaleidoscope – Lobanova3362_17var.cpp | SolarevaAnastasiya14variant.cpp

Работу студента, которая пришла ко мне после того, как я увидел первый вариант, оценивается в «2» балла без разведения дипломатии и возможности переделать работу.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: