Práce se zaměřuje na vytvoření prostředí pro automatizované vyhodnocování studentských
prací s využitím Git repozitářů. V rámci tohoto prostředí má každý vyučující možnost spravovat předměty, úlohy a skupiny studentů. Pro každý předmět je možné vytvořit úlohy (projekty) v programovacích jazycích Java nebo C#, které musí studenti vypracovat. Úloha obsahuje sady testů definovaných vyučujícím, které jsou využity k vyhodnocení odevzdaných studentských prací na kolaboračním Git serveru.
V práci je popsána platforma Docker na která je vytvořen systém pro automatizované
vyhodnocování studentských prací. Ten se skládá z komponent Gitlab-CE, Gitlabrunner, MySQL a vlastního integračního nástroje. Tyto služby jsou dále teoreticky popsány.
V praktické části je implementována konfigurace pro Docker Compose a administrační
aplikace pro automatické vyhodnocování studentských prací.
Anotace v angličtině
Thesis is focused on creation an environment for automated evaluation of student work using Git repositories. Within this environment, each teacher has the ability to manage courses, assignments and groups of students. For each course it is possible to create assignments (projects) in Java or C# programming languages that students have to develop. The assignment contains sets of tests defined by the teacher, which are used to evaluate the submitted student work on the collaborative Git server.
Thesis describes the Docker platform, on which a system for automated evaluation of student works is created. It consists of Gitlab-CE, Gitlab-runner, MySQL and its own integration tool.
These services are further theoretically described. In the practical part, the configuration for Docker Compose and administrative applications for the automatic evaluation of student works are implemented.
Práce se zaměřuje na vytvoření prostředí pro automatizované vyhodnocování studentských
prací s využitím Git repozitářů. V rámci tohoto prostředí má každý vyučující možnost spravovat předměty, úlohy a skupiny studentů. Pro každý předmět je možné vytvořit úlohy (projekty) v programovacích jazycích Java nebo C#, které musí studenti vypracovat. Úloha obsahuje sady testů definovaných vyučujícím, které jsou využity k vyhodnocení odevzdaných studentských prací na kolaboračním Git serveru.
V práci je popsána platforma Docker na která je vytvořen systém pro automatizované
vyhodnocování studentských prací. Ten se skládá z komponent Gitlab-CE, Gitlabrunner, MySQL a vlastního integračního nástroje. Tyto služby jsou dále teoreticky popsány.
V praktické části je implementována konfigurace pro Docker Compose a administrační
aplikace pro automatické vyhodnocování studentských prací.
Anotace v angličtině
Thesis is focused on creation an environment for automated evaluation of student work using Git repositories. Within this environment, each teacher has the ability to manage courses, assignments and groups of students. For each course it is possible to create assignments (projects) in Java or C# programming languages that students have to develop. The assignment contains sets of tests defined by the teacher, which are used to evaluate the submitted student work on the collaborative Git server.
Thesis describes the Docker platform, on which a system for automated evaluation of student works is created. It consists of Gitlab-CE, Gitlab-runner, MySQL and its own integration tool.
These services are further theoretically described. In the practical part, the configuration for Docker Compose and administrative applications for the automatic evaluation of student works are implemented.
Cílem diplomové práce je navrhnout a vytvořit prostředí, které umožní automatické testování a vyhodnocování studentských prací, které jsou odevzdány do kolaboračního Git serveru.
V teoretické části bude provedena rešerše a analýza problému. Je třeba analyzovat dostupné kolaborační servery pro hostování Git repozitářů a jejich možnosti pro: (a) vytváření skupin studentů či odevzdávaných prací, (b) uplatnění sběru dat (webhooks), (c) automatizovaného testování aplikací (CI/CD) proti definované sadě testů. Na základě provedené rešerše bude vybrán server (a související komponenty) pro realizaci daného prostředí. Při realizaci je vhodné zvážit úpravy dostupných kolaboračních a CI/CD prostředí, stejně jako možnost implementovat externí aplikace pro doplnění funkcionalit.
V praktické části bude navržen a realizován systém, který umožní automatizované vyhodnocování studentských prací v prostředí kolaboračního Git serveru. Odevzdaná práce (po jejím nahrání na server) bude automaticky vyhodnocena proti definované sadě testů. Výsledné hodnocení bude dostupné, jak studentům, tak vyučujícím. Vyučující bude mít k dispozici přehled za všechna definovaná cvičení či skupiny. Vytvořené prostředí musí disponovat podporou minimálně pro Javu a C#.
Zásady pro vypracování
Cílem diplomové práce je navrhnout a vytvořit prostředí, které umožní automatické testování a vyhodnocování studentských prací, které jsou odevzdány do kolaboračního Git serveru.
V teoretické části bude provedena rešerše a analýza problému. Je třeba analyzovat dostupné kolaborační servery pro hostování Git repozitářů a jejich možnosti pro: (a) vytváření skupin studentů či odevzdávaných prací, (b) uplatnění sběru dat (webhooks), (c) automatizovaného testování aplikací (CI/CD) proti definované sadě testů. Na základě provedené rešerše bude vybrán server (a související komponenty) pro realizaci daného prostředí. Při realizaci je vhodné zvážit úpravy dostupných kolaboračních a CI/CD prostředí, stejně jako možnost implementovat externí aplikace pro doplnění funkcionalit.
V praktické části bude navržen a realizován systém, který umožní automatizované vyhodnocování studentských prací v prostředí kolaboračního Git serveru. Odevzdaná práce (po jejím nahrání na server) bude automaticky vyhodnocena proti definované sadě testů. Výsledné hodnocení bude dostupné, jak studentům, tak vyučujícím. Vyučující bude mít k dispozici přehled za všechna definovaná cvičení či skupiny. Vytvořené prostředí musí disponovat podporou minimálně pro Javu a C#.
Seznam doporučené literatury
CHACON, Scott. Pro Git. Praha: CZ.NIC, c2009. CZ.NIC. ISBN 978-80-904248-1-4.
SMART, John. Jenkins: The Definitive Guide. O'Reilly Media, 2011. ISBN 9781449305352.
Seznam doporučené literatury
CHACON, Scott. Pro Git. Praha: CZ.NIC, c2009. CZ.NIC. ISBN 978-80-904248-1-4.
SMART, John. Jenkins: The Definitive Guide. O'Reilly Media, 2011. ISBN 9781449305352.
Přílohy volně vložené
-
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Cílem diplomové práce bylo navrhnout a vytvořit prostředí, které umožní automatické testování a vyhodnocování studentských prací, které jsou odevzdány do kolaboračního Git serveru.
Systém se při testování podařilo nasadit, spustit a provést několik základních testů, které zahrnovaly vytvoření projektu, přihlášení studenta k projektu, odevzdání práce a její vyhodnocení.
Dle vedoucího práce je DP poměrně dobře strukturována.
Obhajoba proběhla na požadované úrovni. Student reagoval na dotazy a připomínky vedoucího, oponenta i členů komise.