Caspersen, Michael Edelgaard, Kölling, Michael, Bennedsen, Jens
Methods and Implementations
Conceptual modelling is the defining characteristic of object-orientation and provides a unifying perspective and a pedagogical approach focusing upon the modelling aspects of object-orientation. Reinforcing conceptual modelling as a basis for CS1 provides a course structure to integrate the core elements from a conceptual framework for object-orientation and a systematic approach to programming. Both of these are helpful to newcomers. The progression of the course is defined by the growing complexity of the conceptual model, which is to be implemented. The focus is not on conceptual modelling per se, but on the use of conceptual models as a structuring mechanism and a guide for the implementation. In this article we discuss different ways to structure an introductory programming course and give concrete examples on how a course where the complexity of the conceptual model is defining the structure. This chapter is partly based on Bennedsen, J. and Caspersen, M.E. Programming in Context — A Model-First Approach to CS1. In Proceedings of the Thirty-Fifth SIGCSE Technical Symposium on Computer Science Education, Norfolk, Virginia, USA, March 3-7, 2004, pp. 477-481.
Lecture Notes in Computer Science, 2008, Vol 4821, p. 116-129