Free Online Programming Lessons

If you’ve always wanted to learn to program, but had no idea where to start, here are some tutorials you might want to check out.

Poignant Guide to Ruby

Poignant guide to Ruby

This is an excellent introduction to the programming language written by a guy who used the moniker “Why The Lucky Stiff.” This humorous guide takes you through a orld of star monkeys and chunky bacon, among others. Why left it hanging, along with his other projects, when he walked away from his persona and his work suddenly, but the guide still stands as a hilarious and helpful guide to Ruby

Think Python

Think Python

Think Python is a more rigorous introduction to Python that takes you systematically through the language. The goal is to teach you to “think like a computer scientist.” If you have no experience with programming and only know a little bit about computers, this is for you. If you go through the chapters in order, you start at the very basics of programming, from what programming is to variables, to functions, to recursion, to object-oriented programming, and debugging.

Mozilla Developer Network

Mozilla Developer Network

Mozilla’s been a longtime proponent of open Web technologies and standards, and their commitment to open knowledge shows on their Developer Network. Any budding Web developer should check this site out. Though it may not be for raw beginners, they have an excellent tutorial on JavaScript that’s useful for any developer wanting to switch gears into developing for the Web.

Google Code University

Google Code University

Google also hosts some excellent tutorials on Google Code University. They’re also heavily focused on Web development, which isn’t surprising since they’re the biggest Web application developer in the world. You can learn basic HTML, CSS, and JavaScript, AJAX, and basic Linux commands and C++.

MIT Open Courseware

MIT Open Courseware

We’ve covered MIT Open Courseware before as a source of excellent free math and science tutorials, but I want to draw special attention to its introductory computer science courses available. EECS 6.00 is a full course using Python that’s aimed at people with little or no programming experience and includes a readings, video lectures, exercises, and exams (though they’re not graded, fortunately). More advanced students should also check out 6.001: Structure and Interpretation of Computer Programs, which uses Scheme, a programming language derivied from Lisp. The textbook also happens to be available for free on the Web.

Learn Python the Hard Way

Learn Python the Hard Way

Another guide to Python (I’d like to thank Kyle Wild for reminding me about hits on Twitter) is Learn Python the Hard Way, by Zed Shaw. This is for people who have absolutely no experience with programming. He leads you through getting an editor and downloading Python, all the way to object-oriented programming, with a characteristic deadpan sense of humor.

This should whet your appetite for coding. We’ve covered MIT Open Courseware in 5 Best Free Math and Science On-line. The C2 wiki, which also discusses programming, is mentioned in Geeky Wikis You Don’t Want to Miss.