Содержание
Правила защиты курсовых работ
Пререквизиты
- Для допуска к защите у студента должен быть сделан пуллреквест по правилам: Правила создания PR к курсовой работе
- Курсовая должна быть выполнена в полном объеме и в соответствии с полученным студентом заданием.
- В назначенный день и время студент должен быть онлайн в discord. В случае, если студент хочет проверить заранее свои технические возможности использования системы прокторинга (записи камеры и экрана на его устройстве) возможности, он должен связаться с преподавателем не позднее, чем за 72 часа до защиты.
Как проходит защита
Перед основным заданием студент решает проходной тест, состоящий из утверждений, среди которых нужно выбрать верные. В тесте допускается сделать одну ошибку, то есть либо отметить как верный ответ, который является неверным, либо наоборот. Например: если в тесте два верных утверждения, и студент выбрал одно верное утверждение и одно неверное, то это будет считаться за две ошибки: верное утверждение выбрано как неверное и неверное утверждение выбрано как верное.
В случае успешного решения теста студент допускается к выполнению основного задания. В противном случае за курсовую работу выставляется оценка «неудовлетворительно».
Основное задание представляет собой дополнительную подзадачу курсовой работы: Порядок сдачи курсовых работ
После того, как студент решит задачу, студента будет ожидать разговор с преподавателем. На этот момент разрешается завершить прокторинг. Во время общения с преподавателем после успешно выполенного задания студент показывает преподавателю экран и изображение с веб-камеры. Студент:
- Демонстрирует работоспособность выполненного им на защите задания.
- Демонстрирует работоспособность остальных подзадач курсовой работы
- Отвечает на вопросы преподавателя по заданию на защите и основной курсовой работе. Вопросы охватывают не менее трех тем.
Правила оценивания (курсовой и задания на защиту)
Студент получает максимальную оценку согласно выбранному уровню курсовой работы, если выполнены все следующие условия:
- Студент выполнил полностью задание на защиту, программа компилируется, запускается и демонстрирует корректность работы на тестах, предложенных студентом и преподавателем. Задание было успешно встроено в курсовую работу.
- Студент верно отвечает на все вопросы преподавателя.
- Студент способен прокомментировать свою работу как с точки зрения логики её выполнения, так и с точки зрения использования конструкций языка.
Студент получает оценку неудовлетворительно, если выполняется хотя бы одно из условий:
- Не пройдена автоматическая проверка выполняемого задания
- Студент не может скомпилировать курсовую работу с добавленной по итогам защиты функциональностью к моменту окончания времени на защиту. Иными словами, код к моменту завершения времени на выполнение задания не корректный.
- Основная курсовая работа или курсовая работа с добавленным заданием аварийно завершается или выдает неверный ответ на всех тестах.
- Основная курсовая работа или курсовая работа с добавленным заданием аварийно завершается или выдает неверный ответ на нескольких тестах, но студент не может объяснить причину такого поведения программы. Под объяснением следует понимать способность указать строчку в коде программы в которой присутствует ошибка, назвать причину ошибки и объяснить алгоритм исправления ошибки.
- Студент не может прокомментировать логику работы своей программы и/или дать комментарии по программному коду. Неправильно данные ответы приравниваются к неспособности студента дать комментарии.
Основания для снижения оценки:
- Задание выполнено полностью, но корректный результат работы программа показывает только на нескольких тестах.
- Студент совершает более двух ошибок при ответе на вопросы.
- Есть части программы, по которым студент не может дать комментарии
Минимально требуемый набор навыков для выполнения задания (курсовая осеннего семестра)
- Сборка программы с использованием компилятора gcc
- Умение запуска программы и ввода данных
- Ввод и вывод текстовых данных в программе на языке Си
- Работа с символами на языке Си
- Операции над строками (символьными массивами) в языке Си: разделение строки на подстроки, копирование, вставка, конкатенация. Умение использовать функции из string.h
- Указатели в языке Си (в том числе указатели на указатели)
- Работа с динамической памятью в языке Си (выделение / высвобождение / изменение размера выделенной области)
- Работа с динамическими массивами в языке Си, в том числе многомерными. Например, с динамическими массивами строк
- Использование функции qsort из libc для сортировки массивов символов и массивов строк
- Навык работы с датами в программах на языке Си (используя функции библиотеки libc)
- Навыки работы с “широкими” символами (wchar_t) и строками в языке Си. (для заданий, где это требуется условием)