Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.advisorDuncan, Ishbel Mary Macdonald
dc.contributor.authorCoull, Natalie J.
dc.coverage.spatial236en
dc.date.accessioned2008-07-15T10:12:08Z
dc.date.available2008-07-15T10:12:08Z
dc.date.issued2008-06-25
dc.identifieruk.bl.ethos.552144
dc.identifier.urihttps://hdl.handle.net/10023/522
dc.description.abstractLearning to program is recognised nationally and internationally as a complex task that novices find challenging. There exist many endeavours to support the novice in this activity, including software tools that aim to provide a more supportive environment than that provided by standard software facilities, together with schemes that reduce the underlying complexity of programming by providing accessible micro-worlds in which students develop program code. Existing literature recognises that learning to program is difficult because of the need to learn the rules and operation of the language (program formulation), and the concurrent need to interpret problems and recognise the required components for that problem (problem formulation). This thesis describes a new form of learning support that addresses that dual task of program and problem formulation. A review of existing teaching tools that support the novice programmer leads to a set of requirements for a support tool that encompasses the processes of both program and problem formulation. This set of requirements is encapsulated in a conceptual framework for software tool development. The framework demonstrates how the requirements of a support tool can be met by performing a series of automated analyses at different stages in the student's development of a solution. An extended series of observations demonstrates the multi-faceted nature of problems that students encounter whilst they are learning to program and how these problems can be mapped onto the different levels of programs and problem formulation. These observations and the framework were used to inform the development of SNOOPIE, a sample instantiation of the framework for learning Java programming. This software tool has been fully evaluated and demonstrated to have a significant impact on the learning process for novice Java programmers. SNOOPIE is fully integrated into a current introductory programming module and a future programme of work is being established that will see SNOOPIE integrated with other established software tools.en
dc.format.extent2947928 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoenen
dc.publisherUniversity of St Andrews
dc.rightsCreative Commons Attribution-NonCommercial 3.0 Unported
dc.rights.urihttp://creativecommons.org/licenses/by-nc/3.0/
dc.subjectEducationen
dc.subjectLearning to programen
dc.subjectNovice programmeren
dc.subjectSupport toolen
dc.subject.lccQA76.6C77
dc.subject.lcshComputer programming--Study and teachingen
dc.subject.lcshComputer-assisted instruction--Technological innovationsen
dc.subject.lcshTeaching--Aids and devicesen
dc.subject.lcshObject-oriented programming (Computer science)en
dc.titleSNOOPIE : development of a learning support tool for novice programmers within a conceptual frameworken
dc.typeThesisen
dc.type.qualificationlevelDoctoralen
dc.type.qualificationnamePhD Doctor of Philosophyen
dc.publisher.institutionThe University of St Andrewsen


The following licence files are associated with this item:

  • Creative Commons

This item appears in the following Collection(s)

Show simple item record

Creative Commons Attribution-NonCommercial 3.0 Unported
Except where otherwise noted within the work, this item's licence for re-use is described as Creative Commons Attribution-NonCommercial 3.0 Unported