Show simple item record

dc.contributor.advisorSindre, Guttorm
dc.contributor.authorMæland, Jens
dc.contributor.authorSæther, Jonas
dc.date.accessioned2023-09-09T17:20:48Z
dc.date.available2023-09-09T17:20:48Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:142737689:35325796
dc.identifier.urihttps://hdl.handle.net/11250/3088490
dc.description.abstractProgrammering har utelukkende økt i populartitet siden det oppstod. Flere og flere studenter melder seg på introduksjonskurs i programmering, noe som fører til en dramatisk økning i ressursbehovet fra fakulter for å sikre god utdanning. Den økte studentmassen drar med seg økte krav til forelesere, som må bruke mer av sin tilgjengelige tid på å evaluere innleveringer og lage øvinger, istedenfor å hjelpe studenter. En løsning på dette problemet er å automatisk generere varian- toppgaver til bruk både i øvinger og eksamener. Målet med denne avhandlingen var å designe og lage en prototype for gener- ering av variantoppgaver beregnet på digitale programmeringseksamener og øv- ingsoppgaver. Masteroppgaven evaluerer også hvordan prototypen oppleves, både med hensyn til oppfattet brukervennlighet hos professorer og andre i fagstab, og et utvalg studenters oppfattelse av de genererte variantoppgavene. Systemet benyt- ter seg av store språkmodeller utviklet av OpenAI som tilhører deres GPT-rekke av modeller. Systemet har som mål å øke effektiviteten i emner ved å automatisere oppgaveskapning i stor skala, samt å tilgjengeliggjøre kreativiteten som er å finne i store språkmodeller for fagstaben. Avhandlingen har sitt utspring i en prosjektoppgave, der det en prototype for å generere varianter av programmeringsoppgaven be utviklet. Etter å ha utvik- let den nevnte prototypen og undersøkt svakhetene ved et slikt system, pivoterte prosjektet til å benytte seg av nylig publiserte språkmodeller i håp om å gi bedre resultater. Gjennom iterativ utvikling og sluttbrukertesting ble systemet vurdert til å ha noen fordeler i forhold til å lage programmeringsoppgaver manuelt, og til å være et effektivt hjelpemiddel for å lage programmeringsoppgaver som en kan bygge videre på. Systemet har flere mangler, men som prototype er det lovende og skisserer en fremtid der store språkmodeller kan brukes til å pålitelig generere kreative variantoppgaver som oppfordrer til læring.
dc.description.abstractProgramming as a discipline has seen an increase in popularity ever since its in- ception. More and more students enroll in introductory programming courses, leading to an increase in resources needed by faculties to ensure effective educa- tion. Following the increase in student mass, lecturers find themselves spending more of their available time grading and creating exercises for students. One way of making introductory CS courses more efficient is to automatically generate vari- ant tasks for use in both coursework and exams. The aim of this thesis was to design and create a prototype for programming variant task generation meant for digital programming coursework. The thesis also evaluates the effect of this prototype, in regards to perceived usability by professors and other teaching staff, and students input regarding the generated variant tasks. The system makes use of large language models from OpenAI’s GPT line, and seeks to increase efficiency in courses by automating task creation on a large scale, and provide teaching staff with creativity powered by large language models. The thesis is rooted in a pre-master project, in which a prototype not powered by AI was built to generate programming task variants. After developing said pro- totype and examining the flaws of such a system, the project pivoted to make use of recent language model improvements in the hopes of providing better results. The thesis considers several task types, and several ways of generating meaningful tasks. Through iterative development and end user testing, an assessment of the system deemed it to have some advantages over manually creating programming tasks, and to be an effective aid in creating programming tasks to further expand upon. There are several shortcomings of the system, but as a prototype it shows promise and outlines a future where large language models can be used to reliably generate creative variant tasks that fosters learning.
dc.languageeng
dc.publisherNTNU
dc.titleAutomated generation of variant programming tasks using large language models
dc.typeMaster thesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record