Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Domain-Specific Language for Learning Programming
Thesis title in Czech: Domain-Specific Language for Learning Programming
Thesis title in English: Domain-Specific Language for Learning Programming
Key words: výuka programování, doménově specifický jazyk, MPS, nástroj pro tvorbu jazyka
English key words: programming education, domain-specific language, MPS, language workbench
Academic year of topic announcement: 2013/2014
Thesis type: diploma thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: doc. RNDr. Pavel Parízek, Ph.D.
Author: Mgr. Jonáš Klimeš - assigned and confirmed by the Study Dept.
Date of registration: 09.05.2014
Date of assignment: 14.05.2014
Confirmed by Study dept. on: 22.05.2014
Date and time of defence: 16.06.2016 09:30
Date of electronic submission:11.05.2016
Date of submission of printed version:13.05.2016
Date of proceeded defence: 16.06.2016
Opponents: Mgr. Jiří Vinárek
 
 
 
Guidelines
When teaching people to write their first programs and understand algorithms, General Purpose Languages (GPLs), such as C or Java, are too complicated and difficult to use. Domain Specific Languages (DSLs) look like a promising way to go.

The goal of this work is to design and implement a usable system (DSL and a run-time) that would offer safe and intuitive ways to learn programming.

Specific tasks include:
1. Exploring the territory of educational DSLs, describing the already available tools, and summarizing the current state of the art in this domain.
2. Identifying the key characteristics of tools and programming languages that have impact on the process of learning how to write programs, and on the motivation to learn.
3. Design and implementation of a system that would allow people to interactively learn the basics of programming and introduce them to some of the more advanced concepts, such as object-oriented programming and parallelism.

The system will consist of a new DSL and a run-time development environment that would enable users to write their own programs.
Prototype implementation will be based on the Language Workbench MPS.
References
1. MPS. http://www.jetbrains.com/mps/
2. Richard E. Pattis. Karel The Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, 1981. ISBN 0-471-59725-2.
3. Joseph Bergin, Mark Stehlik, Jim Roberts, Richard E. Pattis. Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. John Wiley & Sons, 1996. ISBN 0-471-13809-6.
4. http://en.wikipedia.org/wiki/List_of_educational_programming_languages
5. Scratch. http://scratch.mit.edu/
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html