Web application for programming student training

Thesis title: Webová aplikace pro testování programů při výuce
Author: Podolka, Luděk
Thesis type: Diplomová práce
Supervisor: Pavlíček, Luboš
Opponents: Pecinovský, Rudolf
Thesis language: Česky
Abstract:
Cílem této diplomové práce je popsat možné způsoby řešení kompilace, spouštění a testování uživatelských programů v jazyce Java v prostředí webového serveru. Dalším cílem je navrhnout a implementovat webovou aplikaci, která by umožňovala studentům psaní a testování jednoduchých programů při výuce Javy. Metodou dosažení cíle je studium relevantních zdrojů, zejména dokumentace a zdrojového kódu projektů implementujících dynamické spouštění programů. K dosažení cíle praktické části autor využívá analýzu požadavků a principy implementace agilní metodiky extrémního programování. Pro názornost návrhu aplikace jsou použity prvky notace jazyka UML. První část práce je zaměřena na teorii spouštění programů v Javě, načítání tříd, kompilaci zdrojových kódů a bezpečnost programu. Dále je uveden přehled nástrojů, které vznikly následným vývojem a jsou postaveny nad těmito základními koncepty. Jedná se dynamické modulární systémy, nástroje pro testování software, nástroje pro automatizaci sestavení a integrační servery. Tyto nástroje implementují dynamické spouštění programů. Třetí skupinou jsou nástroje vhodné pro kvalitativní analýzu zdrojového kódu, které mohou být využity při vytvářené webové aplikace pro účely výuky. V praktické části autor shrnuje zadání úkolu vytvoření webové aplikace a provádí analýzu požadavků. Na základě požadavků se autor krátce věnuje vnitřnímu uspořádání webové aplikace. Detail návrhu aplikace je demonstrován na vybraném uživatelském příběhu. V textu je zařazen přehled technologií a nástrojů použitých k řešení praktické části. Nedílnou součást práce tvoří webová aplikace provozovaná na adrese http://kitscm.vse.cz/tppv. Vlastním přínosem autora je vytvoření přehledu problematiky potřebné k úspěšné analýze, návrhu a implementaci webové aplikace pro testování programů a samotný výsledek provedení těchto procesů.
Keywords: java; výuka; aplikace; programování; testování
Thesis title: Web application for programming student training
Author: Podolka, Luděk
Thesis type: Diploma thesis
Supervisor: Pavlíček, Luboš
Opponents: Pecinovský, Rudolf
Thesis language: Česky
Abstract:
Goal of this master thesis is to describe possible solutions for compilation, execution and unit testing of user programs written in Java hosted on web server. Another goal is to design and to implement web application which would allow students to write and to test simple programs during Java lessons. Chosen method for achieving first goal is studying relevant resources, mainly documentation and source code of projects which implement dynamic program execution. To accomplish the second goal the author uses requirements analysis and principles of agile methodology of extreme programming. Parts of UML notation are used to make the design part clear. First part is focused on theory behind dynamic program execution in Java, class loading, compilation of source code and software security. Overview of tools built upon these basic concepts follows. These are dynamic module systems, software testing tools, build automation tools and continuous integration servers. Previously mentioned tools implement dynamic program execution. Third group consists of tools for source code quality analysis which could be considered as components of application for education purposes that is to be implemented. The author summarizes the task of new application development and performs requirement analysis in the practical part. Internal structure of future application is briefly discussed by the author. The demonstration of detailed design is derived from one of user stories. Overview of tools and technologies used during the analysis, design and implementation is also part of the text. Integral part of this thesis is web application hosted on http://kitscm.vse.cz/tppv/. Authors contribution to the topic is synthesis of existing solutions to problems neccessary to analyze, design and implement working web application for program testing and the result of these processes itself.
Keywords: learning; java; testing; application; programming

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 7. 1. 2009
Date of submission: 1. 8. 2009
Date of defense: 9. 9. 2009
Identifier in the InSIS system: https://insis.vse.cz/zp/18065/podrobnosti

Files for download

    Last update: