"Learn Python the Hard Way" is what I'm using now and it's been pretty awesome at making me figure out where my scripts/programs went wrong so I can fix them myself and learn from my mistakes. They also have a bunch of other languages such as Ruby if Python isn't your thing.