Introduction to Java

In 2014, during my PhD, I provided 4 lectures for the introductory programming course of the UvA’s Computer Science bachelor. The focus lay on introducing object oriented programming, and reviewing the established concepts.

These lectures followed the introduction of the basics of Java. The main aim of these lectures was to introduce some of the more advanced aspects of Java, but I also wanted to revisit, as much as possible the concepts that had already been taught, and to eliminate common misconceptions.

To this end, each lecture contained a number of quick quiz questions, which the students could answer by holding up one of four colored cards they had been given at the start of the lecture.

I also wanted to convey why Java is designed the way it is. I find that many students are frustrated by Java’s strictness and verbosity, so I wanted to show that there was method behind this, and that the extra effort Java requires to write is paid back in security, and early bug catching.

To make the lectures something more than just a sequential explanation of programming features, each lecture was built around a theme. Click the links to see annotated slides (Dutch only).