From the reviews:
“This book ‘is not just about learning to program but about ’Learning to program Well.’’ Meyer’s latest text conveys his impressive experience in the field of computer science, going well beyond just software engineering. … the target audience includes both students and teachers. …The large quantity of information provided is well organized. … Colors are plentiful and character fonts play an important role. …Coming from a father of object orientation and software quality, it is not surprising that this is an excellent book.” (Alexandre Bergel, ACM Computing Reviews, January, 2010)
“The best thing about this book, and it is a very good thing indeed, is that it is thorough. … The material is well-written and thorough – it includes introductory material aimed at the student, then at the instructor. … this is an excellent book. If I were put in the position of needing to teach an elementary programming course … this would be high on my list of candidate textbooks.” (Robert L. Glass, The Software Practitioner, January-February, 2010)
“This nicely written and enjoyable textbook is used for the ‘Introduction to programming’ course taught at ETH (Eidgenössische Technische Hochschule Zürich) to all entering computing science students. … In addition to the excellent book, Meyer provides an outstanding web site (http://touch.ethz.ch/) with a huge amount of material including course slides, video recording of lectures, slides for exercise sessions, a lot of information for instructors, software downloads, and, of course, blogs and wikis.” (Haim Kilov, Zentralblatt MATH, Vol. 1188, 2010)
From the Back Cover
From object technology pioneer, Design by Contract inventor and ETH Zurich professor Bertrand Meyer, winner of ACM Software System Award, the Dahl-Nygaard prize and the Jolt award, Touch of Class is a revolutionary introductory programming textbook that makes learning programming fun and rewarding.
Instead of the traditional low-level examples, Meyer builds his presentation on a rich object-oriented software system supporting graphics and multimedia, which students can use to produce impressive applications from day one, then explore "from the outside in" as they learn new programming techniques.
Unique to Touch of Class is the combination of a practical, hands-on approach with sound theory. Throughout the presentation of software concepts, the book relies on the principles of Design by Contract, critical to software quality and providing a gentle introduction to formal methods.
The coverage is notable in both its depth and its breadth. In addition to core programming concepts such as control structures, algorithms and fundamental data structures, it encompasses recursion (including theory and implementation), reference and pointer manipulation, inheritance and associated techniques of polymorphism and dynamic binding, topological sort as an example of algorithm and API design, syntax description techniques, important design patterns such as Observer and Visitor, event-driven programming, high-level function closures (including an introduction to lambda calculus) and software tools. The final chapter is a detailed introduction to the challenges and techniques of software engineering, from lifecycle models to requirements analysis.
The use of full color brings exciting programming concepts to life.
Touch of Class gives students the leading edge by teaching both the fundamental techniques of programming and the professional-level skills preparing them for the challenges of modern software engineering.