Teaching object oriented programming and design with Eiffel
The Object Oriented Paradigm is touted as a software development methodology that promotes reuse, models the problem space, facilitates maintenance, incorporates changes easily, shortens the development lifecycle, encourages good software engineering techniques, and cures the common cold. A course in Object Oriented Programming and Design should address these claims. One way (perhaps the only way) for students of the paradigm to test such claims is to build a small but high quality product as part of the course. The Eiffel language provides an ideal platform for such a course due to its simplicity, straightforward support for 00 concepts, and its assertion mechanism.