Litcius/Paper detail

Improving Instruction of Programming Patterns with Faded Parsons Problems

Nathaniel Weinman, Armando Fox, Marti A. Hearst

202158 citationsDOIOpen Access PDF

Abstract

Learning to recognize and apply programming patterns — reusable abstractions of code — is critical to becoming a proficient computer scientist. However, many introductory Computer Science courses do not teach patterns, in part because teaching these concepts requires significant curriculum changes. As an alternative, we explore how a novel user interface for practicing coding — Faded Parsons Problems — can support introductory Computer Science students in learning to apply programming patterns. We ran a classroom-based study with 237 students which found that Faded Parsons Problems, or rearranging and completing partially blank lines of code into a valid program, are an effective exercise interface for teaching programming patterns, significantly surpassing the performance of the more standard approaches of code writing and code tracing exercises. Faded Parsons Problems also improve overall code writing ability at a comparable level to code writing exercises, but are preferred by students.

Topics & Concepts

Computer scienceCoding (social sciences)CurriculumCode (set theory)Interface (matter)TracingProgramming languageBlankComputer programmingMathematics educationSource codeMultimediaPedagogyPsychologySociologyParallel computingMaximum bubble pressure methodMechanical engineeringBubbleSocial scienceSet (abstract data type)EngineeringTeaching and Learning ProgrammingSoftware Engineering ResearchEducational Games and Gamification
Improving Instruction of Programming Patterns with Faded Parsons Problems | Litcius