Page tree
Skip to end of metadata
Go to start of metadata

 Documentation

The Book

Our main source for the lecture is the book *The Art and Science of Java* by Eric S. Roberts (Stanford University). The book does not assume that the reader has programming experience and explains all concepts from scratch. For advanced programmers this book might be a bit slow and the sources listed below might be more appropriate. The book is suited to study for the exam or to review the lecture. Every chapter has a summary, programming tasks, and **review questions**. The answers to the review question can be found here.

There are three different versions of the book:

  1. The first draft that is free to download.
  2. The "International Edition" (ISBN-13 978-1-292-02603-9), which has an additional chapter about event-driven programming.
  3. The "US Edition" (ISBN-13 978-0321486127), which adds chapters about Java Collections, concurrency, and the MVC-Pattern to the International Edition. Not all but most material that will be presented in the lecture is from this edition. The lecture slides also refer to chapter numbers from this edition.

There is also additional material that complements the book:

  • The code for every chapter can be found here.
  • There exist videos in which Mehran Sahami (Stanford University), who holds Stanford programming lecture, which is based on the book. They do not substitute for the book (also, since their and our lecture are different) but can help you to get a second explanatory approach. Furthermore, the final exam will only cover the contents of our lecture.
  • Mehran Sahami gave an interview in which he gives general advice to computer science students.

More books and introductions

Here are a few more books and tutorials that you may want to refer to. They are not part of our official material, though.

  • "Java ist auch eine Insel" by Christian Ullenboom is a very comprehensive book, which is available for free online.
  • "Head First Java" (or the German translation "Java von Kopf bis Fuß") is a good introduction to Java programming.
  • The Java tutorials by oracle give a short introduction to most language features.
  • No labels