Thesis (Selection of subject)Thesis (Selection of subject)(version: 290)
Assignment details
   Login via CAS
Realistic Programming Language and Run-time Environment for Education
Thesis title in Czech: Realistický programovací jazyk a běhové prostředí na výuku
Thesis title in English: Realistic Programming Language and Run-time Environment for Education
Academic year of topic announcement: 2018/2019
Type of assignment: diploma thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: RNDr. Pavel Parízek, Ph.D.
Domain Specific Languages (DSLs) are used in many platforms that enable people to learn programming and to create simple applications, while avoiding the complexity of mainstream general purpose languages. For example, very popular systems in this category are Scratch and TouchDevelop. A new educational DSL based on Karel has been recently implemented in the Language Workbench MPS. It supports basic control structures such as loops and procedures, and also some concepts of object-oriented programming.
The main goal of this project is to extend the DSL with additional constructs and features typically available in mainstream programming languages, such as data structures (sets, lists, dictionaries), streams and related operations (e.g., map-reduce and filtering), parallelism, and exceptions. An important part is careful design of the DSL in a way that will have a positive impact on the process of learning. The list of other possible features that could be implemented contains, for example, support for debugging, step-by-step execution, and a dynamic interpreter.

1. 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. Scratch.
Charles University | Information system of Charles University |