Automatizace testování architektury studentských úloh

Název práce: Automatically Testing Student Assignments
Autor(ka) práce: Hamendi, Mohammed
Typ práce: Diploma thesis
Vedoucí práce: Pecinovský, Rudolf
Oponenti práce: Pavlíčková, Jarmila
Jazyk práce: English
Abstrakt:
The freshmen programming courses at the University of Economics in Prague offer a unique approach to learning the art of programming and software engineering. The introductory courses follow the Architecture First methodology that gives students the opportunity to learn programming from the top down, without being constrained by the specifics and syntax of any one programming language. It teaches the thought processes needed to build programs, allowing the student to absorb the big ideas of computer programming. The average number of freshmen at the faculty of Informatics and Statistics is around seven hundred students. The task of correcting programming assignment and preparing appropriate feedback would be a mammoth undertaking for teaching staff in most university settings worldwide that offer similar computing degrees. It is therefore quite often the case that the faculty provisions some sort of automated testing technology that can handle the volume and provide both the teaching staff and the students with the tools needed to manage the assignments. These automated tools or systems have been, and continue to be, the subject of many research topics across the world and continue to evolve as new technologies and teaching methods evolve. This study first introduces the theoretical background of automated assessment and grading tools and systems and then provides an analysis of the fields current state. Taking that as input to the next phase, the study uses that information to then design and implement a custom-built system that would enable the automated testing of the structure and other aspects of student assignments. The main goal for the resulting system is to provide an intuitive and convenient way of declaring what needs to be tested for a given assignment and then providing the mechanism to run those tests automatically. The resulting system, DynoGrader, dynamically validates student assignments at runtime using Java runtime annotation processing mechanisms and Java Reflection API.
Klíčová slova: Automatic assessment and grading of students assignments; Java; static analysis; dynamic analysis
Název práce: Automatizace testování architektury studentských úloh
Autor(ka) práce: Hamendi, Mohammed
Typ práce: Diplomová práce
Vedoucí práce: Pecinovský, Rudolf
Oponenti práce: Pavlíčková, Jarmila
Jazyk práce: English
Abstrakt:
Kurzy programování v prvním ročníku na Vysoké škole ekonomické v Praze nabízejí jedinečný přístup k výuce programování a softwarového inženýrství. V úvodních programovacích kurzech je kladen důraz na architekturu software. Díky tomu studenti snadněji porozumějí základním konceptům programování a nejsou omezeni specifiky konkrétního programovacího jazyka. Kurzy tak pomáhají rozvíjet potřebné dovednosti pro vývoj programů a také umožňují vstřebat velmi cenné poznatky v této problematice. Průměrný počet studentů prvního ročníku Fakulty informatiky a statistiky se pohybuje kolem sedmi set. Oprava úkolů do programování a příprava odpovídající zpětné vazby by byl pro vyučující nezáviděníhodný závazek na všech světových univerzitách podobného formátu, které poskytují vzdělávání v oblasti výpočetní techniky. Z tohoto důvodu fakulty poměrně často sáhnou po nějaké technologii automatického testování, která je schopna zpracovat větší objemy a poskytnout jak vyučujícím tak studentům nástroje pro správu úkolů. Tyto nástroje a systémy byly a stále jsou ve světě tématem mnoha výzkumů a nadále se rozvíjí ruku v ruce s vývojem nových technologií a výukových metod. Úvod této práce představí teoretické základy nástrojů a systémů pro automatické hodnocení, následovaný analýzou této oblasti v současné době. S využitím těchto výsledků se další část práce zabývá návrhem a implementací nového systému, který přináší možnosti automatického hodnocení struktury a dalších aspektů samostatných úkolů zadaných studentům. Hlavním cílem výsledného systému je poskytnout intuitivní a uživatelsky přívětivý způsob definování testovaných požadavků pro jednotlivá zadání úkolů a také mechanizmus k automatickému spouštění takových testů. Výsledný systém DynoGrader dynamicky ověřuje vypracované studentské úkoly za použití anotací a reflexe programovacího jazyka Java.
Klíčová slova: statická analýza; Automatizace vyhodnocení studentských úloh; dynamická analýza; Java

Informace o studiu

Studijní program / obor: Aplikovaná informatika/Informační systémy a technologie
Typ studijního programu: Magisterský studijní program
Přidělovaná hodnost: Ing.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra informačních technologií

Informace o odevzdání a obhajobě

Datum zadání práce: 19. 6. 2015
Datum podání práce: 2. 12. 2015
Datum obhajoby: 4. 2. 2016
Identifikátor v systému InSIS: https://insis.vse.cz/zp/53462/podrobnosti

Soubory ke stažení

    Poslední aktualizace: