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

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...

Full description

Saved in:
Bibliographic Details
Published inarXiv.org
Main Authors Kurniawan, Oka, Jégourel, Cyrille, Lee, Norman Tiong Seng, De Mari, Matthieu, Poskitt, Christopher M
Format Paper Journal Article
LanguageEnglish
Published Ithaca Cornell University Library, arXiv.org 18.09.2021
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
ISSN:2331-8422
DOI:10.48550/arxiv.2109.08896