Automatic Evaluation of Homework Assignments on MongoDB
Automatické vyhodnocování domácích úkolů na téma MongoDB
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Tato práce zkoumá proveditelnost automatizace hodnocení domácích úkolů z MongoDB v kurzu Databázové systémy 2 na FEL ČVUT a představuje systém navržený pro tento účel. Standardní přístupy k hodnocení založené na referenčních řešeních se ukázaly jako nevhodné, což vedlo k návrhu parser-řízeného systému, který analyzuje skripty odevzdané studenty. Byl zvolen hybridní přístup k parsování s cílem vyvážit robustnost a míru složitosti implementace.
Architektura systému, založená na principu cibulové architektury, vychází z doménového modelu reprezentujícího klíčové hodnotící konstrukty (dotazy, modifikátory, parametry). Systém sestává ze tří hlavních komponent: DFA-založeného parseru integrovaného s MongoDB JSON parserem, modulu provádějícího textovou analýzu podle zadaných kritérií a vykonavatele dotazů. Pro dynamické načítání kritérií a perzistenci dat je využita SQL databáze a výsledky jsou prezentovány v přehledných reportech pro studenty i vyučující.
Systém byl ověřen na reálných odevzdáních ze zimního semestru 2024/2025, úspěšně identifikoval okrajové případy a produkoval spolehlivá hodnocení. Statistická analýza 64 odevzdaných prací odhalila běžné trendy v přístupech studentů.
This thesis explores the feasibility of automating the evaluation of MongoDB homework assignments in the Database Systems 2 course at CTU FEL and presents a system tailored to this task. Standard assessment approaches based on reference solutions proved unsuitable, prompting the design of a parser-driven system that analyzes student submission scripts. A hybrid parsing strategy was selected to balance robustness and implementation complexity. The systems architecture, based on the onion model, centers around a domain model representing key evaluation constructs such as queries, modifiers, and parameters. It comprises three core components: a DFA-based parser integrated with MongoDBs JSON parser, a criteria grader that performs text-based analysis, and a query executor. An SQL database supports criteria loading and data persistence, and results are presented in readable reports for students and instructors. The system was tested on real submissions from Winter 2024/2025, successfully identifying edge cases and producing reliable evaluations. Statistical analysis of 64 submissions revealed common trends in student solutions.
This thesis explores the feasibility of automating the evaluation of MongoDB homework assignments in the Database Systems 2 course at CTU FEL and presents a system tailored to this task. Standard assessment approaches based on reference solutions proved unsuitable, prompting the design of a parser-driven system that analyzes student submission scripts. A hybrid parsing strategy was selected to balance robustness and implementation complexity. The systems architecture, based on the onion model, centers around a domain model representing key evaluation constructs such as queries, modifiers, and parameters. It comprises three core components: a DFA-based parser integrated with MongoDBs JSON parser, a criteria grader that performs text-based analysis, and a query executor. An SQL database supports criteria loading and data persistence, and results are presented in readable reports for students and instructors. The system was tested on real submissions from Winter 2024/2025, successfully identifying edge cases and producing reliable evaluations. Statistical analysis of 64 submissions revealed common trends in student solutions.
Description
Keywords
automatizované hodnocení domácích úkolů; MongoDB; konečný automat; PostgreSQL; generování zpětné vazby; parsování skriptů; vykonavací jádro; textová analýza; logovací soubory, automated homework evaluation; MongoDB; finite state machine; PostgreSQL; feedback generation; script parsing; execution engine; textual analysis; log files