2025-11-22T23:52:17.167783

Choose Your Own Solution: Supporting Optional Blocks in Block Ordering Problems

Oakeson, Smith, Winder et al.
This paper extends the functionality of block ordering problems (such as Parsons problems and Proof Blocks) to include optional blocks. We detail the algorithms used to implement the optional block feature and present usage experiences from instructors who have integrated it into their curriculum. The optional blocks feature enables instructors to create more complex Parsons problems with multiple correct solutions utilizing omitted or optional blocks. This affords students a method to engage with questions that have several valid solutions composed of different answer components. Instructors can specify blocks with multiple mutually exclusive dependencies, which we represent using a multigraph structure. This multigraph is then collapsed into multiple directed acyclic graphs (DAGs), allowing us to reuse existing algorithms for grading block ordering problems represented as a DAG. We present potential use cases for this feature across various domains, including helping students learn Git workflows, shell command sequences, mathematical proofs, and Python programming concepts.
academic

Выберите Свое Решение: Поддержка Опциональных Блоков в Задачах Упорядочения Блоков

Основная информация

  • ID статьи: 2510.11999
  • Название: Choose Your Own Solution: Supporting Optional Blocks in Block Ordering Problems
  • Авторы: Skyler Oakeson (Utah State University), David H. Smith IV (Virginia Tech), Jaxton Winder (Utah State University), Seth Poulsen (Utah State University)
  • Категория: cs.HC (Взаимодействие человека и компьютера)
  • Дата публикации/Конференция: июнь 2018 г. (Conference acronym 'XX)
  • Ссылка на статью: https://arxiv.org/abs/2510.11999

Аннотация

В данной работе расширяются функциональные возможности задач упорядочения блоков (таких как задачи Парсонса и Proof Blocks) путём введения функции опциональных блоков. Авторы подробно описывают алгоритм реализации функции опциональных блоков и демонстрируют опыт использования преподавателями при интеграции в учебный процесс. Функция опциональных блоков позволяет преподавателям создавать более сложные задачи Парсонса, поддерживающие несколько правильных решений с использованием пропущенных или опциональных блоков. Это предоставляет студентам возможность работать с несколькими допустимыми решениями, состоящими из различных компонентов ответов. Преподаватели могут указывать блоки с несколькими взаимоисключающими зависимостями, представленными с использованием мультиграфовой структуры. Затем этот мультиграф преобразуется в несколько ориентированных ациклических графов (DAG), что позволяет переиспользовать существующие алгоритмы оценки задач упорядочения блоков на основе DAG.

Исследовательский контекст и мотивация

Определение проблемы

Традиционные задачи упорядочения блоков (такие как задачи Парсонса и Proof Blocks) имеют ключевое ограничение: они не могут включать опциональные блоки или блоки, которые действительны в одном решении, но недействительны в другом. Существующие системы требуют, чтобы каждое правильное решение содержало фиксированный набор блоков, что ограничивает способность преподавателей создавать сложные задачи, отражающие процессы решения проблем в реальном мире.

Значимость

  1. Отражение реальности: В реальности задачи программирования, математические доказательства и команды оболочки обычно имеют несколько эквивалентных решений
  2. Образовательная ценность: Понимание студентами того, что проблема может иметь несколько одинаково допустимых ответов, является важной целью обучения
  3. Требования гибкости: Преподавателям необходимо создавать более сложные задачи, приближенные к реальным приложениям

Ограничения существующих подходов

  • Работа Поульсена и др., хотя и поддерживает несколько упорядочений одного набора блоков, не поддерживает несколько решений с различными комбинациями блоков
  • Обратная связь на основе выполнения, хотя и может обрабатывать многорешенные задачи, не обладает детальностью и применимостью построчной обратной связи
  • Невозможно использовать многорешенные задачи в неисполняемых сценариях, таких как математические доказательства

Основные вклады

  1. Алгоритм свёртывания мультиграфа: Предложен алгоритм преобразования зависимостей, представленных мультиграфом, в несколько ориентированных ациклических графов
  2. Интерфейс опциональных блоков: Предоставлен интерфейс и спецификация для преподавателей при написании задач упорядочения опциональных блоков
  3. Примеры применения в различных областях: Демонстрация применения во введении в программирование, дискретной математике и обучении командам оболочки
  4. Анализ сложности алгоритма: Предоставлена теоретическая оценка временной сложности алгоритма и практические данные применения

Подробное описание методологии

Определение задачи

Вход: Мультиграфовое представление задачи упорядочения блоков с опциональными зависимостями Выход: Все возможные допустимые представления DAG для оценки решений студентов Ограничения: Сохранение ацикличности задачи, поддержка взаимоисключающих путей зависимостей

Архитектура основного алгоритма

1. Представление мультиграфа

Использование мультиграфа с цветными рёбрами для представления опциональных зависимостей:

  • Узлы представляют блоки кода или шаги доказательства
  • Цветные рёбра представляют альтернативные пути логических зависимостей
  • Оператор конвейера (|) в HTML-спецификации обозначает взаимоисключающие зависимости

2. Алгоритм свёртывания мультиграфа (Алгоритм 1)

Функция Collapse(M, F):
    CollapsedGraphs (CD) ← пустой список
    PartiallyCollapsedGraphs (PCGs) ← пустая очередь
    Enqueue(PCGs, M)
    
    while PCG не пуста:
        G ← Dequeue(PCGs)
        (v, DAG) ← DFSuntil(G, F)
        
        if v равно NULL:
            добавить DAG в CD
        else:
            foreach Color в G:
                PCG ← copy(G)
                Удалить все рёбра на v с цветом ≠ Color
                Enqueue(PCGs, PCG)
    
    return CD

3. Алгоритм DFS-Until (Алгоритм 2)

Модифицированный поиск в глубину с условием остановки:

  • Обратный обход, начиная с конечного узла
  • Остановка при встрече с многоцветным ребром и возврат узла, требующего обработки
  • Возврат допустимого DAG при завершении обхода

Технические инновации

  1. Преобразование мультиграфа в DAG: Инновационное использование цветных рёбер для представления взаимоисключающих зависимостей с последующим систематическим генерированием всех возможных комбинаций DAG
  2. Оптимизация сложности алгоритма:
    • Временная сложность: O(d·(n+m)), где d — количество сгенерированных DAG
    • В практических приложениях значение d невелико (≤8), что обеспечивает применимость
  3. Обратная совместимость: Переиспользование существующих алгоритмов оценки DAG без необходимости переработки механизма оценки

Экспериментальная установка

Тестирование в различных областях

Статья проводит тестирование в трёх основных областях:

  1. Дискретная математика: Несколько методов построения математических доказательств
  2. Введение в программирование: Различные способы реализации функций Python
  3. Команды оболочки: Рабочие процессы Git и последовательности команд Unix

Данные анализа сложности

Авторы собрали данные о сложности 12 практических задач:

Тип содержанияКоличество блоков (n)Количество рёбер (m)Количество DAG (d)
Команды Bash5-134-102-4
Программирование на Python6-138-132-8
Математические доказательства10-1110-132

Опыт использования преподавателями

  • Второй автор использовал в крупном курсе введения в программирование, включая задания и экзамены
  • Третий автор оценивал знания оболочки и Git в курсе основ программной инженерии
  • Поддержка параллельной демонстрации итеративной и функциональной парадигм программирования

Результаты экспериментов

Основные выводы

  1. Проверка практичности: Все практически созданные задачи остаются в пределах разумной сложности (d≤8)
  2. Эффективность обучения:
    • Студенты могут исследовать несколько путей решения
    • Обеспечивает более богатый опыт обучения по сравнению с единственным решением
    • Демонстрирует хорошую дифференциацию при обучении рабочим процессам Git
  3. Производительность системы:
    • Алгоритм хорошо работает в практических приложениях
    • Успешно интегрирован в платформу PrairieLearn
    • Сохраняет преимущества существующего алгоритма оценки DAG

Анализ примеров применения

Пример программирования

Задача функции суммирования демонстрирует 4 допустимых решения:

  • Подробный метод: объявление переменной, пошаговое накопление
  • Лаконичный метод: прямое присваивание выражения
  • Смешанный метод: комбинация обоих подходов

Пример математического доказательства

Доказательство свойства чётности поддерживает два метода:

  • Прямое доказательство: предположение, что n чётно, доказательство, что n+10 чётно
  • Доказательство от противного: предположение, что n+10 нечётно, вывод противоречия

Связанные работы

Исследования задач Парсонса

  • Дейл Парсонс и Патриция Хейден впервые ввели концепцию головоломок программирования
  • Эрикссон и др. доказали, что задачи Парсонса столь же эффективны, как традиционные упражнения программирования, но более эффективны по времени
  • Адаптивные задачи Парсонса позволяют студентам регулировать сложность в соответствии с уровнем навыков

Расширение Proof Blocks

  • Поульсен и др. расширили упорядочение блоков на область математических доказательств
  • Введено представление DAG для обработки нескольких правильных упорядочений
  • Разработан механизм частичного кредита на основе расстояния редактирования

Исследование отвлекающих элементов

  • Традиционные отвлекающие элементы — это неправильные блоки кода
  • В данной работе переопределено: после выбора пути опционального блока блоки других путей становятся отвлекающими элементами
  • Предоставляет новую перспективу для исследования отвлекающих элементов

Заключение и обсуждение

Основные выводы

  1. Техническая осуществимость: Алгоритм свёртывания мультиграфа успешно решает проблемы представления и оценки опциональных блоков
  2. Образовательная ценность: Задачи упорядочения блоков, поддерживающие многорешенные варианты, лучше отражают процессы решения проблем в реальном мире
  3. Широкая применимость: Метод имеет ценность применения в программировании, математике, управлении системами и других областях

Ограничения

  1. Рост сложности: Количество DAG растёт экспоненциально с выбором цветов, что теоретически может ограничить использование некоторых задач
  2. Дизайн интерфейса: Большое количество блоков может увеличить когнитивную нагрузку, требуя лучшего дизайна пользовательского интерфейса
  3. Ограниченная оценка: Отсутствуют крупномасштабные исследования эффективности обучения

Будущие направления

  1. Исследование эффективности обучения: Оценка конкретного влияния многорешенных вариантов на обучение студентов
  2. Оптимизация интерфейса: Разработка пользовательского интерфейса, снижающего когнитивную нагрузку
  3. Исследование справедливости: Оценка того, могут ли многорешенные варианты снизить несправедливость, вызванную совпадением предварительных представлений в экзаменационной среде

Глубокая оценка

Преимущества

  1. Техническая инновативность: Алгоритм свёртывания мультиграфа в DAG тщательно разработан с прочной теоретической основой
  2. Практическая ценность: Решает реальные потребности в образовательных технологиях, уже применяется в нескольких курсах
  3. Системная полнота: От проектирования алгоритма к реализации системы и применению в обучении образует полный цикл
  4. Применимость в различных областях: Демонстрирует ценность применения в программировании, математике, управлении системами и других областях

Недостатки

  1. Глубина оценки: В основном опирается на анекдотические свидетельства, отсутствуют строгие сравнительные эксперименты эффективности обучения
  2. Теоретический анализ: Хотя предоставлен анализ сложности, обсуждение теории обучения относительно поверхностно
  3. Пользовательский опыт: Недостаточно глубокое обсуждение того, как разработать лучший пользовательский интерфейс для обработки сложных задач

Влияние

  1. Технический вклад: Предоставляет универсальный метод для области образовательных технологий по обработке многорешенных вариантов
  2. Образовательная практика: Изменяет традиционный подход к проектированию задач упорядочения блоков
  3. Исследовательское вдохновение: Предоставляет новую перспективу для теории worked example и исследования отвлекающих элементов

Применимые сценарии

  1. Образование в программировании: Подходит для сценариев демонстрации нескольких парадигм программирования и решений
  2. Обучение математике: Особенно подходит для обучения теоремам с несколькими методами доказательства
  3. Обучение навыкам: Подходит для обучения управлению системами, использованию инструментов и другим навыкам с несколькими путями операций

Библиография

В статье цитируются важные работы в области образовательных технологий, включая:

  • Оригинальные исследования задач Парсонса 14
  • Фундаментальные работы Proof Blocks 16,17
  • Исследования адаптивного обучения и теории worked example 1,6,8
  • Эмпирические исследования эффектов отвлекающих элементов 9,10,19

Общая оценка: Это статья с важным вкладом в область образовательных технологий. Предложенный алгоритм свёртывания мультиграфа элегантно решает проблему поддержки опциональных блоков в задачах упорядочения блоков. Хотя существует место для улучшения в области эмпирической оценки эффективности обучения, техническая инновативность и практическая ценность делают её важным прогрессом в данной области.