Here’s an innovative and fun approach when teaching coding skills for students.
Parsons puzzle-style problems can make learning to code resemble a game. This method asks students to write code to complete a task. Students must choose from a selection of code fragments, either putting them in order or picking the correct code fragment to fill in a missing blank. This is a great way to practice and assess programming skills, especially for younger students and beginners. They don’t have to recall the exact syntax of the code; they just need to recognize the correct code, logic, or order. And it can apply to any coding language: Scratch, HTML, Python, and more.
Coding Skills for Students: Parsons Problems
Scratch Parsons Problem
Here is an example from TechnoRace. In this course, students have built a rescue mission game using Scratch. The young game developer has designed a unique maze through which the player must navigate to reach a goal. Along the way, they collect treasure and avoid obstacles.
This Parsons problem tests their understanding of how to control action with conditions and sensors.
Which block will do an action if a condition is true?
If a student picks the correct answer b, it demonstrates their awareness that the if-then block can trigger an action if a specified condition is met.
HTML Parsons Problem
This example from TechnoHTML, a course in which students learn to program a web page. These Parsons problems pose a coding line with an error. Students must pick the correct choice that will debug the code.
What is this line of code missing?
<img src=”wolf.jpg” alt “wolf pup near den”>
- “
- =
- <
If the student picks the correct answer 2, they demonstrate their understanding that an = sign is required after the alt tag.
Python Parsons Problem
In TechnoPython, students are introduced to text-based coding as they create a series of fun games. The following Parsons problem builds the logical reasoning required in a programmer.
Number the lines of code to place them in the correct order.
2 | elif choice==’down’: print(‘You dive into the water and discover Atlantis.’) |
3 | else: print(‘You stay home.’) |
1 | if choice==’up’: print(‘You hop into an airplane and fly away to a new land.’) |
The correct order as shown indicates that the student comprehends the conditional logic to write if and elif statements.
Parsons problems have many benefits for kids learning to program:
- By giving students the ‘answers’ they are more likely to succeed, thereby building self-confidence in their coding skills.
- Assessment is easy. By making a set of Parsons problems into a quiz, teachers can readily see if students have achieved a level of competency.
- Difficulty level can be adjusted by making the answer options either more similar with the correct answer being harder to detect or more obviously incorrect and simpler.
- Students receive instant feedback when they recognize the ‘right’ answers.
- Programming can be a new, difficult learning experience. Parsons problems reduce the cognitive load by having the correct code within the question.
- Students build critical thinking skills and logic.
- Filling in the blanks, choosing a correct answer, or arranging code in order is a fun, easy task.