For years, I tried to learn programming without really getting anywhere. I tried to learn C++, then Java, then VBA, then Objective-C...
What I didn't realise was that I was trying to learn a programming language rather than learning how to program.
I joined the Introduction to Programming Nanodegree mid 2015 and in a few months I have made more progress than I previously had in years. It looks like Udacity may have a winning formula on their hands.
----------------------------------------------
UPDATE I: I did graduate from the nanodegree in 2016. I had so much fun doing this that I went on to complete the Fullstack Web Development Nanodegree that same year.
UPDATE II: I also did the Front End Nanodegree, some time ago.