About this course
This course targets beginners in the JetBrains MPS technology. The training will gradually guide the trainees through the individual aspects of language definition, show them the essential capabilities of the tool and provide basic understanding of common language design patterns and development practices. You will be creating languages of increasing complexity, enhancing various aspects of existing languages and practicing typical scenarios of language design.
The focus of this course is on the theoretical foundations of language engineering, examples of MPS usages in the industry, handling of the MPS tool as well as on the structure, editor, constraints and generator aspects of language definition.
At the end of the course you will be able to build languages in MPS on your own and understand better the domain of language engineering.
After passing this course, you can continue with the MPS advanced course to further improve your knowledge of MPS.
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 want to learn about the possibilities of JetBrains MPS and who aspire to become language designers in MPS. They will see sample industrial usages of MPS-based DSLs and try a few simple exercises in language engineering. Programming background is required.
Students should have solid technical background and understand the principles of programming. Knowledge of a mainstream programming language, such as Java or C is a great advantage.