At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.
Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
It is free. It is great. It is not the easy way, its the best way: the hard way.
There also is MIT OpenCourseWare http://ocw.mit.edu/
I do suggest learn python the hard way first though.
Depends on which language you want to learn, lots of beginners start with python or basic. I started with a language called "Lua" and later branched out to C++ Java and C# though it's entirely possible to start with any language you like as long as you're willing to put time and effort into learning it. :)
Just don't focus so much time on what language you should be learning in the beginning. It causes a lot of frustration for some beginners because they get caught in a cycle of thinking one language is better than the other when they barely know any of the basic concepts. A lot of languages get hyped up continuously as well, trying to suck people into the bandwagon. Pick one, stick with it, get good at it, then learn more.