Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 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.

  1. The first draft that is free to download.

...

  1. The "International Edition" (ISBN-13 978-1-292-02603-9), which has an additional chapter about event-driven programming.

...

  1. 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:*

...

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

...

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.

...