Learning to program (for the first time) means to adjust your own thought patterns to match a new way of thinking. It is not just a series of facts to memorise (although there are some) and it is not just a technique you can apply without thought (although you will learn a few good techniques). It is like learning a new language, you need to make real changes to how you think.

These readings provide some guidance on study skills that support such learning: