This article presents the results of observations and analyses of students’ learning model-driven system development from two related courses taught at a university in Norway and at a university in the United States in 2015, and consequently, in an updated version in 2016. The motivation of this article is to understand and analyse how effective the current practice of teaching and learning modelling and model-driven software development is in university settings, and to offer some pedagogical insights and lessons learnt from teaching two different model-related graduate courses at two different universities. Empirical data of learning was collected through interviews, observations, document analysis and a survey questionnaire. The aim of these two courses is providing students with the competence of problem solving in modelling. Topics of models in these courses cover a full spectrum of modelling techniques, from business architecture models, requirements models, system and software architecture, to design models. The courses have evolved from an initial focus on modelling for analysis and design to the current focus on using executable models for software production. The result is a complete enterprise architecture modelling approach education from business architecture to software architecture to functioning software.