Developing a Proactive Programming Assistant Leveraging an LLM for Personalized Real-time Feedback

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

69

Series

Abstract

Formative feedback is essential for effective learning and undeniably improves learning outcomes when timely and personalized. While face-to-face feedback has proven effective in traditional classrooms, Massive Open Online Courses (MOOCs) lack this privilege. This reveals a gap: the absence of tools that provide personalized real-time feedback while coding. This thesis addresses this gap by developing and demonstrating a proof-of-concept artifact using Design Science Research Methodology (DSRM). The proposed artifact operationalizes these typical feedback scenarios when experts provide during the programming process and uses Large Language Models (LLMs) for personalized feedback generation. The developed artifact uses an event-driven architecture that leverages NATS queues, WebSockets, lightweight Deno services, and parallel processing on the client side to meet the scalability demands of a MOOC environment. In a small-scale evaluation of the artifact, the static analysis feedback was perceived as useful (3.7/5), timely (3.6/5), and clear (3.4/5). In contrast, GPT-4o generated hints received lower ratings (usefulness 2.8/5, timeliness 2.0/5, clarity 2.8/5) due to 20–30 seconds latency and unsolicited feedback. Based on these findings, participants generally preferred pulled or hybrid feedback mechanisms rather than proactive pushed feedback. These findings indicate that compiler-style real-time feedback of the artifact provided by static analysis, in comparison, better addresses students' immediate needs than LLM-generated hints, which add value primarily when delivered promptly or under learner control. Furthermore, the proof-of-concept demonstrates the technical feasibility of operating at scale through design decisions based on microservices and an event-driven architecture. However, further improvements are necessary to reduce feedback latency and improve strategies to trigger feedback generation.

Rakentava palaute on olennaista tehokkaan oppimisen kannalta, etenkin silloin kun se on ajankohtaista ja yksilöllistä. Opettajan henkilökohtaisesti antama palaute on osoittautunut tehokkaaksi perinteisissä luokkaympäristöissä, mutta massiivisissa avoimissa verkkokursseissa (MOOCit) ei ole tätä etuoikeutta. Tämä paljastaa puutteen ohjelmointityökaluista, jotka pystyvät antamaan henkilökohtaista palautetta reaaliajassa. Tämä diplomityö käsittelee tätä puutetta kehittämällä prototyypin, joka antaa reaaliaikaista rakentavaa palautetta. Tämä prototyyppi on kehitetty seuraamalla Design Science -tutkimusmenetelmää. Tässä työssä kehitetty artefakti mallintaa tyypillisiä aikoja, milloin opettaja antaa palautetta ja käyttää suuria kielimalleja (LLM) henkilökohtaisen palautteen tuottamiseen. Kehitetty artefakti hyödyntää NATS-viestijonoja, WebSocketteja, kevyitä Deno-palveluita, sekä rinnakkain käsittelyä käyttöliittymän puolella. Pienimuotoisessa arvioinnissa staattiseen analyysiin perustuva palaute koettiin hyödylliseksi (3,7/5), ajankohtaiseksi (3,6/5) ja selkeäksi (3,4/5). Sen sijaan GPT-4o:n tuottama palaute sai alhaisemmat arvosanat (hyödyllisyys 2,8/5, ajankohtaisuus 2,0/5, selkeys 2,8/5), tämä johtui 20–30 sekunnin viiveestä ja palautteen pyytämättömästä ilmestymisestä. Näiden havaintojen perusteella artefaktin arvioinnin osallistujat suosivat pyynnöstä tai hybridipohjaisesta palautemekanismista ennakoivan palautteen antamiseen sijaan. Nämä tulokset viittaavat siihen, että artefaktin staattiseen analyysiin perustava palaute vastaa paremmin verrattuna LLM:n generoimiin vihjeisiin. LLM pohjaiset vihjeet tuottavat lisäarvoa silloin, kun ne toimitetaan viiveettä tai ovat opiskelijan hallinnassa. Lisäksi prototyyppi osoittaa kyvyn toimia laajassa mittakaavassa tapahtumapohjaisen arkkitehtuurin avulla. Jatkokehityksessä on tarpeen vähentää viivettä ja parantaa strategioita, milloin palautetta annetaan.

Description

Supervisor

Hellas, Arto

Thesis advisor

Leinonen, Juho

Other note

Citation