1. Environment Configuration and Java Language History
2. Java Loops
3. Classes, Methods and Fields
4. Constructors and more on methods
5. String and Arrays
6. Inheritance (Object Oriented Principles)
7. Encapsulation (Object Oriented Principles)
8. Abstraction (Object Oriented Principles)
9. Polymorphism (Object Oriented Principles)
10. Generic Types, Collections and Maps
11. Exceptions
12. Final test