Authors: Bent Bruun Kristensen, Palle Nowack, Michael Caspersen
Abstract: The paper explores the notion of “To Program is To Model” in the realm of an introductory programming course. We present a number of intended learning outcomes and didactical design principles for the course, and we then describe the course content in terms of the system to be developed as well as the project to be undertaken. Based on this, we illustrate the many different ways software development can be understood, as “To Program is To Model”. These reflections utilize a conceptual model in terms of domains and models useful when understanding and discussing software development. Finally we present a set of requirements for students to learn programming as modeling.
Keywords: Teaching introductory programming, to program is to model, software development, stepwise improvement, domains and models in the software development process