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

09/18/2021
by   Oka Kurniawan, et al.
0

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.

READ FULL TEXT
research
01/05/2019

Subgoals, Problem Solving Phases, and Sources of Knowledge: A Complex Mangle

Educational researchers have increasingly drawn attention to how student...
research
09/18/2023

Training Students' Abstraction Skills Around a CAFÉ 2.0

Shaping first year students' mind to help them master abstraction skills...
research
08/03/2018

Code Shrew: Software platform for teaching programming through drawings and animations

In this paper, we present Code Shrew, a new software platform accompanie...
research
10/30/2020

Using Relational Problems to Teach Property-Based Testing

Context: The success of QuickCheck has led to the development of propert...
research
09/19/2021

Mind the Gap: Reimagining an Interactive Programming Course for the Synchronous Hybrid Classroom

COVID-19 has significantly affected universities, forcing many courses t...
research
11/09/2018

Computational Thinking with the Web Crowd using CodeMapper

It has been argued that computational thinking should precede computer p...
research
09/21/2018

Aspects on Finding the Optimal Practical Programming Exercise for MOOCs

Massive Open Online Courses (MOOCs) focus on manifold subjects, ranging ...

Please sign up or login with your details

Forgot password? Click here to reset