Using object-orientation as a common basis for system development education

Object-orientation has a long tradition at the Computer Science Department, Aarhus University, starting with Simula in the early seventies. For more than 20 years there have been courses in object-oriented programming, including BETA, Smalltalk, Self and others. Recently object-orientation has started to be integrated in other parts of the curriculum such as in software engineering, distributed systems and databases. In this paper we report on this approach to teaching object-orientation. One of the advantages of object-orientation is that it provides an integrating perspective on the various areas to be taught. Besides providing a common conceptual framework, it also makes it possible to use common languages and tools that have a profound influence on the integration. Especially in the software engineering course, it has been possible to let the students experience an iterative software development method where they make a number of iterations through analysis, design and implementation. To do these iterations, it is necessary with good development tools like a CASE tool that supports code generation and reverse engineering. The Mjølner BETA System is used in the various courses as a common platform, but the students are also introduced to other object-oriented environments like Smalltalk, Self, Eiffel, and C++. The Mjølner BETA System that is a software development environment for object-oriented development based on the BETA programming language.

[1]  Jørgen Lindskov Knudsen,et al.  Teaching Object-Oriented Programming Is More than Teaching Object-Oriented Programming Languages , 1988, ECOOP.

[2]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[3]  OLE LEHRMANN MADSEN Open Issues in Object-Oriented Programming , .

[4]  Ole Lehrmann Madsen Open issues in object‐oriented programming—A scandinavian perspective , 1995, Softw. Pract. Exp..

[5]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[6]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[7]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[8]  Kenneth D. Forbus H. Abelson and G. J. Sussman with J. Sussman, Structure and Interpretation of Computer Programs , 1985, Artif. Intell..

[9]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[10]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[11]  Edward Yourdon,et al.  Object-oriented analysis (2nd ed.) , 1991 .

[12]  J. Lindskov Knudsen Object-oriented environments : the Mjølner approach , 1993 .

[13]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[14]  James E. Rumbaugh,et al.  Object-Oriented Modelling and Design , 1991 .

[15]  Kasper Østerbye,et al.  Nordic Workshop on Programming Environment Research , 1992 .

[16]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[17]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .

[18]  Jørgen Lindskov Knudsen,et al.  Object Oriented Software Development Environments: The Mjolner Approach , 1994 .

[19]  Randall B. Smith,et al.  Programming as an Experience: The Inspiration for Self , 1995, ECOOP.