Learning
I think learning is a difficult topic as it is extremely individual and is also one of the most important skills to have. Moreover, learning is a process as well, and in order to become a skilled learner you need to not only try different methods but also be able to evaluate yourself in a good and non-discriminate way.
Reading versus doing
I am an avid reader; therefore, it is easy for me to go through and read a lot on a subject; this is just the accumulation of knowledge, and to get intrinsic practical experience, it is important to "do things" as well. I have not solved how to do this best; I do not know if it is wiser to work hard on a practical problem before reading oneself up on the theory rather than the other way around.
I think that your "concentration-time" is limited, and those hours should be delegated to practice and to problem-solve, then use the spare "recovery time" to read up on theory.
Links
- Egghed: Free courses on programming etc
- On learning, writing what you learn.
- Hacker News discussion on best free courses
- Deliberate Practice
- 10 things software engineers should know about learning.
- Reflective learning
- HN: Thread on Learning every day.