2.3. Parsons Problems - Mixed Up Blocks¶
Parsons problems provide blocks that are mixed up and the user must drag the blocks to the right and put them in the correct order. The blocks can be plain text as shown below.
The blocks can contain code. They can also have numbered labels on the left or right side which can help people working in groups to discuss the problem (:numbered: left or :numbered: right). The example below shows a problem in Python. Notice that a block can contain more than one line of code. Be sure to break up the lines of code so that there is only one correct solution.
Here is an example in Java. Parsons problems can have distractor (incorrect) code blocks that are not needed in a correct solution. Indicate that a block is a distractor by adding (#distractor) at the end of the line of code. This will randomly mix in the distractor block with the correct code blocks. The problems can also be adaptive (:adaptive:), which means that if learner is struggling to answer the problem correctly it can dynamically be made easier by removing distractors or combining blocks. You can tell if a problem is adaptive because it will have a “Help Me” button. The learner must submit at least three incorrect solutions before they can use the help button. Also, notice that the indentation has been provided in the problem below. This is because of the ( :noindent:).
Here is the same example, but with a paired distractor (#paired vs #distractor). The distractor block be shown either above or below the correct block. There will also be purple edges on the sides and the word “or” to show that the blocks are paired.
Here is the same problem, but now the user has to indent the code as well since this does not have (:noindent:). That means the user must provide the indentation. Notice the lines in the solution area to the right, they that indicate that indentation is possible.