Výuka pokročilých konstrukcí jazyka Python na základě poskytování zpětné vazby ke studentským kódům - John, Petr (Vysoké učení technické v Brně. Fakulta informačních technologií, 2020)
Tato bakalářská práce se zabývá problematikou vyučování jazyka Python pomocí systému, který studentům poskytne zpětnou vazbu k jejich řešení. Cílem práce bylo vytvořit systém schopný vyhodnocovat studentská řešení a poskytovat zmíněnou zpětnou vazbu. Důraz práce je kladen na zpětnou vazbu, která je studentům poskytována, a také na možnosti spojené s omezením zdrojů použitých při řešení. Vytvořený systém poskytuje zpětnou vazbu na základě analýzy abstraktních syntaktických stromů sestavených z odevzdaného řešení, umožňuje připojit doporučení z programů třetích stran, a také umožňuje nastavit omezení zdrojů, knihoven a funkcí, které mohou být při řešení použity. Systém byl použit v letním semestru při výuce předmětu ISJ a 60 % studentů vylepšilo svoje řešení na základě doporučení ze systému. Tyto skutečnosti dokazují, že systém je možné využít při výuce jazyka Python v praxi.

This bachelor thesis focuses on the topic of teaching Python programming language assisted by automated system that can provide feedback to submitted solutions. The goal of this thesis was creation of automated system that could evaluate student solutions and provide feedback. The main emphasis was on provided feedback and options for limiting resources that can be used. Created system provides feedback based on the analysis of abstract syntax trees assembled from submitted solutions, allows an administrator to attach tips from third party programs and set restrictions on resources, libraries and functions, that can be used. System was used during summer semester in ISJ course and 60 % of students improved their solution based on feedback given by system. This suggests that created system can be used during Python tuition.
Teaching Advanced Python through Automatic Feedback to Student Codes
Keywords: jazyk Python; automatické vyhodnocování; automatické výukové systémy; zpětná vazba; doporučení ke kódu; Python programming language; automated evaluation; intelligent tutoring systems; feedback; code suggestions