If you’re brand new to the world of coding and web development, it makes sense to start by teaching yourself using all the free resources online.
That way, you can discover what you like and don’t like before investing money into a certain coding language or set of courses.
However, there are so many free resources and classes and books to choose from. Here are 45 of the best.
To make things easier, I broke them down based on topic. Use the table of contents below to jump around.
Table of Contents
Please note: all information, topics taught, etc., have been taken at time of writing (July 2015) and are definitely subject to change. Thanks!
Start coding now
Stop waiting and start learning! Get my 10 tips on teaching yourself how to code.
Codecademy is where most people who are new to coding get their start. If you haven’t been to the site yet…where have you been!? The platform revolves around interactive learning; that is, you read a little, type you code right into the browser, and see results immediately.
Codewars offers a fun way to learn coding. With a martial-arts theme, the program is based on challenges called “kata.” Complete them to earn honor and progress to higher ranks.
Large online course library, where classes are taught by real university professors. All courses are free of charge, but you have the option to pay for a “Coursera Verified Certificate” to prove course completion. These cost between $30 and $100 depending on the course.
Topics taught: Many (far beyond your basic coding/computer science)
An open-source higher education program governed by MIT and Harvard. Offers 107 courses under the “computer science” category, teaching various coding languages.
Topics taught: Java, C#, Python, and many more
5. Free Code Camp
Teaches coding first through an established curriculum (approx. 800 hours total), then by giving you hands-on experience working on projects for nonprofits.
6. GA Dash
General Assembly’s free online learning platform. Entirely project-based. You build a “project” with each walk-through.
They are one of the very few options that have a course on how to build a Tumblr theme from scratch. Read my review of it here.
7. Khan Academy
Tons of subjects (as their front page says, “You can learn anything”), including many on computer programming. A few courses are offered for younger kids, too.
Topics taught: JS, HTML/CSS, SQL, much more
8. MIT OpenCourseware
Competition to get into MIT may be stiff, but accessing their course material has no minimum SAT score. They maintain an online library of every subject they teach, with no account required for access.
Topics taught: Many
Offers individual courses, as well as “nanodegrees” that train you for specific careers like front-end web developer or data analyst. Course materials are free, but nanodegrees require a tuition fee.
Topics taught: Many
Topics taught: Many
12. The Code Player
A compilation of video tutorials to help you walk through a process from start to finish. Good for learning “smaller” projects/tasks one at a time.
13. Coder’s Guide
One of Travis Neilson’s YouTube channels. Focuses on web design and web development, with occasional live Q&As.
Topics taught: HTML, CSS, responsive design, development advice
My personal favorite. Web-development-focused videos made by Will Stern.
Topics taught: Sublime Text, Responsive Design, Node.js, Angular.js, Backbone.js, Deployment Strategies, and more
Over 4,000 videos on a range of programming, game development, and design. Has almost one million subscribers.
Topics taught: Android development, C programming, MySQL, Python, and more.
For a more comprehensive list of 33 YouTube channels where you can learn to code, look here.
19. David Walsh
Run by David Walsh (a senior developer at Mozilla), although there are others who write on the site, too. Tutorials, how-tos, demos, and more.
Covers lots of topics related to web development and workflow. To name a few: Angular, node.js, laravel, Sublime Text, and more.
They have lots of writers and publish often. Topics range from HTML and CSS to entrepreneurship. Also have paid books and courses on their child site Learnable. Make sure to check out their newer “collections” – which includes tutorials on topics like WordPress security, React.JS, and Swift. (And new ones are added daily!)
Tons of free tutorials, as well as paid options like actual courses. Has over 570 expertly-instructed video courses (on all topics, not just computer-related). Also publishes eBooks.
The Command Line
23. Command Line Power User
Free video series created by Wes Bos. More at an intermediate level, so not for total newbies.
24. Conquering the Command Line
Free online book by Mark Bates. Very in-depth. Can purchase hard copy and screencasts.
Git and GitHub
26. Git Immersion
A guided tour to teach you the basics of Git. Set preferences and create your own projects.
HTML and CSS
For beginners. Broken down into four chapters: The web, HTML5, CSS3, and Sass. It’s like an online ebook, but under a Creative Commons Attribution-Non Commercial-ShareAlike 4.0 International License. So you can adapt it for your needs.
Want to get better with HTML?
Download my free HTML5 cheat sheet below.
Created by Code School. Quick and perfect for absolute beginners. (Warning: JS in real life is a lot tougher.) 9 mini-lessons. At the end, it points you to more in-depth JS learning materials.
38. A Byte of Python
Free online book for beginners. Can choose to download as a PDF or spend money for a hard copy.
Interactive online tutorial to learn Python coding. Has a little window at the bottom where you can write your code as you go through the lessons.
40. Learn Python The Hard Way (Website)
The book costs money, but the website is free. Written by Zed Shaw. (I used the book when I first started learning.)
43. Rails Tutorial
12-chapter book by Michael Hartl. Can purchase ebooks, screencasts from author, and more. Or just read it for free online.
Entirely free, though you have the option to donate. Based on interactive tutorials, where you read a lesson and type in code. Lastly, “run” it.
RubyMonk has one beginner course option, two intermediate, and one advanced.
Taking advantage of all the free resources out there is definitely the way to go when you’re just starting out. However, they only get you so far.
So once you have the basics down, you’ll want to start exploring paid options. I’d advise signing up for some online coding bootcamps or classes.
Did I miss any awesome free coding courses/books? Let me know in the comments below!