The first chapter, Basic Java, covers some of the fundamentals of the Java language. If you have some Java experience you can skip this chapter. The second chapter, Inheritance, Polymorphism, and Interfaces, cover the main tenets of an object oriented programming language. The third chapter, Design Patterns, covers nine common design patterns. A design pattern is a solution to a well known problem that can be applied in different contexts. I discuss the general problem/solution pair first and then apply each one to a specific context.