Amplified Intelligence for Teaching Programming - Effenberger, Tomáš (2022)
Úvodní programování je vhodný přístup k výuce algoritmického řešení problémů. Výukové systémy procvičující programování potřebují velké množství různorodých programovacích úloh. Tvorba úloh přitom není jednorázová akce, úlohy je totiž vhodné iterativně vylepšovat na základě analýzy posbíraných dat. Tato práce prezentuje nástroje pro takovéto iterativní vylepšování, se zaměřením na interpretovatelné techniky, jejichž účel není autory úloh nahradit, ale zesílit jejich inteligenci. V práci se zabýváme pěti potřebami vývojářů výukových systémů: 1. navrhovat různorodá programovací cvičení, 2. ladit komplexní chování výukových systémů a detekovat nežádoucí události, 3. měřit obtížnost a složitost úloh, 4. měřit výkon studentů a začlenit měření do modelů učení a 5. efektivně prozkoumávat stovky odevzdaných řešení a odhalit časté defekty v kódech studentů. Pro každou z těchto pěti potřeb nabízí práce přehled existujících přístupů a průzkum jejich zobecnitelnosti na 400 programovacích úlohách