DEV Community

loading...
Cover image for 22+ FREE Resources to Learn Programming in 2021

22+ FREE Resources to Learn Programming in 2021

javinpaul
Java Programmer and blogger
Updated on ・12 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, Data Science and JavaScript.

Btw, this is one of the first websites which brought interactive learning into the picture. Its 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 some 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!

Discussion (32)

Collapse
austinstanding profile image
Austin Standing

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.

Collapse
javinpaul profile image
javinpaul Author

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

Collapse
dmerejkowsky profile image
Dimitri Merejkowsky

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

Collapse
javinpaul profile image
javinpaul Author

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

Collapse
voidjuneau profile image
Juneau Lim

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

Collapse
javinpaul profile image
javinpaul Author

It seems chrome suggestions getting better day-by-day

Collapse
voidjuneau profile image
Juneau Lim

What a humble person you are.

Collapse
jmurray90 profile image
Jake Murray

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

Collapse
javinpaul profile image
javinpaul Author

is Codegym free?

Collapse
jmurray90 profile image
Jake Murray

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

Collapse
selawsky profile image
John Selawsky

CodeGym is free as a mobile app.

Collapse
erclairebaer profile image
Claire McCrea • Edited

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 😕

Collapse
sameerskapur profile image
Sameer Kapur

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!

Collapse
kiritchoukc profile image
KiritchoukC

I like CodinGame
It's fun and challenging.

And you can use TDD to solve the puzzles :)

Collapse
javinpaul profile image
javinpaul Author

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

Collapse
danzels profile image
David Collins

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.

Collapse
miloszstx profile image
Miłosz Gałganek

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.

Collapse
borisstanojevic profile image
Boris Stanojevic

I feel it's inappropriate to leave out edX

Collapse
javinpaul profile image
javinpaul Author

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

Collapse
dhatguy profile image
Joseph Odunsi

As a beginner in programming, I use edx.com

Collapse
javinpaul profile image
javinpaul Author

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

Collapse
addy profile image
Addy

Typo on #4

plurasight.com -> pluralsight.com

Collapse
javinpaul profile image
javinpaul Author

Thanks, corrected it now.

Collapse
luketangwa profile image
Luke Tangwa

I think to missed out teamtreehouse.com

They provide most of top programing courses with certification.

Collapse
javinpaul profile image
javinpaul Author

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

Collapse
emily_kellert profile image
Emily Kellert

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

Collapse
javinpaul profile image
javinpaul Author

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.

Collapse
diopambudi profile image
Danan Dio

awesome, thanks for share

Collapse
rzprrtkgolyd4ug profile image
veterant

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

Collapse
markomihajlovic profile image
markomihajlovic

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

udemy.com/less-than-3-hours/?coupo...

Collapse
ankurt04 profile image
Ankur Tiwari

Super!!