The origins of programming -- Procedural programming basics in Java -- Getting into object oriented programming -- Library classes and packages -- Modelling the world the object oriented way -- Dealing with errors -- Deeper into arrays and collections -- Adding a graphical user interface -- Example applications.