About this course
This course targets programmers, who are familiar with the basics of the JetBrains MPS technology and want to learn the essential skills necessary to design any nontrivial languages. The training will gradually guide the trainees through the advanced aspects of language definition such as scopes, type-system, menu transform actions, mapping labels and others, show them the essential capabilities of the tool and provide deep understanding of common language design patterns and development practices. The focus of this course is on practical exercises.
At the end of the course you will be able to fully implement languages in MPS on your own and understand better the landscape of MPS knowledge base.
The training builds on the experience gained by JetBrains over the period of five years delivering face-to-face MPS trainings to customers from both academia and industry. The content has been revisited and adopted for online presentation.
Whom this course is for
Technically savvy people who understand the essentials of language design and want to learn the principles of MPS beyond the basics.
Initial requirements
Students should have solid technical background and experience in programming in a mainstream programming language, such as Java or C is a great advantage. The course assumes basic knowledge of MPS and language engineering. The MPS introductory course is the preferred way to prepare for this course.