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

Kurniawan, Oka
Jégourel, Cyrille
Lee, Norman Tiong Seng
De Mari, Matthieu
Poskitt, Christopher M.
Journal Title
Journal ISSN
Volume Title
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.
General Software Education (GSE), computational thinking, novice programmers, problem solving, python programming, test cases
Access Rights
Email if you need this content in ADA-compliant format.