Corpus ID: 237571733

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

  title={Steps Before Syntax: Helping Novice Programmers Solve Problems using the PCDIT Framework},
  author={Oka Kurniawan and Cyrille J'egourel and Norman Tiong Seng Lee and Matthieu De Mari and Christopher M. Poskitt},
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… Expand

Figures from this paper


First Things First: Providing Metacognitive Scaffolding for Interpreting Problem Prompts
Students who received the intervention showed a higher degree of understanding of the problem prompt and were more likely to complete the programming task successfully, finding metacognitive awareness is crucially important for novice students. Expand
Executable Examples for Programming Problem Comprehension
This work proposes a mechanism that provides students with instant feedback on their examples, independent of their implementation progress, and assesses the impact of such an interface on an introductory programming course and finds several positive impacts, some more neutral outcomes, and no identified negative effects. Expand
A multi-national study of reading and tracing skills in novice programmers
This ITiCSE 2004 working group studied the alternative explanation for why many students do not know how to program at the conclusion of their introductory courses, suggesting that such students have a fragile grasp of skills that are a prerequisite for problem-solving. Expand
Metacognitive Difficulties Faced by Novice Programmers in Automated Assessment Tools
Observations show that some students mentally augmented the tool when it did not explicitly support their metacognitive awareness, while others stumbled due to the tool's lack of such support. Expand
Teaching programming and problem solving to CS2 students using think-alouds
In a think-aloud problem solving approach students learn the skill of problem solving by closely observing an 'experienced programmer' in a CS2 class and evaluation results show that think-Aloud problem solve is an extremely effective pedagogical technique, particularly for female students. Expand
Fragile knowledge and neglected strategies in novice programmers
A series of clinical interviews of students taking first year BASIC in which an experimenter interacted with students as they worked, systematically providing help as needed in a progression from general strategic prompts to particular advice, indicating a substantial problem of "fragile knowledge" in novices knowledge. Expand
Programming, Problem Solving, and Self-Awareness: Effects of Explicit Guidance
An explicit instruction on programming problem solving, which frames coding as a process of translating mental representations of problems and solutions into source code, and a method of visualizing and monitoring progression through six problem solving stages are presented. Expand
Will Students Write Tests Early Without Coercion?✱
This work augment the student’s programming environment to encourage examples-first development, and design a novel measure to assess students’ adherence to this methodology, and finds high voluntary adherence, especially relative to the literature’'s low expectations. Expand
Pattern oriented instruction and the enhancement of analogical reasoning
The aim of the research is to explore how a course designed according to the POI approach affects students' analogical reasoning when they analyze an algorithmic problem and design a solution. Expand
Developing authentic problem solving skills in introductory computing classes
An approach to introductory computer science education that addresses student engagement through integrating cooperative learning techniques and authentic problem solving processes throughout each aspect of the curriculum is described. Expand