Skip to main content

Parsons Problem

Grades: All
Estimated Duration: < 10 minutes

Table of Contents

Applying, Remembering, Understanding
Check for understanding, Comprehension, Knowledge acquisition, Practice
Any
Any
Optional

Description

A Parsons Problem is a strategy for teaching computer programming. It involves scrabbling lines of code and asking students to place them in the correct order to construct a program. Parsons Problems reduce cognitive load and enable students to quickly form a working set of code without focusing on writing code. Parsons Problem can be used with any programming language, and there are several web-based programs that teachers can use to generate their own Parsons Problems. These programs allow students to drag and drop lines of code in block-based programming or use line numbers to order the code. Students can also solve Parsons Problems in unplugged activities where they arrange the lines of code on paper. With Parsons Problems, students learn to read and interpret computer programs without focusing on syntax.

When To Use It

As a learning strategy, use Parsons Problems when you want students to:

  • recognize the functions and structure of code without focusing on syntax
  • practice reading and interpreting computer code
  • understand syntactic rules of programming languages

As an instructional strategy, use Parsons Problems when you want to:

  • teach students syntax in programming languages
  • assess students understanding of syntax in programming languages
  • introduce students to computer programming and scaffold the teaching of writing code

How To Use It

Advance Prep

  1. Create or identify a Parsons Problem(s) for students to solve. You may use a web-based Parsons Program generator or examples, or you may create your own as an offline activity for students to solve on paper.
  2. If creating your own Parsons Problem, consider the following:
    1. Provide a clear explanation of what the program should do when it is in the correct order.
    2. Ensure that there is only one correct sequence for the code.
    3. Have learners order actual lines of code rather than representative letters or numbers. This will help them learn the syntax and construction of the code.
    4. To reduce guessing, provide students with more than one question that tests the same logic.
    5. Include structures such as indentation, colons, etc., to give learners visual cues and introduce them to more complex programming concepts.
    6. Some Parsons Problems can include distractors or fixed lines of code in place.

Implementation

  1. Introduce students to the problem and share the program’s purpose— what it should do when all lines of code are in the correct order.
  2. Provide the scrambled lines of code and have students order the code through a web-based program or on paper.
  3. Web-based programs give students immediate feedback on their answers to continuously address misconceptions and errors. If students complete the problem using paper and pencil, debrief to check for understanding and address misconceptions.
  4. Parsons problems are designed to be efficient and effective means for developing program comprehension skills. Present additional problems using similar logic to provide more practice for students.

Pros

  • Reduces cognitive load through scaffolding
  • Take students less time to complete than traditional freeform computer programming activities
  • Promotes student engagement in learning computer programming
  • With web-based Parson Problems, students get immediate feedback on their learning
  • Supports students’ program comprehension skills

Cons

  • With some simple problems, learners can guess the correct order without fully understanding the logic

Culturally Responsive Application

Parsons Problems make learning computer programming accessible to diverse learners. This strategy introduces programming concepts by focusing on reading and understanding the function and structure of code without writing it. Introducing computer science concepts using Parsons Problems can break down barriers of entry for students who are underrepresented in computer science education, including students of color and girls. Parsons problems engage learners, reduce cognitive load, and build the confidence needed for novice learners to continue solving computer programming problems with increasing complexity.

Emerging English Language Support

Parsons problems dramatically reduce the programming solution space, letting students focus on solving the problem rather than having to solve the combined problem of devising a solution, searching for needed components, and composing them together.

Students with Disabilities Support

Developing learners’ understanding of how the program is executed (notional machine). Reducing cognitive load. Focusing on blocks of code rather than syntax. Providing all the correct code within an engaging challenge. Promoting dialogue and discussion about code

Subjects

5.3 Data & analysis, 5.4 Algorithms & programming

Why It Works

It is a fun way for introductory learners to improve their problem-solving skills (REF79). Parsons problems help to focus on one problem rather than a combination of problems (REF80). Are more efficient learning tools, constraining problem space, which reduces cognitive load (REF81).