Many courses in a computer science curriculum, from computer architecture over programming languages to operating systems, discuss complex and intricate mechanisms and systems. Engineers who develop such mechanisms and systems (e.g. an operating system) use models to deal with their complexity. Instructors who teach the concepts behind those mechanisms and systems often implicitly use models to make those concepts more approachable: they present simplified abstractions and draw diagrams to focus on the essential.
In this position paper we propose to make this implicit use of models explicit. We propose to use models as a teaching tool in all courses where they are helpful, not just in a course on models or model-driven development. Moreover, we present an infrastructure, Informa, that provides support for integrating models into an interactive classroom.