Teaching programming strategies explicitly to novice programmers

de Raadt, Michael (2008) Teaching programming strategies explicitly to novice programmers. [Thesis (PhD/Research)]

Text (Introductory Pages)

Download (348kB)
Text (Whole Thesis)

Download (5MB)


[Abstract]: The traditional approach to training novice programmers has been to provide explicit programming knowledge instruction but to rely on implicit instruction of programming strategies. Studies, reported in literature, have discovered universally poor results on standardised tests for novices studying under this traditional approach.

This dissertation describes the explicit integration of programming strategies into instruction and assessment of novice programmers, and the impact of this change on
their learning outcomes.

An initial experiment was used to measure the performance of students studying under a traditional curriculum with implicitly taught programming strategies. This
experiment uncovered common flaws in the strategy skills of novices and revealed weaknesses in the curriculum. Incorporation of explicit strategy instruction was

To validate a model of strategies as being authentic and appropriate for novice instruction, an experiment with experts was conducted. Experts were asked to solve
three problems that a novice would typically be expected to solve at the end of an introductory programming course. Experts‟ solutions were analysed using Goal/Plan
Analysis and it was discovered that experts consistently applied plans, the subalgorithmic strategies suggested by Soloway (1986). It was proposed that plans could be adapted for explicit inclusion in an introductory programming curriculum.

Initially a curriculum incorporating explicit strategy instruction was tested in an artificial setting with a small number of volunteers, divided into control and
experimental groups. The control group was taught using a simplified traditional curriculum and the experimental group were exposed to a curriculum which explicitly included programming strategies. Testing revealed that experimental group participants applied plans more than control group participants, who had been expected to learn these strategies implicitly. In interviews, experimental participants used strategy-related terminology and were more confident in the solutions they had created. These results justified a trial of the curriculum in an actual introductory programming course.

When explicit instruction of programming strategies was incorporated into an actual introductory programming curriculum, novices achieved superior results when
compared to results from the initial experiment. Novices used strategies significantly more when these strategies were incorporated explicitly into instructional materials
and assessment items.

This series of experiments focussed on explicitly teaching specific programming strategies rather than teaching problem-solving more generally. These experimental
results demonstrate that explicit incorporation of programming strategies may improve outcomes for novices and potentially improve the potential of expert
programmers in future.

Statistics for USQ ePrint 4827
Statistics for this ePrint Item
Item Type: Thesis (PhD/Research)
Item Status: Live Archive
Additional Information: Doctor of Philosophy
Faculty/School / Institute/Centre: Historic - Faculty of Business - No Department (Up to 31 Dec 2010)
Faculty/School / Institute/Centre: Historic - Faculty of Business - No Department (Up to 31 Dec 2010)
Supervisors: Toleman, Mark; Watson, Richard
Date Deposited: 15 Jan 2009 02:29
Last Modified: 11 Aug 2022 23:55
Uncontrolled Keywords: programmers; novice; inexperienced; training; teaching; instruction; programming strategies
Fields of Research (2008): 13 Education > 1302 Curriculum and Pedagogy > 130202 Curriculum and Pedagogy Theory and Development
08 Information and Computing Sciences > 0803 Computer Software > 080309 Software Engineering
13 Education > 1303 Specialist Studies in Education > 130309 Learning Sciences
Fields of Research (2020): 39 EDUCATION > 3901 Curriculum and pedagogy > 390102 Curriculum and pedagogy theory and development
46 INFORMATION AND COMPUTING SCIENCES > 4612 Software engineering > 461299 Software engineering not elsewhere classified
39 EDUCATION > 3904 Specialist studies in education > 390409 Learning sciences
URI: http://eprints.usq.edu.au/id/eprint/4827

Actions (login required)

View Item Archive Repository Staff Only