1) Real world examples of algorithms. I really wanted to get into algorithms and data structures, but it was always hard to find an actual reason for things.
2) More than anything, contributing to open source projects taught me how to code, how to read and edit existing code, and how to collaborate with other developers. In terms of early stages, Learn Python the Hard Way was huge, because it introduced me to all the OTHER online resources (like Stack Overflow) that were available. I also found some of the Udacity videos helpful.