Karkalas, Sokratis (2022) Simplifying authoring and facilitating component reuse of programming tutors. PhD thesis, Birkbeck, University of London.
|
Text
karkalas_phd_thesis.pdf - Full Version Download (8MB) | Preview |
Abstract
Learning programming is very hard, especially during the early stages. Programming is an exploratory activity and therefore it is more natural to learn it through exploration. Freedom and lack of structure in exploratory learning offer more opportunities for experimentation and discovery of knowledge but at the same time that requires substantial support. For the same reasons provision of support is more challenging and costly in this context. Typical traditional intelligent tutoring systems are highly controllable environments that offer guided learning. Modern environments are more open and exploratory but they lack intelligence and adaptability. There is an emerging need for systems that are both exploratory and intelligent but authoring them is a very challenging task. The intention of this thesis is not to offer a new exploratory and intelligent learning platform that teaches programming more effectively but to provide the architectural framework, techniques and tools that can be used to develop intelligent tutors for exploratory learning with ease. This thesis is concerned with both task-dependent and task-independent intelligent support. The latter is expected in systems that offer free exploration or in situations where students work with ill-defined problems and define their own tasks dynamically. In these situations there is no explicit knowledge in the system about task-specific objectives. This thesis presents a process used to identify common student misconceptions for early programming and transform them into task-independent intelligent support. It also presents a novel methodology that can be used to lower the cognitive load and entry threshold for prospective authors of task-dependent support. Designing and developing support is not enough if the tutors cannot take advantage of the various learning environments available and combine them with intelligent support components. For this reason, this thesis presents a novel approach that simplifies the integration and interoperability of diverse and heterogeneous components so that authors can synthesise dynamic learning environments with minimal overhead. Having the components and being able to integrate them may be problematic if there is no understanding of the system as a whole. An overview of what is needed to foster intelligent support for programming is given in an architectural framework that shows how the various components are logically interrelated with each other and shows how they should be combined together in an incremental manner. Finally, a tool to facilitate reusability of existing functionality is presented. This tool can be used to define new and existing languages that can be used in the context of learning platforms either to simplify authoring of support or to enable teaching programming through manipulation of existing learning environments. The outcomes of this research are materialised in a proof of concept that show show all the components presented in the text can be combined together to simplify authoring of intelligent support and facilitate reusability of functionality.
Metadata
Item Type: | Thesis |
---|---|
Copyright Holders: | The copyright of this thesis rests with the author, who asserts his/her right to be known as such according to the Copyright Designs and Patents Act 1988. No dealing with the thesis contrary to the copyright or moral rights of the author is permitted. |
Depositing User: | Acquisitions And Metadata |
Date Deposited: | 23 Sep 2022 13:18 |
Last Modified: | 01 Nov 2023 15:43 |
URI: | https://eprints.bbk.ac.uk/id/eprint/49182 |
DOI: | https://doi.org/10.18743/PUB.00049182 |
Statistics
Additional statistics are available via IRStats2.