Chart for Learning a Programming Language

Note: An updated version of this chart is now available on Learneroo.com.

The previous chart helped beginners pick a language, this one shows them what resources to use to learn it. It’s better to spend time doing things than to passively read or watch content, so I selected interactive websites, books and courses. Start by going through an online tutorial, and then either read through some of a book or watch an online course. Personally I think a book is better than a video since they’re more concise and easier to reference, but most videos below are short and to the point. The chart is based on these posts: Picking a LanguageGeneral TipsJava and PythonWeb: HTML Javascript and PHPLearning Ruby and Rails

Free Resources For Learning a Programming Language

Java Python Ruby Javascript
Good For Kids / Game Programming Greenfoot Invent Your Own Computer Games  Hackety-Hack, Games: Ruby4Kids CodeAvengers
Interactive Tutorial – Codecademy? No, You can try Programr Yes Yes, there’s also
TryRuby
Yes
More Practice and Help CodingBat Problems Visualize Python executing
(also CodingBat)
RubyMonk*
(1st part is free)
Use Firebug or Developer Tools.
(See Waterbear for visual coding)
Good Free Book for Teaching Programming How to Think Like a Computer Scientist How to Think Like a Computer Scientist Learn to Program
Humble Little Ruby Book
Eloquent Javascript
Interactive Video Course Intro to CompSci -
Programming methodology
(Warning: full Stanford course)
Udacity – Intro to CompSci – Building a Search Engine CodeSchool’s RubyBits* .AppendTo Javascript 101
Advanced Book Effective Java* Dive Into Python 3 Pickaxe Guide* JavaScript: The Definitive Guide*
More Training / Bootcamps See Local / Online colleges See online courses or corporate PythonTraining Most Bootcamps are for Ruby on Rails Catalyst.
For kids: CodeHS.com
* Not free. Update: added affiliate code to Amazon links.