Meta Programming System:
Advanced course

Training available on-site, remotely or from our Prague office

Command of MPS in the scope of the Introductory course

This course targets developers with basic skills in using MPS, who want to deepen their knowledge. The training will help students explore the more advanced options of language definition, especially the type-system and the generator. Integration and problem resolution strategies form another group of important topics covered. A great part of the training will be dedicated to analysis of concrete custom use-cases.

Key highlights:

  • The training is lead by experienced core MPS developers and seasoned trainers, who have good understanding of these advanced topics.
  • Participants are split into small groups to guarantee individualized approach and instant feedback.
  • The trainings are organized around practical hands-on exercises that you will be performing under close supervision.
  • The agenda of the course takes into account the concrete use-cases that the participants are facing in their professional life.


Since we prefer the freedom to customize the contents of each run of the course, we put up no fixed prices, but instead the prices will be agreed upon individually. We’ll be happy to discuss further details with you directly.

Alternative locations: 

We are able to train you on-site. If you’d like to have a JetBrains lecturer come over to your place and deliver the training at your premises, let us know through the form.

Please use the form below to express your interest in the MPS training. We will reply to your inquiry by e-mail and provide you with additional details, answer your questions and suggest a concrete date.


  • Prepare for independent language-design work
  • Learn how to fully leverage the individual aspects of language definition
  • Understand how to support languages throughout their whole life-cycle
  • Find out about the important internal mechanisms of MPS
  • Effectively use the various tools of the MPS platform


  • Making the editor fluent with substitutions and transformations
  • Checking rules and quick-fixes
  • Enhancing the structure with Attributes
  • Commenting out code and documentation comments
  • Advanced structure - specialized links, customized presentation
  • Leveraging the full power of the smodel language
  • Concept functions
  • Dependency analysis
  • Testing and debugging of languages
  • The build language
  • Building MPS and IDEA plugins
  • Language versioning and migrations

Speaking to you

Václav Pech
Václav Pech is passionate about programming in all its forms and flavors. He's keenly interested in server-side Java technologies, distributed and concurrent systems, modern programming languages, and DSLs. He joined JetBrains on a mission to empower developers with top-notch development tools. He's currently involved in the MPS project, developing a projectional DSL workbench, and building customized DSLs.

"Makes your MPS learning curve much smoother and makes you efficient with MPS much faster. It allows you to learn from the people, who built it and know it best." — L. L., fortiss GmbH, Germany

"This personalized training was really helpful to show me the unlimited possibilities of MPS, I would recommend this to anyone who wants to get the in depth view of MPS." — M. R., fortiss GmbH, Germany

"It was an extremely helpful workshop. We wanted to explore MPS for its potential usage and capabilities in our ongoing projects. And the training serves that purpose very well. I am extremely thankful to you for providing valuable insights to MPS. This will for sure improve our development skills." — S. A., fortiss GmbH, Germany