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

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

基本信息

  • 论文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 (Human-Computer Interaction)
  • 发表时间/会议: 2018年6月 (Conference acronym 'XX)
  • 论文链接: https://arxiv.org/abs/2510.11999

摘要

本文扩展了块排序问题(如Parsons问题和Proof Blocks)的功能,引入了可选块特性。作者详细介绍了实现可选块功能的算法,并展示了将其集成到课程中的教师使用经验。可选块功能使教师能够创建更复杂的Parsons问题,支持利用省略或可选块的多个正确解决方案。这为学生提供了一种处理由不同答案组件组成的多种有效解决方案的方法。教师可以指定具有多个互斥依赖关系的块,使用多图结构表示。然后将此多图折叠为多个有向无环图(DAGs),允许重用现有的基于DAG的块排序问题评分算法。

研究背景与动机

问题定义

传统的块排序问题(如Parsons问题和Proof Blocks)存在一个关键限制:无法包含可选块或在一个解决方案中有效但在另一个解决方案中无效的块。现有系统要求每个正确解决方案必须包含固定的块集合,这限制了教师创建反映现实世界问题解决过程的复杂问题的能力。

重要性

  1. 真实世界反映:现实中的编程、数学证明和shell命令等问题通常有多种等效的解决方案
  2. 教育价值:让学生理解问题可以有多个同样有效的答案,这是重要的学习目标
  3. 灵活性需求:教师需要能够创建更复杂、更贴近实际应用的教学问题

现有方法局限性

  • Poulsen等人的工作虽然支持同一块集合的多种排序,但不支持不同块组合的多种解决方案
  • 基于执行的反馈虽然可以处理多解方案,但缺乏基于行的反馈的详细性和适用性
  • 无法在数学证明等非可执行场景中使用多解方案

核心贡献

  1. 多图折叠算法:提出了将多图表示的依赖关系折叠为多个有向无环图的算法
  2. 可选块接口:为教师提供了编写可选块排序问题的界面和规范
  3. 跨域应用案例:展示了在编程入门、离散数学和shell命令教学中的应用
  4. 算法复杂度分析:提供了算法的时间复杂度理论分析和实际应用数据

方法详解

任务定义

输入:包含可选依赖关系的块排序问题的多图表示 输出:所有可能的有效DAG表示,用于评分学生提交的解决方案 约束:保持问题的无环性,支持互斥的依赖路径

核心算法架构

1. 多图表示

使用带颜色边的多图来表示可选依赖关系:

  • 节点代表代码块或证明步骤
  • 带颜色的边表示替代的逻辑依赖路径
  • 管道操作符(|)在HTML规范中表示互斥依赖

2. 多图折叠算法(Algorithm 1)

Function Collapse(M, F):
    CollapsedGraphs (CD) ← empty list
    PartiallyCollapsedGraphs (PCGs) ← empty queue
    Enqueue(PCGs, M)
    
    while PCG is not empty:
        G ← Dequeue(PCGs)
        (v, DAG) ← DFSuntil(G, F)
        
        if v is NULL:
            append DAG to CD
        else:
            foreach Color in G:
                PCG ← copy(G)
                Remove all edges on v with color ≠ Color
                Enqueue(PCGs, PCG)
    
    return CD

3. DFS-Until算法(Algorithm 2)

修改的深度优先搜索,具有停止条件:

  • 从最终节点开始反向遍历
  • 遇到多色边时停止并返回需要处理的节点
  • 完成遍历时返回有效的DAG

技术创新点

  1. 多图到DAG的转换:创新性地使用颜色边表示互斥依赖,然后系统性地生成所有可能的DAG组合
  2. 算法复杂度优化
    • 时间复杂度:O(d·(n+m)),其中d是生成的DAG数量
    • 实际应用中d值较小(≤8),保证了实用性
  3. 向后兼容性:重用现有的DAG评分算法,无需重新设计评分机制

实验设置

应用域测试

论文在三个主要领域进行了测试:

  1. 离散数学:数学证明的多种构造方法
  2. 编程入门:Python函数的不同实现方式
  3. Shell命令:Git工作流和Unix命令序列

复杂度分析数据

作者收集了12个实际问题的复杂度数据:

内容类型块数(n)边数(m)DAG数(d)
Bash命令5-134-102-4
Python编程6-138-132-8
数学证明10-1110-132

教师使用经验

  • 第二作者在大型编程入门课程中使用,包括作业和考试
  • 第三作者在软件工程基础课程中评估shell和Git知识
  • 支持迭代vs函数式编程范式的并行展示

实验结果

主要发现

  1. 实用性验证:所有实际创建的问题都保持在合理的复杂度范围内(d≤8)
  2. 教学效果
    • 学生能够探索多种解决方案路径
    • 提供了比单一解决方案更丰富的学习体验
    • 在Git工作流教学中表现出良好的区分度
  3. 系统性能
    • 算法在实际应用中表现良好
    • 成功集成到PrairieLearn平台
    • 保持了现有DAG评分算法的优势

应用案例分析

编程示例

求和函数问题展示了4种有效解决方案:

  • 详细方法:声明变量,逐步累加
  • 简洁方法:直接赋值表达式
  • 混合方法:结合两种方式的变体

数学证明示例

偶数性质证明支持两种方法:

  • 直接证明:假设n为偶数,证明n+10为偶数
  • 反证法:假设n+10为奇数,导出矛盾

相关工作

Parsons问题研究

  • Dale Parsons和Patricia Haden首次引入编程拼图概念
  • Ericson等人证明Parsons问题与传统编程练习同样有效但更高效
  • 自适应Parsons问题允许学生根据技能水平调整难度

Proof Blocks扩展

  • Poulsen等人将块排序扩展到数学证明领域
  • 引入DAG表示法处理多种正确排序
  • 开发了基于编辑距离的部分学分机制

干扰项研究

  • 传统干扰项是错误的代码块
  • 本文重新定义:选择一个可选块路径后,其他路径的块变成干扰项
  • 为干扰项研究提供了新的视角

结论与讨论

主要结论

  1. 技术可行性:多图折叠算法成功解决了可选块的表示和评分问题
  2. 教育价值:支持多解方案的块排序问题更好地反映现实世界的问题解决过程
  3. 广泛适用性:方法在编程、数学和系统管理等多个领域都有应用价值

局限性

  1. 复杂度增长:DAG数量随颜色选择呈指数增长,理论上可能限制某些问题的使用
  2. 界面设计:大量块可能增加认知负荷,需要更好的用户界面设计
  3. 评估有限:缺乏大规模的学习效果评估研究

未来方向

  1. 学习效果研究:评估多解方案对学生学习的具体影响
  2. 界面优化:开发减少认知负荷的用户界面
  3. 公平性研究:在考试环境中评估多解方案是否能减少预conception匹配带来的不公平优势

深度评价

优点

  1. 技术创新性:多图到DAG的折叠算法设计巧妙,理论基础扎实
  2. 实用价值:解决了教育技术中的实际需求,已在多个课程中应用
  3. 系统完整性:从算法设计到系统实现再到教学应用形成完整闭环
  4. 跨域适用性:在编程、数学、系统管理等多个领域都展示了应用价值

不足

  1. 评估深度:主要依赖轶事证据,缺乏严格的学习效果对比实验
  2. 理论分析:虽然提供了复杂度分析,但对学习理论的讨论相对薄弱
  3. 用户体验:对于如何设计更好的用户界面来处理复杂问题的讨论不够深入

影响力

  1. 技术贡献:为教育技术领域提供了处理多解方案的通用方法
  2. 教育实践:改变了传统块排序问题的设计思路
  3. 研究启发:为worked example理论和干扰项研究提供了新的视角

适用场景

  1. 编程教育:适合展示多种编程范式和解决方案的场景
  2. 数学教学:特别适合有多种证明方法的定理教学
  3. 技能培训:适合系统管理、工具使用等有多种操作路径的技能培训

参考文献

本文引用了教育技术领域的重要文献,包括:

  • Parsons问题的原始研究14
  • Proof Blocks的基础工作16,17
  • 自适应学习和worked example理论相关研究1,6,8
  • 干扰项效果的实证研究9,10,19

总体评价:这是一篇在教育技术领域具有重要贡献的论文,提出的多图折叠算法优雅地解决了块排序问题中的可选块支持问题。虽然在学习效果的实证评估方面还有提升空间,但其技术创新性和实用价值使其成为该领域的重要进展。