In programming it is crucial, to have an excellent grasp of the current material, before continuing to the next one.
Although usually in class there is a lack of time to really stay and repeat on hard topics or it may be hard to concentrate at a particular moment or for a long periods of time, but then the teacher goes on the next topic and since it relies on the previous one. It would be even harder to follow.
Therefore I have prepared this course for you. My approach is to have a solid foundations in the most essential programming knowledge and over explain these topics as they are so important, and by that you will be able to further your knowledge and know exactly what you are doing, instead of only knowing by theory.
Once you are trained in thinking like a programmer, you will be able to grasp new study materials in the future, since you have mastered similar things in different forms and gotten used to a new kind of thinking and learning.
Thinking Like a Pro Java Programmer was designed to make you understand and be confident programmers.