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/ |