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.
翻译:本文扩展了块排序问题(如帕森斯问题和证明块)的功能,以包含可选块。我们详细阐述了实现可选块功能所使用的算法,并展示了将其融入课程的教学人员的使用经验。可选块功能使教学人员能够创建更复杂的帕森斯问题,这些问题利用省略或可选块提供多种正确解决方案。这为学生提供了一种参与具有多个由不同答案组件构成的有效解决方案的问题的方法。教学人员可以指定具有多个互斥依赖关系的块,我们使用多重图结构来表示这些依赖关系。随后,该多重图被折叠成多个有向无环图(DAG),从而允许我们重用现有的算法来对表示为DAG的块排序问题进行评分。我们展示了该功能在不同领域的潜在应用案例,包括帮助学生掌握Git工作流、Shell命令序列、数学证明以及Python编程概念。