Práce se zabývá vlastní tvorbou výukové aplikace programování včetně návrhu vlastního jazyka a implementací interpretu. Věnuje se teorii programovacích jazyků a zaměřuje se na problematiku jejich obecného návrhu. Práce dále obsahuje rešerši dalších výukových aplikací programování v různých formách jejich provedení.
Výsledkem této práce je aplikace pro výuku programování využívající vlastní navržený programovací jazyk. Aplikace obsahuje několik základních příkladů na ozkoušení algoritmických dovedností.
Anotace v angličtině
The thesis is focused on development of application for programming education, including custom language and implementation of the interpreter. Furthermore, the thesis addresses the theory of programming languages and problematics of their general designs while including researches of other educational programs in different forms.
The result of the thesis is an application created to teach programming using its own programming language. The application contains a couple of basic examples in order to test users algorithmic skills.
Klíčová slova
abstraktní syntaktický strom, interpret, kompilátor, výuková aplikace, programovací jazyk
Klíčová slova v angličtině
abstract syntax tree, interpreter, compiler, tutorial application, programming language
Rozsah průvodní práce
39
Jazyk
CZ
Anotace
Práce se zabývá vlastní tvorbou výukové aplikace programování včetně návrhu vlastního jazyka a implementací interpretu. Věnuje se teorii programovacích jazyků a zaměřuje se na problematiku jejich obecného návrhu. Práce dále obsahuje rešerši dalších výukových aplikací programování v různých formách jejich provedení.
Výsledkem této práce je aplikace pro výuku programování využívající vlastní navržený programovací jazyk. Aplikace obsahuje několik základních příkladů na ozkoušení algoritmických dovedností.
Anotace v angličtině
The thesis is focused on development of application for programming education, including custom language and implementation of the interpreter. Furthermore, the thesis addresses the theory of programming languages and problematics of their general designs while including researches of other educational programs in different forms.
The result of the thesis is an application created to teach programming using its own programming language. The application contains a couple of basic examples in order to test users algorithmic skills.
Klíčová slova
abstraktní syntaktický strom, interpret, kompilátor, výuková aplikace, programovací jazyk
Klíčová slova v angličtině
abstract syntax tree, interpreter, compiler, tutorial application, programming language
Zásady pro vypracování
Cílem bakalářské práce je vytvořit program v Javě pro výuku základů programování pomocí vlastního jednoduchého programovacího jazyka.
Teoretická část práce bude obsahovat popis problematiky návrhu a realizace kompilátoru (resp. interpretu) pro navržený výukový programovací jazyk. Dále bude formálně popsána gramatika navrženého programovacího jazyku. Navržený jazyk by měl poskytnout základní konstrukce (podmínky, cykly, funkce) a podporu pro práci s lokálními proměnnými ve funkcích.
V praktické části bude realizována aplikace na platformě Java. Aplikace bude sloužit jako interpret navrženého jazyka s grafickým výstupem (na podobném principu jako u jazyků Logo/Baltík/apod.). Aplikace bude obsahovat základní příklady pro výuku programování.
Zásady pro vypracování
Cílem bakalářské práce je vytvořit program v Javě pro výuku základů programování pomocí vlastního jednoduchého programovacího jazyka.
Teoretická část práce bude obsahovat popis problematiky návrhu a realizace kompilátoru (resp. interpretu) pro navržený výukový programovací jazyk. Dále bude formálně popsána gramatika navrženého programovacího jazyku. Navržený jazyk by měl poskytnout základní konstrukce (podmínky, cykly, funkce) a podporu pro práci s lokálními proměnnými ve funkcích.
V praktické části bude realizována aplikace na platformě Java. Aplikace bude sloužit jako interpret navrženého jazyka s grafickým výstupem (na podobném principu jako u jazyků Logo/Baltík/apod.). Aplikace bude obsahovat základní příklady pro výuku programování.
Seznam doporučené literatury
RICHARDSON, W. Clay. Professional Java, JDK. 5th ed. Indianapolis, IN: Wrox, c2005, xxxi, 712 p. ISBN 07-645-7486-8.
LI, Liwu. Java: Data Structures and Programming. Berlin, Heidelberg: Springer Berlin Heidelberg, 1998. ISBN 36-429-5851-6.
DOS REIS, Anthony J. Compiler construction using Java, JavaCC, and Yacc. Hoboken, N.J.: Wiley-IEEE Computer Society, c2012. ISBN 9780470949597.
Seznam doporučené literatury
RICHARDSON, W. Clay. Professional Java, JDK. 5th ed. Indianapolis, IN: Wrox, c2005, xxxi, 712 p. ISBN 07-645-7486-8.
LI, Liwu. Java: Data Structures and Programming. Berlin, Heidelberg: Springer Berlin Heidelberg, 1998. ISBN 36-429-5851-6.
DOS REIS, Anthony J. Compiler construction using Java, JavaCC, and Yacc. Hoboken, N.J.: Wiley-IEEE Computer Society, c2012. ISBN 9780470949597.
Přílohy volně vložené
-
Přílohy vázané v práci
ilustrace
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student v rámci své práce navrhl jednoduchý, ale dostatečně komplexní procedurální programovací jazyk. Tento jazyk je následně využit v rámci implementovaného nástroje pro výuku programování, nástroj umožňuje využívat textový a grafický výstup z interpretovaných programů. Uživatel má v rámci nástroje k dispozici tutoriál obsahující několik algoritmických problémů pro základní výukové účely.
Práce byla zkontrolována v systému STAG a nejeví známky plagiátorství.
Komise navrhuje bakalářskou práci na ocenění za vynikající tvůrčí výsledky dle článku 3, písmo b) Stipendijního řádu Univerzity Pardubice.