Lade Daten...

Note: this page can be reached via

Your Main Source of Information: Our Wiki, including FAQs

For everything related to the course itself, we refer you to our wiki, which contains lots of useful (and important) information. In fact, go there right now and read your way through it.

Important: At the very least, perform all the necessary registrations described there as soon as humanly possible!



The slides posted here are initially those used in the previous edition of this class, but are updated throughout the semester. Typically, the slides with red titles and serif fonts are not shown during the lecture, but are delivered orally.

  1. Andreas Mühling: Vorstellung der Kohortenbefragung Informatik (KOI), pdf
  2. Lecture 1: Introduction (Chapter 1), pdf, pptx, Last update: 2019-11-01
  3. Lecture 2: Programming by example (Chapter 2), pdf, pptx, Last update: 2019-11-01
  4. Lecture 3: Expressions, Context-Free Grammars (Chapter 3), pdf, pptx, Last update: 2019-11-11
  5. Lecture 4: Statement Forms (Chapter 4), pdf, pptx, Last update: 2020-01-09
  6. Lecture 5: “Guide to Success” + Methods (Chapter 5), pdf, pptx, Last update: 2020-01-09
  7. Lecture 6: Objects and Classes (Chapter 6), pdf, pptx, Human class, MutableRational class, Rational class, Last update: 2020-01-09
  8. Lecture 7: Arrays and ArrayLists (Chapter 11), pdf, pptx, Last update: 2020-01-09
  9. Lecture 8: Objects and Memory (Chapter 7), pdf, pptx, Last update: 2020-01-28
  10. Lecture 9: Strings and Characters (Chapter 8), pdf, pptx, Last update: 2020-01-28
  11. Lecture 10: Detecting Bugs, Object-Oriented Graphics (Chapter 9), pdf, pptx, Last update: 2020-01-09
  12. Lecture 11: Collection Classes (Chapter 13), Computational Complexity, pdf, pptx, Last update: 2020-01-28
  13. Lecture 12: Files, Exception handling (Chapter 12.4), pdf, pptx, Last update: 2020-01-28
  14. Lecture 13: Event-driven Programs (Chapter 10), pdf, pptx, Last update: 2019-09-05
  15. Lecture 14: Wrap-Up - MVC, Concurrency, Race Conditions (Chapter 14), pdf, Last update: 2020-01-28
  16. Lecture 15: Going Beyond the ACM Library, pdf, pptx, Last update: 2020-01-29

Grateful acknowledgement: the slides are extended versions of the original slides provided by the author of our text book, Eric S. Roberts, reposted here with kind permission.

Recitation Class

These are little programs we developed in recitation class. The list will be updated as the semester progresses.


Past Midterm Tests and Final Exams

Here are the past midterm tests and final exams, along with our sample solutions. We recommend trying to work through the tests and exams yourself before looking at the answers.

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.