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
Title: Choose Your Own Solution: Supporting Optional Blocks in Block Ordering Problems
Authors: Skyler Oakeson (Utah State University), David H. Smith IV (Virginia Tech), Jaxton Winder (Utah State University), Seth Poulsen (Utah State University)
This paper extends the functionality of block ordering problems (such as Parsons problems and Proof Blocks) by introducing optional block features. The authors detail the algorithms for implementing optional block functionality and present teacher experiences integrating it into curricula. Optional blocks enable instructors to create more complex Parsons problems that support multiple correct solutions utilizing omitted or optional blocks. This provides students with a method for handling multiple valid solutions composed of different answer components. Instructors can specify blocks with multiple mutually exclusive dependencies, represented using multigraph structures. This multigraph is then collapsed into multiple directed acyclic graphs (DAGs), allowing the reuse of existing DAG-based block ordering problem scoring algorithms.
Traditional block ordering problems (such as Parsons problems and Proof Blocks) have a critical limitation: they cannot include optional blocks or blocks that are valid in one solution but not in another. Existing systems require each correct solution to contain a fixed set of blocks, which limits instructors' ability to create complex problems that reflect real-world problem-solving processes.
While Poulsen et al.'s work supports multiple orderings of the same block set, it does not support multiple solutions with different block combinations
Execution-based feedback, while capable of handling multi-solution problems, lacks the granularity and applicability of line-based feedback
Cannot be used in non-executable scenarios such as mathematical proofs
Multigraph Collapsing Algorithm: Proposes an algorithm for collapsing dependency relationships represented as multigraphs into multiple directed acyclic graphs
Optional Block Interface: Provides instructors with an interface and specification for writing optional block ordering problems
Cross-Domain Application Cases: Demonstrates applications in introductory programming, discrete mathematics, and shell command instruction
Algorithm Complexity Analysis: Provides theoretical complexity analysis and practical application data for the algorithm
Input: Multigraph representation of block ordering problems with optional dependencies
Output: All possible valid DAG representations for scoring student submissions
Constraints: Maintain acyclicity of the problem, support mutually exclusive dependency paths
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
Multigraph to DAG Conversion: Innovatively uses colored edges to represent mutually exclusive dependencies, then systematically generates all possible DAG combinations
Algorithm Complexity Optimization:
Time Complexity: O(d·(n+m)), where d is the number of generated DAGs
In practical applications, d values are small (≤8), ensuring practicality
Backward Compatibility: Reuses existing DAG scoring algorithms without requiring redesign of the scoring mechanism
This paper cites important literature in educational technology, including:
Original Parsons problem research 14
Foundational Proof Blocks work 16,17
Related research on adaptive learning and worked example theory 1,6,8
Empirical research on distractor effects 9,10,19
Overall Assessment: This is an important contribution to the field of educational technology. The proposed multigraph collapsing algorithm elegantly solves the problem of supporting optional blocks in block ordering problems. While there is room for improvement in empirical evaluation of learning effectiveness, its technical innovation and practical value make it a significant advance in the field.