Лабораторные
Задачи для лабораторных работ
Требования к лабораторным работам
Требования являются максимальными, т.е. включают особенности разработки приложений для командного интерфейса, модульных тестов и веб-приложений. Если в задании не указываются необходимость создания подобных элементов, то соответствующие требования можно не реализовывать.
- Приложение должно реализовать все требования, указанные в задании. Однако, к защите допускаются приложения, реализующие только часть задач. Т.е. приход с реализованной частично лабораторной работой гораздо лучше чем пропуск сдачи.
- Исходный код приложения должен быть проверен с помощью приложения Rubocop либо с настройками по-умолчанию, либо с предоставляемыми преподавателям настройками. Для каждого нарушения, которое находит Rubocop во время сдачи, должно быть объяснение почему оно не было исправлено. Допускаются аргументы с точки зрения архитектуры приложения, другого рода аргументы не принимаются.
- Все зависимости приложения должны управляться с помощью инструмента Bundler, установка зависимостей с помощью инструмента
gem
запрещена. - Для разрабатываемого приложения должны быть создан отдельный каталог.
- В корне каталога должны располагаться конфигурационные файлы:
Gemfile
,Gemfile.lock
,Rakefile
. - Для веб-приложений необходимо создать файл
config.ru
и обеспечить запуск с помощью приложенияrackup
.
- В корне каталога должны располагаться конфигурационные файлы:
- Весь код приложения должен быть разбит на модули и классы, запрещается использовать файлы с простым набором методов, которые не принадлежат какому-либо модулю.
- Необходимо выделить отдельные классы, описывающие предметную область.
- В одном модуле нельзя совмещать логику обработки предметной области и операции ввода-вывода.
- Приложение должно корректно обрабатывать неправильный ввод от пользователя. При получении неправильных данных приложение должно сообщать пользователю о том какая ошибка была совершена и способах её решения.
- Для приложения необходимо написать модульные тесты, которые будут проверять ключевые части приложения, реализующие логику работы из предметной области.
- Модульные тесты должны запускаться с помощью системы управления задач Rake. Желательно назвать задачу для выполнения тестов
test
. - Необходимо измерять степень покрытия предметной логики модульными тестами с помощью SimpleCov. Необходимо добиться покрытия в 95% в ключевых классах и модулях. Желательно добиться такого же покрытия и на коде, осуществляющем ввод-вывод данных.
- Для веб-приложений необходимо написать системные тесты, которые будут проверять работу всех сценариев работы приложения. Системные тесты не должны влиять на степень покрытия тестами или иметь отдельное покрытие.
Общие требования к сдаче лабораторной работы
- Во время контрольной разрешается использовать следующие источники информации:
- Встроенная документация, предоставляемая
ri
. - Документация на сайте ruby-doc.org.
- Поисковые системы и их ответы.
- Встроенная документация, предоставляемая
- Остальные средства получения информации запрещены, в том числе:
- Прямое общение с другими людьми.
- Любые средства интерактивного взаимодействия с другими людьми, включая голосовое общение и общение с помощью любых других технических средств.
- Любые ресурсы локальной сети, включая файловое хранилище.
- Использование физических средств связи, телефонов, часов, гарнитур и т.д. Наличие телефона в руках автоматически обозначает его использование.
- Студент на сдачу может взять с собой листок бумаги и ручку, средства связи (мобильные телефоны, часы, наушники) во избежание недоразумений лучше оставить за пределами аудитории.
Процедура очной сдачи лабораторной работы
Данная процедура будет применяться при приёме всех лабораторных работ, которые вы будете очно сдавать.
- Сдача лабораторной работы происходит на компьютерах, установленных в компьютерной аудитории. Сдача на собственной технике запрещена.
- Одновременно в компьютерный класс заходят студенты, которые реализуют одну и туже лабораторную работу. Не допускается «опоздание» на свою очередь. Порядок захода определяется номерами. Первыми заходят студенты с лабораторной работой №1.
- Студент приходит на сдачу лабораторной работы с готовой лабораторной работой.
- Студенту предоставляется 10 минут на настройку компьютера для запуска своей лабораторной работы.
- Студенту предоставляется 5 минут на презентацию работы лабораторной работы преподавателю.
- Студенту необходимо за 25 минут внести изменения в лабораторную, которые ему предложит преподаватель.
- Студенту предоставляется 5 минут на показ внесённых изменений.
Процедура удалённой сдачи лабораторных работ
Данная процедура будет применяться при приёме всех лабораторных работ, которые вы будете сдавать заочно.
- Для каждой лабораторной работы заводится задача в системе сопровождения обучения студентов, в настоящий момент Moodle.
- Студенты должны загрузить к назначенной дате и времени решение для лабораторной работы в качестве ответа задания.
- Для защиты устанавливается день согласно расписанию занятий.
- Для защиты знаний студенту необходимо через систему интерактивного общения сообщить преподавателю о желании защищать результаты лабораторной работы.
- Преподаватель по возможности будет вызывать студентов на защиту.
- Студенту необходимо подготовиться к защите:
- Обеспечить возможность трансляции экрана с компьютера
- Обеспечить постоянную работу микрофона
- Обеспечить постоянную работу камеры
- Подготовить компьютер к запуску исходного кода, который был загружен в систему сопровождения обучения. Использование модифицированного исходного кода запрещено.
- Во время защиты:
- Студенту передаётся задача для выполнения и происходит первоначальное обсуждение
- Студент выполняет полученное задание от 15 до 40 минут
- По окончании выделенного времени студент показывает изменения, которые были внесены согласно заданию