Похожие презентации:
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 и создание пустого
тестового курса.