Teaching programming strategies explicitly to novice programmers

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

[img]
Preview
PDF (Introductory Pages)
de_Raadt_2008_front.pdf

Download (340Kb)
[img]
Preview
PDF (Whole Thesis)
de_Raadt_2008_whole.pdf

Download (5Mb)

Abstract

[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 proposed. 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 (PhD) thesis.
Depositing User: epEditor USQ
Faculty / Department / School: Historic - Faculty of Business - No Department
Date Deposited: 15 Jan 2009 02:29
Last Modified: 02 Jul 2013 23:12
Uncontrolled Keywords: programmers; novice; inexperienced; training; teaching; instruction; programming strategies
Fields of Research (FOR2008): 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
URI: http://eprints.usq.edu.au/id/eprint/4827

Actions (login required)

View Item Archive Repository Staff Only