Apress Access

Touch of Class

Learning to Program Well with Objects and Contracts

By Bertrand Meyer

  • eBook Price: $59.95
Buy eBook Buy Print Book

Touch of Class Cover Image

This text combines a practical, hands-on approach to programming with the introduction of sound theoretical support focused on teaching the construction of high-quality software. A major feature of the book is the use of Design by Contract.

Full Description

  • Add to Wishlist
  • ISBN13: 978-3-5409-2144-8
  • 940 Pages
  • User Level: Students
  • Publication Date: June 29, 2009
  • Available eBook Formats: PDF
Full Description
From object technology pioneer and ETH Zurich professor Bertrand Meyer, winner of the Jolt award and the ACM Software System Award, a revolutionary textbook that makes learning programming fun and rewarding. 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 understand inside out as they learn new programming techniques. Unique to Touch of Class is a combination of a practical, hands-on approach to programming with the introduction of sound theoretical support focused on helping students learn the construction of high quality software. The use of full color brings exciting programming concepts to life. Among the useful features of the book is the use of Design by Contract, critical to software quality and providing a gentle introduction to formal methods. Will give students a major advantage by teaching professional-level techniques in a literate, relaxed and humorous way.
Table of Contents

Table of Contents

  1. Prefaces.
  2. I. Basics.
  3. The industry of pure ideas.
  4. Dealing with objects.
  5. Program structure basics.
  6. The interface of a class.
  7. Just enough logic.
  8. Creating objects and executing systems.
  9. Control structures.
  10. Routines, functional abstraction and information hiding.
  11. Variables, assignment and references.
  12. II. How things work.
  13. Just enough hardware.
  14. Describing syntax.
  15. Programming languages and tools.
  16. III. Algorithms and data structures.
  17. Fundamental data structures, genericity, and algorithm complexity.
  18. Recursion and trees.
  19. Devising and engineering an algorithm: Topological Sort.
  20. IV. Obejct
  21. oriented techniques.
  22. Inheritance.
  23. Operations as objects: agents and lambda calculus.
  24. Event
  25. driven design.
  26. Program correctness and proofs.
  27. V. Towards Software Engineering.
  28. Introduction to software engineering.
  29. VI. Appendices.
  30. A: An introduction to Java (from material by Marco Piccioni.
  31. B: An introduction to C# (from material by Benjamin Morandi).
  32. C: An introduction to C++ (from material by Nadia Polikarpova).
  33. D: From C++ to C.
  34. E: Using the EiffelStudio environment.
  35. VII. Credits and index.

If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.

On page 843:

URL touch.ethz.ch/eiffelstudio returns 404 not found (2014-04-16)


    1. PHP Objects, Patterns, and Practice


      View Book

    2. Beginning Android 3D Game Development


      View Book

    3. Troubleshooting Oracle Performance


      View Book

    4. Beginning Amazon Web Services with Node.js


      View Book