Project-based Teaching for Model-Driven Engineering Mireille Blay–Fornarino University of Nice Sophia – Antipolis Cnrs, I3s Laboratory, Rainbow team Sophia Antipolis, France blay@polytech.unice.fr Abstract. For many years, I have been teaching meta-programming, software modeling and more recently model-driven engineering (MDE). Such innovative concepts and environments are not straightforward to understand for students. In this short paper, I list a few issues I met and I propose a new project-based approach to teach meta-modeling paradigms. 1 Introduction Few years ago, I started teaching the concepts of introspection and reflexivity referring to languages such as: Smalltalk, Clos, etc. Such concepts require a high level of abstraction to understand them and it is not easy for students. Today, for programming distributed applications, technical features such as security and persistency are mandatory. In this context the use of introspection and reflexivity is making common sense for expressing and implementing such features. As a consequence, today, we are no longer teaching meta-programming the academic way. We learn such concepts while modeling real applications. I teach software modeling to students from different horizons (psychology, biology and also computer science) with different levels in programming. The translation of their knowledge into models is unusual and unfamiliar to them. We noticed that with real case studies and examples it is easier for our students to learn the concepts of modeling. Problem-based learning is then an attractive way to teach modeling to begin- ners. Using real cases for teaching facilitates the learning. How to integrate such a learning approach while teaching model-driven development in a few hours to post-graduate students? That is the purpose of this paper. For three years, I have been responsible of a model-driven engineering train- ing course. With my colleagues we feel this course is both exciting and difficult to understand for our students. The issues we are facing are explained in sec- tion 2. Further to the training course, we supervise our students working on projects where they apply the model-driven paradigms such as orchestration meta-modeling and transformation [1]. As soon as our students start working on concrete applications, these meta-modeling paradigms are becoming more natural for them.