I would also suggest Introduction to Computer Science and Programming from OpenCourseWare:
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Compute...
It's the right approach, they teach you the concepts so that you can pick up any language and run with it. It uses Python but it's not about Python, which is a clean language that has a great support system (perhaps the most essential part in learning how to code).