The Outside-In Method of Teaching Introductory Programming

  • Bertrand Meyer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2890)


The new design for the introductory programming course at ETH relies on object technology, Eiffel, extensive reuse, a graphics-rich library (TRAFFIC) built specifically for the course, a textbook (“Touch of Class”) and an Outside-In approach based on “inverted curriculum” ideas. This article presents the key aspects of the approach.

Note: readers interested in following the development of our course, the “Touch of Class” textbook and the supporting TRAFFIC software project may look up the page, where they can also subscribe to mailing lists connected with the approach.


Software Engineering Automatic Documentation Object Technology Program Text Class Tourism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abelson, H., Sussman, G.: Structure and Interpretation of Computer Programs, 2nd edn. MIT Press, Cambridge (1996)zbMATHGoogle Scholar
  2. 2.
    Cohen, B.: The Inverted Curriculum, Report, National Economic Development Council, London (1991)Google Scholar
  3. 3.
    Guzdial, M., Soloway, E.: Teaching the Nintendo Generation to Program. Communications of the ACM 45(4), 17–21 (2002)CrossRefGoogle Scholar
  4. 4.
    Meyer, B.: Towards an Object-Oriented Curriculum. Journal of Object- Oriented Programming 6(2), 76–81 (1993); Revised version in Ege, R., Singh, M., Meyer, B. TOOLS 11 (Technology of Object-Oriented Languages and Systems). Prentice Hall, Englewood Cliffs (1993)Google Scholar
  5. 5.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. especially ch. 29, Teaching the Method. Prentice Hall, Englewood Cliffs (1997)zbMATHGoogle Scholar
  6. 6.
    Meyer, B.: Software Engineering in the Academy. Computer (IEEE) 34(5), 28–35 (2001)CrossRefGoogle Scholar
  7. 7.
    Meyer, B.: Touch of Class: Learning to Program Well — With object technology, Design by Contract, and steps to software engineering, to be published, draft versions currently, Available from
  8. 8.
    Mingins, C., Miller, J., Dick, M., Postema, M.: How We Teach Software Engineering. Journal of Object-Oriented Programming (JOOP) 11(9), 64–66, 74 (1999)Google Scholar
  9. 9.
    Wirth, N.: Computer Science Education: The Road Not Taken. In: opening address at ITiCSE conference, Aarhus, Denmark (June 2002), Available (September 2003) at

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Bertrand Meyer
    • 1
    • 2
    • 3
  1. 1.Chair of Software EngineeringETH Zürich 
  2. 2.Eiffel SoftwareSanta Barbara
  3. 3.Monash UniversityMelbourne

Personalised recommendations