The Best Websites to Learn Coding Online

The Best Websites to Learn Coding Online

The Learn to Code movement, with the backing of the likes of Obama and Bill Gates, is picking up momentum worldwide and that is actually a very good thing as even basic programming skills can have a major impact. If you can teach yourself how to write code, you will gain a competitive edge over your peers, you can think more algorithmically and thus can tackle problems more efficiently.Don’t just download the latest app, help redesign it. Don’t just play on your phone, program it. — Obama.

There’s no reason why shouldn’t know the basics of coding. You can automate tasks, you can program your Excel sheets, improve workflows, you can extract data from websites and accomplish so much more with code. You may not be in the business of writing software programs but knowing the basics of coding will help you communicate more effectively with developers.

Gone are the days when you had to enroll in expensive computer training classes as now exist a plethora of web-based courses that will help you learn programming at your own pace in the comfort of your web browser.

The Best Sites to Learn Programming

If you are ready to take the plunge, here are some of the best websites that offer courses in a variety of programming languages for free. I have also added a list of companion ebooks that will give you a more in-depth understanding of the language and they don’t cost anything either.

**Online Courses****Programming Books (Free)**
JavaScript[Code Academy](http://www.codecademy.com/tracks/javascript), [Learn Street](https://www.learnstreet.com/lessons/study/javascript), [Khan Academy](https://www.khanacademy.org/computing/cs), [Code Combat](http://codecombat.com/), [Code Avengers](http://www.codeavengers.com/javascript)[Eloquent JavaScript](http://eloquentjavascript.net/), [JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide), [Speaking JavaScript](http://speakingjs.com/es5/), [JS The Right Way](http://jstherightway.org/), [Oh My JS](https://leanpub.com/ohmyjs/read)
HTML & CSS[Code Academy](http://www.codecademy.com/tracks/web), [Don’t Fear The Internet](http://www.dontfeartheinternet.com/), [Tutsplus](http://courses.tutsplus.com/courses/30-days-to-learn-html-css), [Learn Layout](http://learnlayout.com/), [A to Z CSS](http://www.atozcss.com/), [Dash](https://dash.generalassemb.ly/), [Web Accessibility](https://webaccessibility.withgoogle.com/course), [The Hello World](http://www.thehelloworldprogram.com/web-development/)[Mozilla](https://developer.mozilla.org/en/learn), [Dive into HTML5](http://diveintohtml5.info/), [20 Things I Learned](http://www.20thingsilearned.com/en-US), [HTML Dog](http://www.htmldog.com/guides/), [HTML & CSS](http://learn.shayhowe.com/html-css/), [HTML5 for Designers](http://html5forwebdesigners.com/), [DOM Enlightenment](http://domenlightenment.com/)
jQuery[Code Academy](http://www.codecademy.com/tracks/jquery), [Tutsplus](http://courses.tutsplus.com/courses/30-days-to-learn-jquery), [Code School](http://try.jquery.com/)[jQuery Fundamentals](http://jqfundamentals.com/), [Learn jQuery](http://learn.jquery.com/)
Python[Code Academy](http://www.codecademy.com/tracks/python), [Google](https://developers.google.com/edu/python), [Learn Street](https://www.learnstreet.com/lessons/study/python), [Python Tutor](http://pythontutor.com/), [IHeartPY](http://www.iheartpy.com/)[Python for You and Me](http://pymbook.readthedocs.org/en/latest/),  [Dive into Python](http://www.diveintopython.net/), [Learn Python the Hard Way](http://learnpythonthehardway.org/book), [Think Python](http://www.greenteapress.com/thinkpython/), [Python for Fun](http://www.openbookproject.net/py4fun/), [Tango with Django](http://www.tangowithdjango.com/book/), [Django](http://www.djangobook.com/en/2.0/index.html)
Ruby & Ruby on Rails[Code Academy](http://www.codecademy.com/tracks/ruby), [TryRuby](http://tryruby.org/) [Code Learn](http://www.codelearn.org/), [Railscasts](http://railscasts.com/), [Rubymonk](https://rubymonk.com/), [Learn Street](https://www.learnstreet.com/lessons/study/ruby)[Why’s (Poignant) Guide to Ruby](http://mislav.uniqpath.com/poignant-guide/), [Learn Ruby the Hard Way](http://ruby.learncodethehardway.org/book/), [Learn to Program](https://pine.fm/LearnToProgram/), [Learn Rails by Example](http://www.railstutorial.org/book)
PHP[Code Academy](http://www.codecademy.com/tracks/php)[PHP Programming](http://en.wikibooks.org/wiki/PHP_Programming), [Practical PHP](http://www.tuxradar.com/practicalphp)
Google Apps Script[Getting Started](https://developers.google.com/apps-script/overview), [Office Hours](http://www.youtube.com/playlist?list=PL68F511F6E3C122EB), [Google Scripts Examples](http://www.labnol.org/internet/google-scripts/28281/), [Learning Apps Script](https://gist.github.com/labnol/0b67f812a827fd9babc5)
WordPress[Treehouse](http://teamtreehouse.com/library/topic:wordpress), [WordPress TV](http://wordpress.tv/)
Linux & Shell Scripting[Stanford.edu](http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=PracticalUnix), [Explain Shell](http://explainshell.com/)[Conquer the Command Line](http://conqueringthecommandline.com/book)
Node.js[Nodetuts](http://nodetuts.com/), [Node School](http://nodeschool.io/)[The Node Beginner Book](http://www.nodebeginner.org/), [Mixu’s Node book](http://book.mixu.net/node/), [Node Up and Running](http://chimera.labs.oreilly.com/books/1234000001808/index.html), [Mastering Node.js](http://visionmedia.github.io/masteringnode/)
Git (version control)[Code School](https://try.github.io/), [Git Immersion](http://gitimmersion.com/), [GitHub Training](https://www.youtube.com/user/GitHubGuides)[Pro Git](http://git-scm.com/book), [Learn Git](https://www.git-tower.com/learn/ebook)
Objective-C (iOS & Mac)[Code School](http://tryobjectivec.codeschool.com/), [Stanford](https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550), [iTunesU](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10)
Chrome Dev Tools[Code School](https://www.codeschool.com/courses/discover-devtools), [Dev Tools Secret](http://devtoolsecrets.com/), [Chrome Dev Tools Tutorial](http://www.labnol.org/software/chrome-dev-tools-tutorial/28131/), [Udacity](https://www.udacity.com/course/ud884)
Go Language[Golang.org](http://tour.golang.org), [GopherCasts](https://gophercasts.io/)[Programming in Go](http://www.golang-book.com/), [Go by Example](https://gobyexample.com/), [Learning Go](http://archive.miek.nl/projects/learninggo/index.html)
Java[Learn Java](http://www.learnjavaonline.org/), [Coding Bat](http://codingbat.com/java), [Java Udemy](https://www.udemy.com/java-tutorial), [Learneroo](http://www.learneroo.com/subjects/6)[Programming in Java](http://introcs.cs.princeton.edu/java/home/), [Thinking in Java](http://www.mindview.net/Books/TIJ/), [O’Reilly Learning Java](http://chimera.labs.oreilly.com/books/1234000001805/index.html), [Think Java](http://greenteapress.com/thinkapjava/html/index.html), [Java & CS](http://chortle.ccsu.edu/java5/index.html), [Java for Python Devs](http://interactivepython.org/runestone/static/java4python/index.html)
Android App Development[Udacity](https://www.udacity.com/course/ud853) (Google Developers), [Coursera](https://www.coursera.org/course/android), [The New Boston](http://thenewboston.org/list.php?cat=6), [Google University](https://developers.google.com/university/courses/mobile), [App Development Essentials](http://www.techotopia.com/index.php/Android_4_App_Development_Essentials), [Code Learn](http://www.codelearn.org/android-tutorial), [App Inventor](http://appinventor.mit.edu/explore/) (Visual)
D3 (data visualization)[Data Visualization for the Web](http://chimera.labs.oreilly.com/books/1230000000345/index.html), [Dashing D3](https://www.dashingd3js.com/), [D3 Tips & Tricks](https://leanpub.com/D3-Tips-and-Tricks)
SQL (Databases)[SQL Zoo](http://sqlzoo.net/wiki/Main_Page), [SQL @Stanford](https://class.stanford.edu/courses/DB/SQL/SelfPaced/courseware/ch-sql/seq-vid-introduction_to_sql/), [Essentail SQL](http://www.essentialsql.com/getting-started/), [SQL for Nerds](http://philip.greenspun.com/sql/)
Everything Else[Udacity](https://www.udacity.com/), [edX.org](https://www.edx.org/), [Coursera](https://www.coursera.org/), [Udemy](https://www.udemy.com/)$, [Lynda](https://www.lynda.com/)$, [Pluralsight](http://www.pluralsight.com/training)$, [Treehouse](http://teamtreehouse.com/)$, [Open Consortium](http://www.oeconsortium.org/), [One Month Rails](https://onemonthrails.com/)$
### Teach Kids to Code

If there are kids in the family, 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. Blockly and Alice are some other desktop apps that will introduce the concepts of computer progamming to your children.

On a related note, the following chart from Google Trends shows the relatively search popularity of various programming languages over the last 5 years. JavaScript clearly has maintained the lead.

programming language