Cover image for 22+ FREE Resources to Learn Programming in 2020

22+ FREE Resources to Learn Programming in 2020

javinpaul profile image javinpaul Updated on ・11 min read

Disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article.

Hello there, if you are someone who is learning programming and coding by yourself and looking for some awesome resources then you have come to the right place. In this article, I am going to share 21 websites you can use to learn the code for free from the comfort of your office and home.

1. freecodecamp.org

This is one of the most awesome community websites which will help you to learn to code for free, build real-world projects and get a job as a developer.

It has a massive collection of interactive tutorials and exercises to learn JavaScript, Data Structure and Algorithms, Frontend Development and so on.

Founded by Quincy Larson, this is a really awesome place to start your coding journey. They even have a big Facebook group (freecodecampearth) where you can ask questions and share your learning experience.

2. udemy.com

One of the best place for online learning. you will get online courses in all the latest technology and programming language like Java, Spring, Data Structure and Algorithms, Selenium, REST, etc. It provides both free and paid resources.

Here is a couple of useful free course to learn some of the interesting technologies:

  1. Java Tutorial for Complete Beginners (link)
  2. Easy to Advanced Data Structures (link)
  3. Introduction To Python Programming (link)
  4. Advanced and Object-Oriented JavaScript and ES6 (link)

The paid resources are also very cheap and you can purchase on just $9.99 during their flash sale, which happens quite often. It's full of some of the great teachers like Colt Steele, Rob Percival, Stephen Grider, Josh Portilla, John Purcell, etc.

3. Educative.io

This is a great website to learn to program. This highly interactive platform features some of the most popular technologies like JavaScript, Java, Kubernetes, Python and more. Whether you want to learn a new technology or you’re preparing for interviews, this is a good website to check out.

All the courses feature in-browser coding environments, meaning there’s no setup required. They’re complete with quizzes and challenges to further test your understanding of the material.

I first come to know about them when I join their popular courses likeGrokking the System Design Interview and Grokking the Coding Interview: Patterns for Coding Questions and I was really impressed with the quality and the idea of text-based interactive courses. You don't need to skip and its much faster than traditional online courses.

They also have a lot of useful free courses which I encourage you to check out:

And, if you find their paid courses useful, you can save a lot of money by going for Educative subscription than buying individual courses. The subscription costs $18 (50% discount now) per month, which is both affordable and something every programmer can invest in their learning.

4. Coursera

This is another awesome website to learn online. It' founded by Stanford professors Andrew Ng and Daphne Koller and it offers courses, specializations, and online degrees.

The best part of Coursera is that it offers online courses from Universities like Stanford, University of London, University of Michigan, Colorado, Imperial College of London and many more.

It provides both free and paid online courses and specialization. Some of my favorite free programming courses from Coursera are :

  1. Algorithms Part I and Part 2 by Robert Sedgewick (link)
  2. Machine Learning by Andrew Ng (link)
  3. Python for Everybody (link)

Coursera also provides you Certification, which you can showcase in your Linkedin profile, but you need to pay for it.

5. pluralsight.com

One of the best website to learn any technology or IT courses like programming language like Java, Web development framework like Spring Framework, Hibernate, etc.

It's also now acquired CodeSchool which earlier allows you to learn web technologies by doing it. I use this website to learn a lot of cool stuff in no time.

6. try.github.io

A fantastic website to learn Git in 15 minutes. The best part of this website is that it is a meta website which means it contains some of the most useful resources to learn Git online likeLearn Git branching which will teach you Git commands right from your web browser.

It will not only help you to understand basic git commands but challenging git concepts like a branch, merge, revert, cherry-pick, rebase, etc.

There is another awesome resource,Visualizing Git which will help you explore how Git commands affect the structure of a repository within your web browser with a free explore mode, and some constructed scenarios.

7. onemonth.com

Learn to code and build web applications in one month. This is not exactly a free website though, you need to buy a bootcamp style course.

The site has courses to learn Python, Ruby, and JavaScript in 30 days and they teach in a bootcamp style which makes it a very effective learning place.

Btw, they have a free trial! and a handful of free courses like the Command Line course and they also have free Learn to Code with One Month Podcast coming soon.

8. codecademy.com

Interactive tutorials to learn some of the most popular technologies like JavaScript, Java, Linux for free. It also has some paid courses to learn advanced concepts on Python, Java, and JavaScript.

Btw, this is one of the first websites which brought interactive learning into the picture. It's JavaScript course is probably the most popular course to learn JavaScirpt online.

8. codingbat.com

Another good site to learn to code contains a lot of free programming exercise to build the coding sense in both Python and Java.

9. code.org

The perfect website to start learning coding and basics of computer science. My kids use this website to learn to code by playing with the Minecraft game

10. code4startup.com

A great website to learn how to code by building real companies and real project by Leo Trieu.

It's one of the best places to learn Web Development from scratch by building 4 real Online Businesses in 3 Months like Airbnb, Uber, etc. No experience needed.

It also has a lot of free courses like:
1. ReactJS for Newbies in just 1 hour
2. Learn Ruby on Rails, Heroku and Wistia APIs

If you like project-based learning then you will love this site.

11. codeabbey.com

Another awesome website with lots of programming exercises to learn to code and improve your coding skill in any programming languages.

12. sqlzoo.net

There is no doubt that SQL is one of the must-have skill for any programmer of IT professionals and unfortunately there are very few websites or free courses where you can learn SQL.

This is one the best place to learn SQL for beginners and improve your SQL query skills if you already know fundamentals.

It provides interactive SQL tutorials complete with quizzes, perfect to improve your SQL query skills

13. Git Immersion

This is one of the best websites to learn Git and GitHub, one of the must-have skills for today's programmers. It provides a guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.

