Steps Before Syntax: Helping Novice Programmers Solve Problems using the PCDIT Framework
Oka Kurniawan, Cyrille J\'egourel, Norman Tiong Seng Lee, Matthieu De, Mari, Christopher M. Poskitt

TL;DR
This paper introduces the PCDIT framework, a non-linear problem solving approach that scaffolds novice programmers in transforming problem specifications into solutions by emphasizing early concrete case development and abstract reasoning.
Contribution
The paper presents PCDIT, a novel problem solving framework that focuses on early concrete case development and abstract reasoning to aid novice programmers.
Findings
Students improved in breaking down problems and organizing thoughts.
Survey indicates increased success in reaching working solutions.
Framework supports non-linear, scaffolded problem solving.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
