Adding traceability to an educational IDE : a thesis presented in partial fulfilment of the requirements for the Master degree in Computer Science at Massey University, Manawatu, New Zealand - Sui, Li (Massey University, 2016)
High dropout and failure rate in introductory programming courses indicate the need to improve programming comprehension of novice learners. Some of educational tools have successfully used game environments to motivate students. Our approach is based on a novel type of notional machine which can facilitate programming comprehension in the context of turn-based games. The first aim of this project is to design a layered notional machine that is reversible. This type of notional machine provides bi-directional traceability and supports multiple layers of abstraction. The second aim of this project is to explore the feasibility and in particular to evaluate the performance of using the traceability in a web-based environment. To achieve these aims, we implement this type of notional machine through instrumentation and investigate the capture of the entire execution state of a program. However, capturing the entire execution state produces a large amount of tracing data that raises scalability issues. Therefore, several encoding and compression methods are proposed to minimise the server work-load. A proof-of-concept implementation which based on the SoGaCo educational web IDE is presented. The evaluation of the educational benefits and end user studies are outside the scope of this thesis.
Keywords: Internet games; Programming; Computer programming; Study and teaching; Research Subject Categories::TECHNOLOGY::Information technology::Computer science::Computer science