Versjonskontroll for spørsmål i Moodle (Sisteårsprosjekt)

Relevante studieprogram
Data

Bakgrunn

Moodle er ein elæringsplatform i open kjeldekode, godt etablert gjennom meir en tjue år og med brukarar over heile verda. Det er det mest populære opne alternativet til løysingar som BlackBoard og Canvas. Ved NTNU vert Moodle brukt i matematikkundervisinga ved IMF og IIR.
Det viktigaste bruksområdet her er ulike formar for quiz med matematiske spørsmål, som regel i spørsmålstypen STACK.

Moodle er modulært og der er eit rikt monn av plugins. Ved IIR har me mellom anna utvikla JazzQuiz, CAPQuiz, og QTracker, som alle er publiserte i Moodle sin offisielle katalog. Per i dag er der fleire utfordringar som er eigna som hovudprosjekt på dataingeniørstudiet.

Dei matematiske spørsmåla (STACK) som vert brukte ved IMF og IIR er ikkje berre statiske spørsmål må eit fast rett svar. Dei inneheld køyrbar kode som genererer tilfeldige spørsmål og analyserer svara for å gje studenten tilpassa tilbakemelding. Spørsmålsutvikling er ein lang og møysommeleg prosess, ofte i samarbeid mellom fleire. Ofte eksisterer fleire ulike versjonar samtidig. Lærarar som skriv spørsmål står difor overfor mykje av dei same utfordringane som andre programutviklarar, men dei har i dag ikkje noko system for versjonskontroll.

Versjonskontroll er eit sterkt ynskje blant dei som bruker STACK, ikkje berre ved NTNU, men t.d. òg frå utviklarane bak STACK i Edinburgh. Moodle eksporterer spørsmål i XML, og ein kan tenkje seg at denne koden kan leggjast inn i (t.d.) eit git-repo.

Moodle er skrive i PHP med element av javascript.

Mål for prosjektet

Prosjektet skal utvikla ein plugin som administrera spørsmål og overføra dei mellom eit XML-filer i eit git-repo og den interne databasen (SQL) i Moodle.

Det er kritisk for dette prosjektet at programvare vert utvikla etter sunne programutviklingsprinsipp og i tråd med Moodle sine kodingsstilar og retningsliner. Koden må gjerast tilgjengeleg under same open source-lisens som resten av koden.

Vegleiarar

Forskings-/Utviklingsmetode

Studentane bør bruka ein smidig metode, og der er rom for hyppig møte med oppdragsgjevar og andre brukarar.

Ytterlegare bakgrunnsmateriale