It's one of the best course to learn Git and written by the late, great Jim Weirich.

The aliases suggested in this course can improve your productivity a lot of if you include them in your .bashrc and .gitconfig.

14.Learn Git branching

Branching and merging are one of the tough concepts to master in any source control tool like SVN, CVS, and it's not different in Git but not anymore. This interactive website will teach you merging and branching in git like none others.

The "Learn Git Branching" is one of the most visual and interactive ways to learn Git on the internet. There are a lot of challenging exercises with exciting levels, given step-by-step demonstrations of powerful features, and maybe even have a bit of fun along the way.

15. codecombat.com

You can play a game and learn to code in Python and Javascript. One of the best interactive and fun side of learning online.

16. tryhaskell.org

Learn Haskell with free interactive lessons.

17. railsforzombies.org

Learn Ruby on Rails by watching videos and completing the exercises This is now merged with Pluarlsight.

18. thinkful.com

A different kind of website where you can choose a course and get assigned a mentor.

19. rubymonk.com

Free interactive tutorials to help you discover Ruby idioms in your browser. The site has separate courses for beginner, intermediate, and expert Ruby developers to further hone their knowledge of Ruby programming language.

20. tryRuby.org

Another great website to learn Ruby online. This is also now merged with Pluarlsight and you need a membership to access its content

21. learnpython.org

A great website to learn the basics of Python. One of the most popular programming languages of this decade which allows you to do a lot of stuff from simply automating trivial stuff to developing websites and now used in Machine learning and Data Science. If you need more reasons to learn Python, see this article.

That's all about some of the best website to learn how to code for free. These websites are great resources to learn a programming language like Python and Java, evergreen technology like SQL, operating systems like Linux, Web development frameworks like Ruby On Rails, Functional programming language like Haskel, learn to build a website and several other types of free courses.

Other Useful Free Resources for Programmers

Thanks for reading this article so far. If you like this article then please share with your friends on Facebook. If you have any questions or feedback then please drop a note.

If you like this article then please consider following me on twitter(javinpaul). if you'd like to be notified for every new post and don't forget to followjavarevisited on Twitter!

Posted on by:

javinpaul profile



Java Programmer and blogger


Editor guide

Some gems in here!

I used to compile lists of the more formal learning sites to learn for free until I stumbled across a beauty called Class Central that already does that. I'm not tied to them in any way, just a fan. They break things up by subject, university, or by provider if you already have memberships. They also stay on top of all these sites changing their revenue models.

What they don't do though is promote these sites that are dedicated to very specific skills.


Class Central is indeed a good addition. thanks for sharing with us.


exercism.io is really cool too. Been there both to learn Rust and teach Python, was a great experience :)


Thanks, I haven't checked it yet but thanks for suggestions.


Don’t know the exact algorithm, but may I congratulate?🎉
It’s chrome iOS. I think they at least showing relevant articles to my growing history, but barely saw blog post. So for me it seemed a ”thing”.
this post on chrome home tab


It seems chrome suggestions getting better day-by-day


What a humble person you are.


For Java, codegym.cc/ is the best site I have come across.


is Codegym free?


Sorry I just saw your comment. When I used it it was!


CodeGym is free as a mobile app.


Re: number 10:

I paid for Leo Trieu's Airbnb course last year and wasn't a fan. He assumes a good amount of knowledge from the user, despite advertising the course as no experience needed (I had completed half of freecodecamp.org's curriculum when I tried it, so I had some experience to my name), and his answers to questions from the community were often borderline rude and/or just unhelpful (pasting a link to a stackoverflow answer with no context or explanation).

There were a couple instances where commenters pointed out security flaws that should be addressed, and he thanked them for pointing them out but then wouldn't answer more questions about the flaws or how to fix them (his response was something along the lines of "you don't need to worry about it," if I remember correctly).

My overall impression was that he was interested in making videos and having people pay monthly subscriptions for them, but he didn't actually care at all about helping people learn. Which is a shame, I was really excited to build the Airbnb clone 😕


Hey! This is a great list - thanks for sharing! One great addition: thecodex.me/. Our goal is to create the best place to learn Python on the web. Our big focus is on application of concepts through projects (we release a free project every tuesday!). Let me know what you think - would love to get some feedback on how our site stacks up and could be improved. thanks!


I like CodinGame
It's fun and challenging.

And you can use TDD to solve the puzzles :)


Looks interesting, I am going to check them out this weekend, thanks for the suggestion.


Their album is just something. Now I’m planning to create a website for fans of this group. Let’s all help me together to promote our group. The site is already under construction, the only problem I encountered is the synchronization of SQL databases. I plan to use Avtosin. Perhaps someone will tell you better options? There are certainly programmers among fans of heavy metal.


This is a great list, I didn't know many of the recources you provided! I'd like to add some Python-related recources, as well. They are divided by the level of advancement, which I think is very cool. I hope you find them useful.


I feel it's inappropriate to leave out edX


hello Boris, I agree, edX is a great resource. I will include edX when I revise these article with a few more resources. thanks for suggestion


As a beginner in programming, I use edx.com


Yes, I did check edx.com a very good resource.


Typo on #4

plurasight.com -> pluralsight.com


Thanks, corrected it now.


I think to missed out teamtreehouse.com

They provide most of top programing courses with certification.


I don't think they are free, do they have any free tutorial or course?


There is so much good stuff out there. How did you keep this list to the 20 even?


That's true, I like it to make 50 and could do with your help, feel free to suggest any website which is worth including in this list.


awesome, thanks for share


Take advantage of goormIDE.
goormIDE is a fantastic cloud based IDE and it's free!


On udemy.com you can also learn ALL programming languages in less than 40 minutes now for free: