In our research on personalised technology-enhanced learning environments we are addressing three main research objectives. First, we investigate the use of diagnostic assessments for the detection of a learner's knowledge gaps or skill gaps. Based on knowledge graphs and learning paths our personalised learning environment then suggests the right learning content based on a learner's current knowledge and experience. Further, we aim for automatic content adaptation based on a learner's individual constraints and preferences to ensure maximal accessibility.
In order to model the complex domain-specific knowledge, we opted to use the resource-selector-link (RSL) hypermedia metamodel. Instead of simply suggesting different exercises based on a learner's proficiency, we aim to adapt the exercises based on the RSL model's concept of structural links and their use for adaptive document structures.
PRIMM stands for Predict, Run, Investigate, Modify and Make. There are three key principles underlying PRIMM, all emerging from research in computer programming education. The first is that students should read before they write. The excitement of writing a new program and creating something that works means we do not spend enough time reading and learning from simple, well-written programs. In literacy, we learn to read first, and at a level beyond what we can write. We learn from reading examples of the written word. The same can apply to programming. There is a substantial body of research around tracing and reading programs that has shown that reading first is beneficial for novice programmers. Secondly, students should talk about their programs. This works at three levels: we need to find the right language or terminology to use to articulate our understanding; we are helped by verbalising what may be a complete mishmash in our head, and we also share in the creation of understanding through dialogue with others. Finally, students should start with code that is not their own. Using a starter program, written by somebody else who takes responsibility for any bugs, reduces the emotional strain caused by our programs failing (taken from: https://helloworld.raspberrypi.org/articles/hw14-the-i-in-primm).
As part of our research on personalised technology-enhanced learning environments we already developed several tools to help teach the basics of web development to students according to the PRIMM principles.
King's Scroll is a browser-based game that works both on mobile devices as well as desktop computers. It tells a story of a medieval town that is attacked by a dragon. The player needs to interpret the ancient scrolls to find the one chosen hero that can save the hero. The scroll contains randomly generated JavaScript code based on a user's level of experience and their known language features. The player has to use a state table to predict the output of the code on the scroll to receive information on the features of the hero. When the player successfully predicts the outcome of the program, they can select the hero and save the city. The gamified experience helps to lower the perceived barrier to entry by providing a more welcoming environment that has less focus on the exact mathematical and hard technical implications that oftentimes scare away newcomers to the field. Please feel free to play King's Scroll on Netlify.
One of the very common techniques to teach students how to predict the outcome of their code is the use of trace tables. These tables allow students to keep track of everything the program is doing when simulating it in their mind. The artefact created during the execution of all the steps by the students forms a great insight for the teacher to see which concepts students are struggling with. To aide teachers in using their students' trace tables, we developed a desktop application that contains different forms of trace tables each focusing on different aspects of the code. Students can also export their tables as PDFs or JSON files for grading by the teacher. We further released a TraceTable Autograder app that compares the student submissions with reference solutions and flags the files container errors, allowing teachers to focus their attention to where they see problems arise. Please feel free to use the online version of TraceTable or download the TraceTable app.