🤖 AI Summary
Traditional block-sorting problems (e.g., Parsons problems, Proof Blocks) support only a single unique solution, limiting their expressiveness for pedagogical tasks requiring logical branching or component substitution.
Method: We propose an “optional block” mechanism enabling construction of problems with multiple equivalent correct solutions. To model inter-block mutual exclusions, we introduce a multigraph representation and apply graph compression to decompose it into multiple directed acyclic graphs (DAGs), thereby enabling efficient, flexible multi-solution validation via existing grading algorithms.
Contribution/Results: This framework empowers instructors to design higher-order tasks—such as Git workflows, Shell command sequences, Python programming exercises, and mathematical proofs—featuring alternative valid paths. Empirical deployment across disciplines demonstrates substantial improvements in problem expressivity, adaptability, and student engagement. The approach provides a scalable, technically robust foundation for formative assessment of multi-solution problems.
📝 Abstract
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.