You know and we know that it’s totally possible to learn to code for free...
If you can teach yourself how to write code, you gain a competitive edge over your peers, you can think more algorithmically and thus can tackle problems more efficiently.
But what are the best resources to achieve that?
Whether you already have some knowledge under your belt or have never typed a line of code before, start by exploring your options on these fantastic websites.
| |
Online Courses & Screencasts |
Programming Books (Free) |
| JavaScript |
Code Academy,Learn Street,Code Combat,Code Avengers |
Eloquent JavaScript,JavaScript Guide,Speaking JS,JS The Right Way,Oh My JS,Canvassing |
| HTML & CSS |
Code Academy,Don’t Fear The Internet,Tutsplus,Learn Layout,A to Z CSS,Dash,Web Accessibility,The Hello World,Khan Academy,HTML5 from Scratch |
Mozilla,Dive into HTML5,20 Things I Learned,HTML Dog,HTML & CSS,HTML5 for Designers,DOM Enlightenment,HTML Canvas |
| jQuery |
Code Academy,Tutsplus,Code School |
jQuery Fundamentals,Learn jQuery |
| Python |
Code Academy,Google,Learn Street,Python Tutor,IHeartPY |
Python for You and Me, Dive into Python,Learn Python the Hard Way,Think Python,Python for Fun,Tango with Django,Django |
| Ruby & Ruby on Rails |
Code Academy,TryRubyCode Learn,Railscasts,Rubymonk,Learn Street |
Why’s (Poignant) Guide to Ruby,Learn Ruby the Hard Way,Learn to Program,Learn Rails by Example |
| PHP |
Code Academy |
PHP Programming,Practical PHP |
| Also see:How to Learn Regular Expressions (RegEx) |
| Google Apps Script |
Getting Started,Office Hours,Google Scripts Examples,Learning Apps Script |
| WordPress |
Treehouse,WordPress TV |
| Linux & Shell Scripting |
Stanford.edu,Explain Shell |
Conquer the Command Line |
| Node.js |
Nodetuts,Node School |
The Node Beginner Book,Mixu’s Node book,Node Up and Running,Mastering Node.js |
| Angular JS |
Code School,Egg Head,Learn Angular |
Angular JS Tutorial,Thinking Angular,Angular Tutorial,Getting Started (Adobe) |
| Also see:Learn Touch Typing & Code Faster |
| Git (version control) |
Code School,Git Immersion,GitHub Training,Udacity |
Pro Git,Learn Git,Gists in Github |
| Objective-C (iOS & Mac) |
Code School,Stanford,iTunesU |
| Chrome Dev Tools |
Code School,Dev Tools Secret,Chrome Dev Tools Tutorial,Udacity,Building Browser Apps |
| Go Language |
Golang.org,GopherCasts |
Programming in Go,Go by Example,Learning Go,Building Web Apps with Go,Learning Go |
| Java |
Learn Java,Coding Bat,Java Udemy,Learneroo |
Programming in Java,Thinking in Java,O’Reilly Learning Java,Think Java,Java & CS,Java for Python Devs |
| Android App Development |
Udacity (Google Developers),Coursera,The New Boston,Google University,App Development Essentials,Code Learn,App Inventor (Visual) |
| D3 (data visualization) |
Data Visualization for the Web,Dashing D3,D3 Tips & Tricks |
| Also see:Learn VIM, the text editor for programmers |
| SQL (Databases) |
SQL Zoo,SQL @Stanford,Essential SQL,SQL for Nerds,Intro to SQL,SQL Bolt,PHP & MySQL |
| Everything Else |
Udacity,edX.org,Coursera,Udemy$,Lynda$,Pluralsight$,Treehouse$,Open Consortium,One Month Rails$ |
Kids and Coding
For kids, you should download either Tynker (Android/iOS) or the Hopscotch app for iPad and they can learn the basics of programming through games and puzzles.
There’s also Scratch, an MIT project that allows kids to program their own stories and games visually. Scratch is available as a web app or you can download it on your Mac/Windows/Linux computer for offline use.
Microsoft TouchDevelop, Blockly and Alice are some other web apps that will introduce the concepts of computer progamming to your children.