Try the eBook free for 7 days on your Fire, iOS, Android, PC, or Mac.

  • List Price: $79.95
  • Save: $15.99 (20%)
Only 8 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Touch of Class: Learning ... has been added to your Cart
Sell yours for a Gift Card
We'll buy it for $13.58
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Touch of Class: Learning to Program Well with Objects and Contracts Hardcover – September 11, 2009

3 customer reviews
ISBN-13: 978-3540921448 ISBN-10: 3540921443 Edition: 1st ed. 2009. Corr. 2nd printing 2013

Buy New
Price: $63.96
31 New from $50.32 25 Used from $46.03
Rent from Amazon Price New from Used from
"Please retry"
"Please retry"
$50.32 $46.03
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now
$63.96 FREE Shipping. Only 8 left in stock (more on the way). Ships from and sold by Gift-wrap available.

Frequently Bought Together

Touch of Class: Learning to Program Well with Objects and Contracts + Object-Oriented Software Construction (Book/CD-ROM) (2nd Edition)
Price for both: $175.41

Buy the selected items together

Editorial Reviews


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 ( 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.

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 876 pages
  • Publisher: Springer; 1st ed. 2009. Corr. 2nd printing 2013 edition (September 11, 2009)
  • Language: English
  • ISBN-10: 3540921443
  • ISBN-13: 978-3540921448
  • Product Dimensions: 9.7 x 7 x 1.8 inches
  • Shipping Weight: 5.3 pounds (View shipping rates and policies)
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Best Sellers Rank: #802,587 in Books (See Top 100 in Books)

More About the Author

Bertrand Meyer is Chief Architect of Eiffel Software (based in California, and Professor of Software Engineering at ETH Zurich, the Swiss Federal Institute of Technology. He is also head of the Software Engineering Laboratory at ITMO University, Saint Petersburg.

He is the initial designer of the Eiffel method and language and has continued to participate in its evolution. He also directed the development of the EiffelStudio environment, compiler, tools and libraries through their successive versions.

His latest book, published in May 2014, is an irreverent, in-depth introduction to agile methods: "Agile! The Good, the Hype and the Ugly", the first book to take a critical look at agile development and sort out the productive and damaging ideas.

His previous book is an influential an introduction to programming, "Touch of Class: Learning to Program Well, Using Object Technology and Contracts", based on more than a decade of teaching introductory programming at ETH and now supported by a MOOC (

Earlier books include "Object-Oriented Software Construction" (a general presentation of object technology, winner of the 1998 Jolt Award); "Eiffel: The Language" (description of the Eiffel language); "Object Success" (a discussion of object technology for managers); "Reusable Software" (a discussion of reuse issues and solutions); "Introduction to the Theory of Programming Languages". He has also authored numerous articles (see publication list) and edited or co-edited several dozen conference proceedings, including the 2005 "Verified Software".

Other activities include: chair of the TOOLS conference series (running since 1989, hosted at ETH since 2007, next year session in Malaga, Spain); director of the LASER summer school on software engineering (taking place every year since 2003 in early September in Elba island, Italy); member, and chair since 2009, of the IFIP TC2 committee (Software technology); member of the IFIP Working Group 2.3 on Programming Methodology; member of the French Academy of Technologies. He is also active as a consultant (object-oriented system design, architectural reviews, technology assessment), trainer in object technology and other software topics, and conference speaker.

Awards include ACM Software System Award, IEEE Harlan D. Mills prize, Fellow of the ACM, Dahl-Nygaard Prize, and an honorary doctorate from ITMO University(Russia).

Prior to founding Eiffel Software in 1985, Meyer had a 9-year technical and managerial career at EDF, and was for three years on the faculty at the University of California. His experience with object technology through the Simula language, as well as early work on abstract data types and formal specification (including participation in the first versions of the Z specification language) provided some of the background for the development of Eiffel.

At ETH Zurich he pursues research on the construction of high-quality software (see Web site of the Chair of Software Engineering at

Customer Reviews

5 star
4 star
3 star
2 star
1 star
See all 3 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

11 of 17 people found the following review helpful By Robert Maltz on April 13, 2013
Format: Hardcover Verified Purchase
If you want to learn how to program and how to correctly solve problems of arbitrary scale and complexity using the computer, you must learn the material in this book (as well as in Bertrand Meyer's Object-Oriented Software Development book.) If you'd rather spend your time memorizing the myriad meaningless keystrokes needed to get and keep a job in today's software development marketplace, then go elsewhere.

I ought to expand on the above remarks, which may seem a bit strident and extreme. But the software industry is using tools and technology barely able to cope with one-page programs. Larger scale programs either fail completely, or they are loaded with errors and do not perform as hoped. They almost never scale up to the load intended.

Some recent wrecks, for example: Mitt Romney's wonderful election-day deployment software; and most recently, the failing Obamacare website. From the past there are wrecks all over the landscape such as the London Stock Exchange fiasco and the Iridium project.

What other branch of engineering or science calls failures "bugs"? If a bridge or a building collapses, we don't just shrug it off as a bug. Software nowadays controls military and civilian projects of critical importance, let alone spreadsheets and word processors.

Fortunately the technology exists to vastly improve the situation. A big step in that direction would be the widespread mastery and use of the Eiffel method and language as expounded in Bertrand Meyer's books.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
19 of 31 people found the following review helpful By Edward C. H. Deveaux on November 9, 2009
Format: Hardcover Verified Purchase
From the man who invented eiffel. An excellent introduction to software development the right way. Examples and the software development environment is available as a free download. The approach used in this book is useful for the beginner as well as an experienced programmer. Software runs on Linux, Mac OS x,
and Windows.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
0 of 6 people found the following review helpful By Richard Warren on March 11, 2015
Format: Kindle Edition Verified Purchase
I absolutely love the book, and only wish that Amazon's own app for Windows Phone 8.1 could display it as part of their "Read Everywhere" marketing pledge. The Amazon Kindle app (v2.0.0.7) reports an error downloading because they don't support their own Kindle book format. Granted that there's a "compatibility" drop-down on the Amazon web page, but I've never had to check that before on any of my hundreds of Kindle purchases. I will going forward, and make purchasing decisions based on their lack of support.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Touch of Class: Learning to Program Well with Objects and Contracts
This item: Touch of Class: Learning to Program Well with Objects and Contracts
Price: $63.96
Ships from and sold by

What Other Items Do Customers Buy After Viewing This Item?