Правила защиты курсовых работ

Пререквизиты

Для допуска к защите у студента должен быть сделан пуллреквест по правилам: Правила создания PR к курсовой работе

Курсовая должна быть выполнена в полном объеме и в соответствии с полученным студентом заданием.

В назначенный день и время студент должен быть онлайн в студенческов чате (Rocket chat). В случае, если студент хочет проверить заранее свои технические возможности использования системы прокторинга (записи камеры и экрана на его устройстве) возможности, он должен связаться с преподавателем не позднее, чем за 72 часа до защиты.

Как проходит защита

Перед основным заданием студент решает проходной тест, состоящий из утверждений, среди которых нужно выбрать верные. В тесте допускается сделать одну ошибку, то есть либо отметить как верный ответ, который является неверным, либо наоборот. Например: если в тесте два верных утверждения, и студент выбрал одно верное утверждение и одно неверное, то это будет считаться за две ошибки: верное утверждение выбрано как неверное и неверное утверждение выбрано как верное.

В случае успешного решения теста студент допускается к выполнению основного задания. В противном случае за курсовую работу выставляется оценка «неудовлетворительно».

Основное задание представляет собой дополнительную подзадачу курсовой работы: Порядок сдачи курсовых работ

После того, как студент решит задачу, студента будет ожидать разговор с преподавателем. На этот момент разрешается завершить прокторинг. Во время общения с преподавателем после успешно выполенного задания студент показывает преподавателю экран и изображение с веб-камеры. Студент:

Демонстрирует работоспособность выполненного им на защите задания.

Демонстрирует работоспособность остальных подзадач курсовой работы

Отвечает на вопросы преподавателя по заданию на защите и основной курсовой работе. Вопросы охватывают не менее трех тем.

Правила оценивания (курсовой и задания на защиту)

Студент получает максимальную оценку согласно выбранному уровню курсовой работы, если выполнены все следующие условия:

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

Студент верно отвечает на все вопросы преподавателя.

Студент способен прокомментировать свою работу как с точки зрения логики её выполнения, так и с точки зрения использования конструкций языка.

Студент получает оценку неудовлетворительно, если выполняется хотя бы одно из условий:

Не пройдена автоматическая проверка выполняемого задания

Студент не может скомпилировать курсовую работу с добавленной по итогам защиты функциональностью к моменту окончания времени на защиту. Иными словами, код к моменту завершения времени на выполнение задания не корректный.

Основная курсовая работа или курсовая работа с добавленным заданием аварийно завершается или выдает неверный ответ на всех тестах.

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

Студент не может прокомментировать логику работы своей программы и/или дать комментарии по программному коду. Неправильно данные ответы приравниваются к неспособности студента дать комментарии.

Основания для снижения оценки:

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

Студент совершает хотя бы одну ошибку при ответе на вопросы.

Есть части программы, по которым студент не может дать комментарии

Минимально требуемый набор навыков для выполнения задания (курсовая осеннего семестра)

Сборка программы с использованием компилятора gcc

Умение запуска программы и ввода данных

Ввод и вывод текстовых данных в программе на языке Си

Работа с символами на языке Си

Операции над строками (символьными массивами) в языке Си: разделение строки на подстроки, копирование, вставка, конкатенация. Умение использовать функции из string.h

Указатели в языке Си (в том числе указатели на указатели)

Работа с динамической памятью в языке Си (выделение / высвобождение / изменение размера выделенной области)

Работа с динамическими массивами в языке Си, в том числе многомерными. Например, с динамическими массивами строк

Использование функции qsort из libc для сортировки массивов символов и массивов строк

Навык работы с датами в программах на языке Си (используя функции библиотеки libc)

Навыки работы с “широкими” символами (wchar_t) и строками в языке Си. (для заданий, где это требуется условием)