I would recommend one thing, and maybe this is just me, but I love learning from a project-based standpoint; working on a project over time and learning different things that got you through it can help with the whole picture of software development.