(• Reading Time: 5 minutes •)
Forget long lists of free places to code.
No one reads them.
Most people just scroll through 100's of list and still end up feeling undecided. If you want to learn to code for free, you just need a few focused places – the smaller, the better.
I've searched the web and read all kinds of reviews on the best places to learn code for free.
You'll see the short list below.
How I chose the best places to learn coding
I selected these places based on over my decade of coding experience, students' reviews, and how strong the respective coding community is.
The list below is more than enough for focused studying for at least one year.
In fact, the first one could take you up to 6 months if you were learning an hour every day.
The places listed below are:
- Some offer free certificates.
- All have exercises and projects.
Let's jump into them.
About them: Since 2014, more than 40,000 freeCodeCamp.org graduates have gotten jobs at tech companies including: Microsoft, Google, Amazon, Spotify.
When to use: If you've decided you want to start building your CV, start here.
What others say:
2. The Odin Project
About them: The Odin Project is one of those "What I wish I had when I was learning" resources. Not everyone has access to a computer science education or the funds to attend an intensive coding school and neither of those is right for everyone anyway. This project is designed to fill in the gap for people who are trying to hack it on their own but still want a high quality education.
When to use: This is an excellent resource just like freeCodeCamp. The question likely on your mind is freeCodeCamp vs the odin project. And the answer is both.
Keep in mind that when you learn to code, you never learn from only one place then you're good to go, you have to learn the same thing from multiple sources.
Therefore, you should start with the Odin Project or with freeCodeCamp but eventually visit both.
What others say:
Can't recommend The Odin Project enough. I tried the other major learn coding websites and felt like I wasn't actually learning anything since they just tell you what to type in and I feel like I wasted a couple weeks of my life on those. The Odin Project makes you set up an actual environment on your computer where you learn how to actually write code. All the learning and projects will be much harder than the hand hold websites, but you'll actually be learning.
3. CS50 - Intro Course
About them: This is CS50x, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience.
When to use: If you're an advanced beginner, this is for you. Or if you want an Introduction to Programming from a world-class university, this is it. Their assignments can get a little tough but it's still an excellent resource.
What others say:
That is exactly what it gave me. The ability to learn anything... now there is no language or framework or docs I encounter where I just give up. Or even need help. I can figure it all out. Yesterday I figured out Stripe and was able to get it setup and process a real payment in a couple hours. I was able to figure out AWS and get setup there. This stuff was like reading greek to me a couple months ago.
4. Udacity - Python Course
About them: In this course, you'll learn the fundamentals of the Python programming language, along with programming best practices.
When to use: If you want to learn and get perspectives from industry experts, this is a great spot. Udacity has a nice course layout and cover multiple areas of Computer Science. They push the Nanodegree program but avoid it and focus on the free intro course. In general, I see it as a nice blend of school and industry but this time with more interesting presentation format from the instructors.
If you're looking at freeCodeCamp vs Udacity and you're interested in learning Python, I'd say start with the Python course at Udacity. Then come back and work with the Python course at freeCodeCamp.
5. W3School - HTML Lessons
About them: The world's largest web developer site. Unfortunately, they had issues in recent years because the information on their website was outdated but most of that has been addressed. In general, it's not a top choice for many programmers but it's a useful resource for beginners interested in web programming.
When to use: If you're looking to test the waters in as little as 30 seconds, this is the place. You can start learning about web programming right away with their Try It Yourself editor. In general, when you start to learn to code, you have to download some tools to eventually start writing proper code.
But if you want to test without installing anything on your computer, W3School is great.
Freecodecamp vs The Odin Project
If you're debating freecodecamp vs The Odin Project and you want to choose one to start with, go with freeCodeCamp but you're definitely better off doing both. Here's why:
- Both are amazing!
- Include solid exercises.
- And help you learn at your own pace.
|freeCodeCamp||The Odin Project|
|Have an active forum||No major forum|
|Covers web dev, data science, and more||Mostly focused on only web dev|
|Dev authors contribute write ups||No contribution from authors|
But this doesn't mean you shouldn't use The Odin Project. We'll come back to this in a moment but first let's dig into each separately.
How to think of all five
Many beginners make the mistake of settling on W3School. And think they're learning to code well.
But the reality is that this form of learning is not enough.
It's like going to the gym and instead of going inside for your workouts, you stand outside and do 5 push-ups.
Technically, you exercised.
And you can do this as often as you please.
But let's get real – if you seriously want to become fit, you need to go inside and use the gym equipment inside.
W3School is the push up outside of the gym;
FreeCodeCamp and The Odin Project are the inside;
And Udacity is right in the middle.
Few used > Plenty saved
Remember, you don't need a bazillion list of courses – instead, the few listed here are more than enough to start small and stay focused.
Regardless of whatever tutorials you choose, finish as many projects as possible. This is the key to mastery.
You can start with these beginner, fun programming projects then move to something more complex.
If you're an absolute beginner to programming, you shouldn't pay for anything when starting out.
After you've learned some of the basics, you can look for a paid course or bootcamp to give you more structure or mentorship.
But it always pays to always test things out on your own first.
Thanks for reading
- Join Community: I help new programmers and junior devs focus on what matters instead of endless trial and error. If you're interested in boosting your confidence and skills, join the email community.
- Follow on Twitter: Have a question, I'm most active on Twitter – feel free to reach out to me. My DM is open.
Heads Up - I love research so I tend to back my advice and approach with concepts from Behavioral Psychology and Neuroscience.