Learn to code: resources for every programming language
While not everyone needs or wants to become a programmer, the benefits of code literacy extend beyond the ability to build websites—including improved abstract thinking and problem-solving skills. And as more of our lives run on software, it only makes sense to learn a bit about the languages that power our world. The need to learn to code has never been more pressing.
Luckily, there has never been a better time to learn to code. There are tons of high-quality, interactive resources out there, and more are being made available every day. Though this list is by no means exhaustive, below I’ve assembled some of the best free and paid resources for learning every programming language.
HTML & CSS
Codecademy—HTML & CSS
This seven-hour beginner course teaches you how to create websites by structuring and styling pages with HTML and CSS. (Free)
Dash
Learn HTML, CSS, and JavaScript by completing projects like a personal website, a responsive blog theme, a CSS robot, and more. (Free)
Free Code Camp
An open-source, self-paced way to learn JavaScript, HTML5, CSS3, and Node.js. (Free)
Girl Develop It—Introduction to HTML/CSS
A beginner-level introduction to HTML and CSS built by the GDI community, which is made up of industry-leading technologists, instructors, and leaders. (Free)
Girl Develop It—Intermediate HTML/CSS
An eight-hour class for those who have completed the GDI introduction or have basic knowledge of HTML and CSS. Covers HTML 5 and CSS 3. (Free)
Code Avengers—Build a Website with HTML and CSS
Three levels—basic, intermediate, and web development—with 20 lessons each. (Introductory level is free, additional levels are $29 each.)
Code School—HTML/CSS
Eight courses in HTML and CSS, covering the fundamentals of design, front-end development, and “crafting user experiences that are easy on the eyes.” ($29/month)
Team Treehouse—HTML
Learn the basics of HTML through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
Team Treehouse—CSS
Learn the latest CSS techniques through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
JavaScript
JavaScript Koans
Teaches JavaScript programming through testing. Run the koans, and you’re presented with a runtime error and a stack trace indicating where the error occurred. Your goal is to make the error go away, learning the Javascript language and functional programming in the process. Based on Ruby Koans, below. (Free)
Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke
An eBook that explains the basics of JavaScript as well as programming in general. (Free)
Codecademy—JavaScript
Ten-hour beginner course covering the fundamentals of JavaScript. (Free)
CodeMentor.io—Learn JavaScript
Beginner tutorials and a JavaScript Learning Guide. (Free)
That Js Dude
The self-described “easiest and funniest way to understand JavaScript.” That Js Dude offers videos and tutorials explaining this, scope, hoisting, closure, inheritance, bind, call, apply, prototype, event delegation, dom, timers and other confusing elements of JavaScript. (Free)
Girl Develop It—Introduction to JavaScript
An eight-hour class covering JavaScript and basic programming concepts like variables, data types, functions, if/then statements, arrays, and loops. Introduces the Document Object Model (DOM) and how to use JavaScript to interact with the DOM and change HTML pages. (Free)
Free Code Camp
An open-source, self-paced way to learn JavaScript, HTML5, CSS3, and Node.js. (Free)
Code School—JavaScript
Fourteen courses in JavaScript basics, jQuery, client-side frameworks, server-side frameworks, and CoffeeScript. (Three courses are offered free, while the rest require a Code School membership of $29/month.)
Team Treehouse—JavaScript
Learn the core concepts of JavaScript through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
Java
CodeMentor.io—Learn Java
Java tutorials. (Free)
Learneroo
An online tutorial for learning and practicing Java. (Free)
Learning Java
An eBook “for everyone who has a need for hands-on experience with the Java language with an eye toward building real applications.” (Free)
Thinkful—Android Programming in Java
An online course with weekly, individual video chats with your mentor. Can be completed in three months with 10 to 15 hours of work per week. ($500/month)
Team Treehouse—Java
Learn Java through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
PHP
Codecademy—PHP
A four-hour beginner course in the basics of PHP. (Free)
CodeMentor.io—Learn PHP
Beginner tutorials and a PHP Learning Guide. (Free)
PHP Bounce
Learn PHP interactively through solving problems with code. (Free)
Team Treehouse—PHP
Learn PHP through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
Node
NodeSchool.io
Self-guided, open-source lesson modules (called “workshoppers”), many of which can be completed offline. Also includes access to (usually) free, in-person workshops in which mentors help guide attendees through challenges. (Free)
CodeMentor.io—Learn Node.js
Node.js tutorials. (Free)
Free Code Camp
An open-source, self-paced way to learn JavaScript, HTML5, CSS3, and Node.js. (Free)
Node.js for Beginners
An article that explains the basics of Node, what makes it different from traditional server-side programming, and why it’s popular. (Free)
The Node Beginner Book
This book is aimed at developers who have experience with other object-oriented languages but are new to Node.js. (First 19 pages are free; full eBook is $9.99.)
Thinkful—Become a Node.js Engineer
An online course with weekly, individual video chats with your mentor. Build eight projects total. Can be completed in three months with 10 to 15 hours of work per week. ($500/month)
Python
Codecademy—Python
Thirteen-hour beginner course in the fundamentals of Python. (Free)
CodeMentor.io—Learn Python
Beginner tutorials and a Python Learning Guide. (Free)
LearnPython.org
An interactive Python tutorial for beginners and experienced programmers alike. (Free)
Team Treehouse—Python
Learn Python through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
Thinkful—Become a Python Engineer
An online course with weekly, individual video chats with your mentor. Build seven projects total. Can be completed in three months with 10 to 15 hours of work per week. ($500/month)
Ruby
TryRuby.org
Learn the basic building blocks of Ruby in your browser. Six levels. (Free)
Codecademy—Ruby
Nine-hour beginner course in the basics of Ruby. (Free)
Neo Ruby Koans
A test-based system that walks you through the Ruby language, syntax, structure, and some common functions and libraries. (Free)
Code School—Ruby
Ten courses in Ruby and Ruby on Rails, from basic to intermediate. (The first two courses are free, while the remaining eight require a Code School membership of $29/month.)
Team Treehouse—Ruby
Learn Ruby through videos and live practice with Treehouse’s Code Challenge Engine. (14-day free trial, then $25/month basic or $49/month pro)
Rails
Rails for Zombies
Five beginner videos, each of which is followed by exercises allowing you to try programming Rails in your browser. Prior experience with Ruby recommended. (Free)
CodeMentor.io—Learn Ruby on Rails
Beginner tutorials and a Ruby on Rails Learning Guide. (Free)
Codecademy—Make a Rails Application
A 10-hour beginner course that walks you through building the Etsy website using Ruby on Rails as a means of learning the essentials of database-backed web applications. (Free)
Ruby on Rails Tutorial
An eBook with examples and challenges at the end of each chapter. (Free)
Thinkful—Build Your First Rails App
An online course with weekly, individual video chats with your mentor. Build three projects total. Can be completed in two months with 10 to 15 hours of work per week. ($500/month)
C++
LearnCpp.com
Teaches C++ programming through tutorials that walk you through all the steps necessary for creating and compiling programs. Covers everything from beginner basics to advanced elements. (Free)
Cplusplus.com
A series of tutorials explaining C++ from basics to the newest features introduced with C++11. Each section includes example programs for practice. (Free)
CProgramming.com
A tutorial and practice problems for learning C++. (Free)
These are just a few of the many excellent resources for helping you achieve your goal of learning to code.
Which of these have you used or recommend? Are we missing any?
The Loggly and SolarWinds trademarks, service marks, and logos are the exclusive property of SolarWinds Worldwide, LLC or its affiliates. All other trademarks are the property of their respective owners.
Justin Mares