A programming language presented in graphics
Graficky prezentovaný programovací jazyk
bachelor thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/116924Identifiers
Study Information System: 216336
Collections
- Kvalifikační práce [9664]
Author
Advisor
Referee
Parízek, Pavel
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software and Data Engineering
Department
Department of Software Engineering
Date of defense
13. 2. 2020
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
grafický programovací jazyk, interpretace programu, ladění programu, GIFový jazykKeywords (English)
visual programming language, program interpretation, symbolic debugger, GIF languageCieľom práce je vytvoriť programovací jazyk so znakmi a kľúčovými slovami nahradenými za obrázky a animácie (GIFy). To zahŕňa naprogramovanie webového vývojového prostre- dia a interpreteru pre tento jazyk. V práci využijeme moderné webové technológie ako WebWorkers, TypeScript a React. Vývojové prostredie podporuje krokovanie programu s informáciami o aktuálnej pozícii v kóde, hodnotami premenných a volacieho zásobníku. Vývojové prostredie navyše ponúka možnosť ukladať a načítať užívateľské programy zo serveru. Účel tohto jazyka je edukatívny, môže byť napríklad použitý v hrách na programovacích sústredeniach pre žiakov základných a stredných škôl. 1
The goal of this thesis is to create a programming language with characters and key- words substituted with images and animations (GIFs). We build a web IDE and a client- side interpreter for this language using modern web technologies including WebWorkers, TypeScript and React. The IDE features code-stepping with information about current location in the source code, environment variables and a call stack. Additionally, there is a support for storing programs on the server and loading them later. The purpose of the language is educational, e.g., to be used in creative games at programming camps for elementary and high schoolers. 1