This thesis documents the research; development methodology and evaluation of „Progranimate‟, a visual programming environment and associated pedagogy that helps novices overcome their difficulties in learning programming via an imperatives first (non object oriented) approach. In particular it focuses on problem solving and its prerequisite skills, these are known to be particularly troublesome for novice programmers. Progranimate is a unique, web deliverable, simplified development environment that utilises dynamic structured flowchart program construction, generated code in several selectable languages and animated execution. Progranimate uses a structured flowchart visualisation to convey the key concepts and underlying abstractions of programming, whilst allowing the novice to focus on the development of problem solving skills. Progranimate utilises an easy to use, uncluttered development environment and removes the necessity of writing complex code. This allows the user to focus solely on problem solving and on conceptualising the underlying abstractions and semantics of programming. In Progranimate, programs are constructed and executed visually via dynamic flowchart and code based representations. The visual synchronisation between the flowchart and code representations allow the user to draw an effective correlation between the flowchart and the logical code structure that it represents. Program animation features provide the user with an accurate mental model of program execution by emphasising the interaction and behaviour of the key structures and components used in programming. A variable inspection feature is also provided, allowing the user to observe the changes in data as a program is executed. Coupled to Progranimate is a scaffolding pedagogy designed to assist novice programmers in the development of problem solving skill. The pedagogy is underpinned by the theories of scaffolding support and the zone of proximal development. This pedagogy has been utilised within a range of contextual, fun, and gender neutral programming activities designed for use with Progranimate. This thesis hypothesises that using Progranimate on its own or with the scaffolding pedagogy for the creation of simple programs, will help novices strengthen their conceptual understanding of programming and problem solving skills. Evaluations of Progranimate with secondary schoolpupils, their teachers and first year university students support this hypothesis. The evaluations also show that Progranimate coupled to the scaffolding pedagogy and associated programming problems is a very motivating way to introduce secondary school pupils to programming.
|Date of Award||2010|