====== Порядок выполнения и защиты лабораторных работ ======
Порядок сдачи **курсовых** работ отличается от сдачи лабораторных работ. Ознакомиться с порядком для курсовых работ можно на странице [[TBD]]
Выполнение и защита лабораторной работы состоит из следующих этапов:
- Выполнить задание к лабораторной работе и __загрузить задание на moodle в соответствующий модуль курса__. Задание считается выполненным только в случае успешного прохождения всех тестов. Написанный код может проходить все проверки, но содержать ошибки, которые могут повлиять на оценку при защите работы, поэтому необходимо соблюдать следующие требования: [[.rules]]
- Загрузить файлы с кодом в репозиторий группы при помощи системы контроля версий в соответствии с правилами [[courses:git_rules]] и создать [[https://forgejo.org/docs/latest/user/collaboration/pull-requests-and-git-flow/|pull-request]]
- Защита лабораторной работы: решение заданий за ограниченное время с использованием [[courses:proctoring|прокторинга]]
- Если решены все задания на защите -- беседа с преподавателем для подтверждения максимального балла
Лабораторная работа считается зачтённой (//т.е.получены баллы за pull-request и защиту в рейтинг//) только после **слияния соответствующего pull-request’а преподавателем!** В любых иных случаях работа считается невыполненной и баллы за неё **не учитываются в рейтинге**.
===== Выполнение задания на moodle =====
Если обнаруживается, что студент __выполнил лабораторную работу не самостоятельно, **в том числе с использованием ИИ**__, то лабораторная работа и результат защиты **аннулируются без возможности перезащиты**.
При этом остаётся возможность получить __2 балла за pull-request__, если самостоятельно выполнить лабораторную работу до [[.structure|финальной даты дисциплины]]
===== Создание pull-request’а =====
Если нет возможности или нет желания защищать лабораторную работу на ближайшей паре (__и при этом дедлайн ещё не прошёл__), то **по предварительному согласованию с преподавателем** можно перенести защиту. __**Без предупреждения и согласования за защиту лабораторной работы выставляется ноль баллов, как если бы была неявка**__.
Если нет возможности защитить лабораторную работу в ближайшую пару по **__уважительной причине__**, то необходимо __предупредить своего преподавателя, принести подтверждающий документ в деканат__ ([[common:exams#я_заболел_и_пропустил_лекцию_практику_контрольную_лабораторную_что_мне_делать_чтобы_ликвидировать_текущие_задолженности|Я заболел и пропустил лекцию/практику/контрольную/лабораторную. Что мне делать, чтобы ликвидировать текущие задолженности?]]), и после подтверждения данного документа вам будет предоставлена возможность защиты лабораторной работы.
Наличие pull-request’а на момент проведения пары, но отказ от защиты или отсутствие сдающего на защите приводит к автоматическому получению 0 баллов за защиту (//перезащита не предполагается//). Таким образом, если нет планов защищать лабораторную работу, то pull-request для получения за него баллов можно выполнить в любой момент времени до [[.structure|финальной даты дисциплины]].
===== Защита лабораторной работы =====
Для допуска к защите необходимо сделать корректный pull-request (//при этом он должен быть открыт//) **не позднее, чем за 30 минут до начала пары**.
Перед началом пары преподаватель свяжется со сдающими студентами через студенческий чат (Rocket.Chat) в канале группы. Слева в приложении или странице Rocket.Chat расположены каналы групп, через которые будет происходить коммуникация. Перед началом пары необходимо открыть текстовый канал своей группы.
Задания для защиты находятся в отдельном курсе на мудл, в который студенты добавляются в начале семестра. Для защиты лабораторной работы преподаватель назначает каждому сдающему вариант и отправляет ссылки на модули в moodle.
Запрещено решать задания не своего варианта, а также заходить в модуль с заданиями не своей группы. Нарушение данного правила приводит к автоматическому получении **0 баллов за защиту** лабораторной работы вне зависимости от фактического результата защиты.
На защите лабораторной работы нужно решить __три задания__. Задания могут быть как __практическими__ (//написание кода//), так и __теоретическими__ (//выбор варианта ответа, ввод строкового ответа//). **Теоретические задания ограничены количеством попыток**. Практические задания не имеют ограничения на количество отправок. Каждое решенное задание даёт __1 балл за защиту__. На защиту отводится **//__60 минут__//**, после чего модуль автоматически завершает все попытки сдающего и сделать новую отправку уже невозможно. Для каждого задания засчитывается лучшая попытка (//с максимальным баллом//)
Во время защиты разрешается **__задавать преподавателю уточняющие вопросы по условию заданий__** через канал группы в Rocket.Chat.
===== Беседа с преподавателем =====
После выполнения заданий защиты можно получить от 0 до 3 баллов. Дальнейшие возможные действия в зависимости от количества баллов:
* __0 баллов__. Возможна **__одноразовая перезащита__** данной лабораторной работы если
* **Защита проведена до дедлайна**
* Сдающий присутствовал на защите
* На самой защите получено 0 баллов. **Аннулированные защиты перезащитить нельзя**
* __1-2 балла__. Баллы за защиту будут выставлены преподавателем в pull-request после проверки решений и записи прокторинга
* __3 балла__. Для получения 3 баллов после защиты необходимо пройти беседу с преподавателем. Для этого нужно установленным преподавателем способом (//сообщение в канале группы, форма, электронная очередь, ...//) сообщить о намерении получить полный балл через беседу. После этого преподаватель пригласит на видеозвонок для проведения беседы
* На беседе могут быть заданы вопросы как по самой лабораторной работе, **__так и по связанным темам__**. Также могут быть вопросы по заданиям из защиты.
* Во время беседы необходимо __включить демонстрацию экрана и веб-камеру__
* По результатам беседы можно получить как полных 3 балла, так и __понизить свой балл за защиту лабораторной работы__
* Если нет планов беседовать с преподавателем, то максимальный балл за защиту **снижается до 2, а беседа не проводится**
Получить три балла за защиту можно только после общения с преподавателем. __Для получения 0-2 баллов общение с преподавателем не требуется__.
В случае, если у студента есть вопросы по количеству полученных баллов, он может написать на **//почту//** своему преподавателя лабораторных работ.
===== Почему мой pull-request не слит =====
Pull-request может быть не слит (а работа не зачтена) по следующим причинам:
* Преподаватель не проверил вашу работу/исправления. Нужно подождать некоторое время или обратиться к соответствующему разделу: [[working_rules#Трудности коммуникации|Трудности коммуникации]]
* Преподаватель оставил замечания к pull-request’у, которые необходимо исправить в сроки, указанные в разделе [[.structure]]. Данные замечания обязательны к исправлению и их неисправление является основанием в отказе слияния pull-request’а
===== Трудности коммуникации =====
Если преподаватель по лабораторным работам длительное время (больше 2 недель) не проверяет pull-request (новый или исправленный), без предварительной договоренности о времени проверок, то необходимо написать ему письмо на почту и уточнить, когда преподаватель проверить pull-request’ы. __**Ответственными и заинтересованными за вашу работу являетесь вы, и если вы не интересуетесь временем проверок ваших работ, то ответственность за последствия лежит на вас.**__
Если преподаватель без объяснения причин и предварительных договоренностей не проверяет pull-request’ы и не отвечает на письма больше недели, то необходимо сделать следующее:
* Проверить правильность оформления своего письма и указанный в письме адрес преподавателя (любые письма, не соответствующие требованиям оформления, игнорируются, см. [[courses:communication_rules]])
* Отправить ваше письмо повторно, так как оно могло затеряться на почте преподавателя
**Если ответа нет больше недели с момента повторной отправки и вы уверены в правильности оформления письма**, то добавьте [[courses:communication_rules#время_ответа_и_выходные_дни|в копию письма кураторов дисциплины]]