I've had a great experience with Udacity. As a bit of a background, I was an EE in undegrad so I took a few CS courses but I've barely done any coding professionally so I needed to "re-learn" programming. I like Udacity because most of the course work is in Python (good for most types of development), the lectures only go a few minutes before you are quizzed on knowledge (active learning), the course is self paced, and you build on a mini-project across the course (building the blocks of a search engine).
I definitely agree with @hoodoof that a project is essential. At the tail end of the CS 101 I got a bit bored but had a side project I was working on as well. I ended up focusing more time on the side project since it was more fun and challenging, but Udacity helped build some fundamentals and jump start the learning. I'd try combining an online course like Python and mini projects (maybe small data analysis projects at Crowdflower or mini web tools).
Also, as a suggestion, I'd suggest considering web side projects even if you don't use it at Crowdflower. There's something incredibly exciting about deploying a tool for people to publicly see on the web that makes programming stick for newbies (at least me). Once you build the motivation, you can assign side projects that are more useful for the company.
I used to work for the big G where they had a few programs to learn to code (but it never worked for me) - let me know if you want to know why they didn't work.