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 49 of the best.
To make things easier, I broke them down based on topic. Use the table of contents below to jump around.
Disclosure: I’m a proud Udemy affiliate. If you buy a Udemy course through my links on this page, I may get a small commission for referring you. Thanks!
Table of Contents
Please note: all information, topics taught, etc., have been taken at time of updating (November 2017) 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, and its reputation is well-deserved. The platform revolves around interactive learning; that is, you read a little, type your code right into the browser, and see results immediately.
Teaches coding first through an established curriculum (approx. 800 hours total), then by giving you hands-on experience working on projects for nonprofits. Perfect for learners who want practical, hands-on experience that will do some good and look impressive on a resume.
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, and sometimes paying for a certificate grants access to content not available in the free courses. They also offer “Specializations,” which are collections of courses on a specific topic, typically with a capstone project at the end.
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
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.
6. GA Dash.
General Assembly’s free online learning platform. Entirely project-based. You build a “project” with each walkthrough.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 online has no tuition or minimum SAT score.
They maintain an online library of every subject they teach, with no account required for access; just browse for a course and start reviewing the material.
Topics taught: Many
9. The Odin Project
Made by the creators of Viking Code School—a premiere online coding bootcamp. The Odin Project is their free, open-source version. Check in for support from other students using the online chat group!
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
SoloLearn is a social platform where anyone can learn to code. It's different to other course providers because it's mobile-based – learn on the go, on any device. With bite-sized lessons, achievements to unlock and interactive quizzes, it's fun to learn and free to download.
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.
Their mission is to inspire people to become programmers by making code accessible, affordable and fun. With over 200 topics, anything you've been thinking about learning, you can find here.
Topics taught: Many
Topics taught: Many
Code.org provides learning materials specifically dedicated to increasing the rates of female and minority students entering computer science careers. Their courses are designed for K-12 students, but can be useful to all ages. Start out with their quick Hour of Code tutorials, or build projects in lab courses.
Covers lots of topics related to web development and workflow. The platform features short courses, tutorials, guides, blog posts, and videos.
Topics taught: Angular, node.js, laravel, Sublime Text, and more.
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 topics. One of the more popular channels, with almost two million subscribers.
Topics taught: Android development, C programming, MySQL, Python, and more
19. Derek Banas
Banas' specialty is condensing information about coding languages into a single video per language. Good for viewers who like longer but more thorough videos instead of bite-sized chunks, or want to watch overview videos of languages before diving into courses/curriculums.
Topics taught: Java, Ruby, PHP, C++, HTML, Android, Python, Assembly language, and more
A channel perfect for absolute beginners. Step-by-step tutorial playlists cover various languages without assuming prior knowledge.
Topics taught: Java, Python, C, JavaFX, Android programming, Bootstrap, and more.
21. 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.
All about using software tools to solve common problems you encounter in tech. Tips, guides, and specific software reviews.
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
28. Command Line Power User
Free video series created by Wes Bos. More at an intermediate level, so not for total newbies.
29. Conquering the Command Line
Free online book by Mark Bates. Very in-depth. Can purchase hard copy and screencasts.
Git and GitHub
30. 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.
42. 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.
44. 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.)
47. 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. Check out some of my favorite paid platforms, tools, and resources here.
Did I miss any awesome free coding courses/books? Let me know in the comments below!