Model-driven software development is surrounded by numerous myths and#R##N#   misunderstandings that hamper its adoption. For long, our students were#R##N#   victims of these myths and considered MDSD impractical and only applied in#R##N#   academy. In this paper we discuss these myths and present our experience with#R##N#   devising an MDSD course that challenges them and motivates students to#R##N#   understand MDSD principles. The main contribution of this work is a set of#R##N#   MDSD teaching guidelines that can make the course pragmatic in the eyes of#R##N#   students - programmers. These guidelines introduce MDSD from the viewpoint of#R##N#   a programmer as a pragmatic tool for solving concrete problems in the#R##N#   development process. In our MDSD course we implemented the presented#R##N#   guidelines. The course shows several techniques and principles of#R##N#   model-driven development in multiple incremental iterations instead of#R##N#   concentrating on a single tool. At the same time we unite these techniques by#R##N#   using a dynamic visualisation tool that shows to the students the whole#R##N#   infrastructure in the big picture. The course is implemented as an iterative#R##N#   incremental MDSD case study. The paper concludes with a survey performed with#R##N#   our students that indicates positive results of the approach.
['Jaroslav Porubän', 'Michaela Bacikova', 'Sergej Chodarev', 'Milan Nosál']
Teaching pragmatic model-driven software development