Object Oriented Programming in Eiffel comes from the University of Technology in Sydney, Australia, where it is used to teach the Eiffel programming language to both beginning and experienced programmers.
The authors perform a considerable feat in keeping presentations of three different but related things neatly phased: the programming language, the concepts of object oriented programming, and a model system.
Each chapter in the later part of the book begins with a specification for a model teller machine, or a change in the prior specification. It then goes on to illustrate object oriented concepts and their constructs in Eiffel, and to implement the teller machine as it then stands, using the concepts and constructs presented. At each stage the model may be compiled and run.
This book neatly bridges the forward reference problem so common in teaching and learning programming languages, where you must understand very many things before you know enough to begin to construct working programs. And it is necessary to construct and examine working programs before one can really begin to understand anything!
If you have worked as a programmer for some time you may find the specification changes at the beginnings of the chapters have a too-familiar feel. Perhaps they will remind you of things that have appeared on your desk at five o'clock just before a holiday. If so, you may be happy with the way the programming language and the method presented allow this project to absorb the changes with fewer ripples than you might expect.