This book does a very good job of teaching programming. It uses python because it's a simple language to pickup, but once they've finished it you can teach them C++ and they'll have a much higher success rate than just going straight into C++.
I've found that just teaching people the language isn't good enough. You have to teach them how to think like a programmer.