Domain-Specific Language for Learning Programming
Domain-Specific Language for Learning Programming
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/78010Identifiers
Study Information System: 150507
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Vinárek, Jiří
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
16. 6. 2016
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
výuka programování, doménově specifický jazyk, MPS, nástroj pro tvorbu jazykaKeywords (English)
programming education, domain-specific language, MPS, language workbenchV rámci této práce jsme navrhli jazyk pro výuku programování. Nejprve jsme popsali osm existujících nástrojů pro výuku programování a identifikovali jsme jejich vlastnosti, které jsou důležité pro proces učení. Potom jsme navrhli výukový doménově specifický jazyk Eddie. Eddie je vhodný pro dospívající děti a dospělé, kteří se chtějí naučit programovat. Jazyk používá doménu postavenou na jazyku Robot Karel, ve které uživatelé mohou ovládat postavičku robota ve dvourozměrné mřížce. Vytvořili jsme prototyp jazyka Eddie pomocí nástroje MPS Language Workbench. Jazyk Eddie postupně představuje cykly, podmínky, proměnné, funkce a objekty. Uživatelské programy mohou být vytvářeny a spouštěny ve vývojovém prostředí Eddie Studio. Eddie Studio také vizualizuje akce robota ve spuštěném programu. Powered by TCPDF (www.tcpdf.org)
In the scope of this thesis, we designed a language for programming education. At first, we described eight existing tools for learning programming and identified key features in the learning process. Second, we designed an educational domain-specific language Eddie. Eddie is suitable for teenagers and adults who want to learn programming. It uses a domain based on Karel the Robot language, where users can control a robot character in a two-dimensional grid. We implemented a prototype of Eddie using the MPS Language Workbench and its projectional editor. The Eddie language gradually introduces loops, conditionals, variables, functions, and objects. Eddie programs can be created, executed and visualized in the Eddie Studio IDE. Powered by TCPDF (www.tcpdf.org)