Touch of Class

Learning to Program Well with Objects and Contracts

  • Bertrand Meyer

Table of contents

  1. Front Matter
    Pages i-lxiv
  2. Basics

    1. Front Matter
      Pages 1-1
    2. Bertrand Meyer
      Pages 3-14
    3. Bertrand Meyer
      Pages 15-34
    4. Bertrand Meyer
      Pages 35-46
    5. Bertrand Meyer
      Pages 47-70
    6. Bertrand Meyer
      Pages 71-106
    7. Bertrand Meyer
      Pages 107-138
    8. Bertrand Meyer
      Pages 139-210
    9. Bertrand Meyer
      Pages 227-270
  3. How things work

    1. Front Matter
      Pages 271-271
    2. Bertrand Meyer
      Pages 273-294
    3. Bertrand Meyer
      Pages 295-320
    4. Bertrand Meyer
      Pages 321-360
  4. Algorithms and data structures

    1. Front Matter
      Pages 361-361
    2. Bertrand Meyer
      Pages 435-504
  5. Object-Oriented Techniques

    1. Front Matter
      Pages 549-549
    2. Bertrand Meyer
      Pages 551-618
    3. Bertrand Meyer
      Pages 663-698
  6. Towards software engineering

    1. Front Matter
      Pages 699-699
    2. Bertrand Meyer
      Pages 701-744
  7. Appendices

    1. Front Matter
      Pages 745-745
    2. Bertrand Meyer
      Pages 839-842
    3. Bertrand Meyer
      Pages 843-846
    4. Bertrand Meyer
      Pages 847-847
  8. Back Matter
    Pages 745-876

About this book


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.


C++ Java complexity data structures design programming software engineering

Authors and affiliations

  • Bertrand Meyer
    • 1
  1. 1.Department of Computer ScienceETH ZürichZürichSwitzerland

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag Berlin Heidelberg 2009
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-540-92144-8
  • Online ISBN 978-3-540-92145-5
  • Buy this book on publisher's site