Touch of class: modern programming education through objects, contracts and components
Bertrand Meyer
Professor of Software Engineering at ETH Zurich
Teaching introductory programming in a form that will give future Information Technology professionals a head start
raises many challenges: focusing on long-term skills rather than fashionable toys of the moment, introducing a degree of
rigor without losing the practical touch, keeping abreast of the most exciting new technologies, devising appropriate
exercises that can't be solved by just googling the results, providing a first introduction to professional software
engineering, tackling big enough examples to give students an idea of real software development.
The introductory programming courses at ETH Zurich were redesigned two years ago with these concerns in mind,
using an approach that is fully object-oriented right from the start and fundamentally relies on the concepts
of Design by Contract. Another crucial principle is reliance on software reuse: we provide the students, right
from the beginning, with a large graphical and multimedia library which they are invited to reuse initially as pure
clients, through abstract interfaced and contracts; they can then discover the details little by little, "outside-in",
and in the end extend it themselves, through a process also called the Inverted Curriculum.
A textbook in progress, Touch of Class, supports the approach. The library is in the public domain.
The progress of the students is carefully monitored through systematic analysis of weekly exercises and questionnaires,
so that we are able to evaluate objectively how the course succeeds.
We believe that our experience provides a blueprint of how best to educate Information Technology professionals for
the challenges that await them in the coming decades. A number of universities have already adopted the approach.
We will describe our techniques and the result of this experience over the past two years, presenting the benefits achieved
and the problems that remain.
Reference: se.inf.ethz.ch/touch
About the Speaker
Bertrand Meyer is Professor of Software Engineering at ETH Zurich, where he occupies the chair previously held by
Niklaus Wirth and is also chairman of the computer science department. He is the author among others of the book
"Object-Oriented Software Construction", whose second edition is appearing in Russian this summer. He is the founder
and chief architect of Eiffel Software in California. See also www.inf.ethz.ch/~meyer and
www.eiffel.com
|