Lecture #01: Introduction
Lecture #02: Java Basics
Lecture #03: Expressions
Lecture #04: Control Flow, Random Numbers
Lecture #05: Static Methods
Lecture #06: Arrays and ArrayLists
Lecture #07: Classes Introduction
Lecture #08: Classes and Composition
Lecture #09: Inheritance
Lecture #10: Polymorphism
Lecture #11: Binding
Lecture #12: Abstract Classes
Lecture #13: Interfaces
Lecture #14: Nested Classes
Lecture #15: Exceptions and IO
Lecture #16: Generics
Lecture #17: Simple GUI & Event
Lecture #18: Introduction to Part 2
Lecture #19/20: Object-Oriented Modelling with UML
Lecture #21: Design Objectives and SOLID Principles