Att ge feedback på programmeringsuppdrag manuellt är en tråkig, felbenägen och tidskrävande uppgift. I detta dokument motiverar och tar vi itu med problemet med att generera feedback på prestandaaspekter i inledande programmeringsuppdrag. Vi studerade ett stort antal funktionellt korrekta studentlösningar till inledande programmeringsuppgifter och observerade: (1) Det finns olika algoritmiska strategier, med olika effektivitetsnivåer, för att lösa ett givet problem. Dessa olika strategier förtjänar olika återkoppling. (2) Samma algoritmiska strategi kan implementeras på otaliga olika sätt, vilket inte är relevant för att rapportera återkoppling på studentprogrammet. Vi föreslår en lätt programmeringsspråk förlängning som gör det möjligt för en lärare att definiera en algoritmisk strategi genom att ange vissa nyckelvärden som bör inträffa under genomförandet av ett genomförande. Vi beskriver ett dynamiskt analysbaserat tillvägagångssätt för att testa om en students program motsvarar en lärares specifikation. Våra experimentella resultat illustrerar effektiviteten hos både vårt specifikationsspråk och vår dynamiska analys. På en av våra riktmärken bestående av 2316 funktionellt korrekta implementeringar till 3 programmeringsproblem identifierade vi 16 strategier som vi kunde beskriva med hjälp av vårt specifikationsspråk (i 95 minuter efter inspektion 66, dvs. cirka 3%, implementeringar). Vår dynamiska analys matchade varje genomförande korrekt med dess motsvarande specifikation och gav därmed automatiskt den avsedda återkopplingen.
Gulwani m.fl. REF beskriver ett dynamiskt analysbaserat tillvägagångssätt för att testa om en students arbete motsvarar lärarens specifikation.
Feedback generation for performance problems in introductory programming assignments
{'venue': 'FSE 2014', 'journal': None, 'mag_field_of_study': ['Computer Science']}