26.95K

iteration_2

1.

Генератор
лабораторных по
программированию
Презентация по 2-й итерации

2.

План на текущую итерацию
● Доработать прототип 1 лаб. работы до полноценной реализации
● Сформулировать концепции для 2-4 лаб. и реализовать их

3.

Методы решения, технологии
Языки программирования:
• Python – основной язык разработки фреймворка. Используется для:
◦ Логики генерации вариантов и тестов
◦ Управления CLI (аргументы командной строки)
◦ Взаимодействия с компилятором и запуском бинарных файлов
◦ Автоматического обнаружения модулей лабораторных работ
• C – язык, для которого разработан фреймворк (студенческие решения и эталонные
примеры).

4.

Библиотеки и модули Python
• argparse – для построения CLI с поддержкой вложенных команд
• hashlib – для генерации детерминированного seed на основе строки с ФИО студента
• random – для генерации случайных параметров с использованием seed-инициализации
Технологии виртуализации и контейнеризации
• Docker – обеспечивает:
◦ Изолированное окружение для запуска фреймворка
◦ Унификацию среды выполнения независимо от операционной системы
◦ Возможность монтирования локальных файлов с решениями в контейнер

5.

Результаты текущей итерации
Реализован фреймворк (main: prog_labgen), предназначенный для
автоматизации процесса создания и проверки лабораторных работ и
включающий:
1. Готовую систему для выдачи заданий – генерирует варианты для студента по его ФИО;
2. Автоматическую проверку кода – компилирует решения на C, прогоняет через тесты;
3. Три простых режима – показать задание, показать тесты, проверить решение;
4. Готовые лабораторные работы – примеры того, как всё работает;
5. Работу через Docker – можно запускать в любой среде.

6.


Сформулированы, доработаны и реализованы концепты 1-3
лабораторных работ:
1. main: prog_labgen/lab1_intro, reports: docs/lab1_concept
2. main: prog_labgen/lab2, reports: docs/lab2_concept
3. main: prog_labgen/lab3, reports: docs/lab3_concept

7.

План на следующую итерацию
Формулировка концептов оставшихся лабораторных работ и их
реализация;
Получение доступа к редактированию e.moevm и создание пустого
тестового курса.
English     Русский Правила