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