CYSESep 18, 2021

Steps Before Syntax: Helping Novice Programmers Solve Problems using the PCDIT Framework

arXiv:2109.08896v13 citations
Originality Incremental advance
AI Analysis

This addresses the challenge of cognitive load and lack of explicit problem-solving instruction for novice programmers in introductory courses, though it is incremental as it builds on existing educational scaffolding approaches.

The paper tackles the problem of novice programmers struggling with problem solving by introducing the PCDIT framework, which guides them through transforming specifications into solutions without early syntax, and reports survey results indicating it helped students break down problems and achieve working solutions.

Novice programmers often struggle with problem solving due to the high cognitive loads they face. Furthermore, many introductory programming courses do not explicitly teach it, assuming that problem solving skills are acquired along the way. In this paper, we present 'PCDIT', a non-linear problem solving framework that provides scaffolding to guide novice programmers through the process of transforming a problem specification into an implemented and tested solution for an imperative programming language. A key distinction of PCDIT is its focus on developing concrete cases for the problem early without actually writing test code: students are instead encouraged to think about the abstract steps from inputs to outputs before mapping anything down to syntax. We reflect on our experience of teaching an introductory programming course using PCDIT, and report the results of a survey that suggests it helped students to break down challenging problems, organise their thoughts, and reach working solutions.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes