DEV Community

Cover image for 6 Best Free Resources to Learn Programming
Abdifatah Abdirahman
Abdifatah Abdirahman

Posted on • Updated on


6 Best Free Resources to Learn Programming

For Code newbies, intermediates or event seasoned developers who want to refresh Their Programming Skills or learn a new a language, a key decision (after deciding what to Learn) is to choose wisely where to learn, e.i Resource. There are over thousands if not millions of free resources out there which is overwhelming, especially for Code newbies. In this short blog I will share with you 5 of the best resources where you can learn Programming absolutely for free, specially Web development, so let's get started!.

1. Freecodecamp

Founded by Quincy Larson in 2014, freeCodeCamp is Open source organization where thousands of interactive coding, Articles and videos lessons all publicly available which are well structured. It’s supported and contributed by developers from all over the world.

As by themselves, there are around 40, 000+ graduates who landed jobs in Tech giant companies like Microsoft, Google, Apple, Amazon and etc. You might have seen some Tech YouTubers who proudly claim they went through The FreedCodeCamp curriculum.

To name a few, You can earn a free and verified certificate in:

  • Responsive Web Design
  • JavaScript algorithms & Data structures
  • Information security
  • Machine Learning with Python
  • Backend and APIs
  • Data analytics with python

2. The Odin Project

One of the best of it’s kind, the Odin Project is a complete Curriculum consisting of a foundation and Two complete full paths in Full-stack JavaScript (NodeJS as you may have guessed) and Full-stack Ruby on Rails. It’s supported and contributed by a passionate Open source community and it is updated regularly.

The Odin Projects is focused on Web development but at the end of the day what really matters is the concept of programming, once you are comfortable with one, it will be a lot easier to learn others. what makes interesting is that if you happen to be using Windows and wanted to switch to Linux, this is your go to. Topics include:

  • HTML
  • CSS
  • JavaScript
  • Git
  • Databases
  • Ruby & Ruby on Rails
  • NodeJS

Don't worry Topics are covered in beginner, Intermediate to advanced manner and at the end it even includes preparing for your job search and getting hired.

3. CS-50 by Harvard

We all aspire in Learning at Top Universities like Harvard University but simply most of us can’t for many reasons, if you think/believe so hold on. You don't need to get in-campus or pay huge amount to learn and earn certificate at Harvard. CS-50's Introduction to Computer Science is a self-based 11-week long curriculum by Harvard taught by David J. Malan a CS-50 graduate himself, Doug Lloyd and Brian Yu. It's been around since 2007 and it involved over the years.

Topics range from Web development like HTML, CSS, JavaScript, to Data Structures and Algorithms, general Programming knowledge eg in Python and it's now even expended into areas like Business Professionals, lawyers, AI, Game Development, Mobile App Development, and CS-50 Beyond which dives a bit deeper into Web Dev.

4. Front-end Mentor

After learning and familiarizing yourself with a concept/language the next step is to challenge yourself and implement what you have learnt but where do you get project ideas? What will your Project design look-like? Or what features will it have? all of these questions and many others are a major part of why so one may get stack in tutorial hell. if you happen to be good a design you may make your own even though its time consuming or you may look up into platforms like Behence, Dripple, Pinterest or etc. for inspiration.

But Even better and guess what, Well luckily enough you don’t have worry or bear all that burden. There are so many resource out there and Front-end mentor is one of the best out, if not the best. You get well designed and document ready-to-be-implemented Prototypes for free, all you need to worry is to implement and what makes even better is that you can submit the challenge for review and get feedback on what to improve.

5. HackerRank

In your Learning to code journey, not only do you need to build projects to show case your skills but you also need to solve Technical problems to improve your Problem-solving skills and ace your interview if you want to land a job. Problem solving is a vital part of software Development/Engineering and you must practice a lot.

HackerRank allows you to Solve a wide range of Computer Science Problems of different domains like Algorithms, SQL, Mathematics, AI, and more to level up your problem-solving skills, submit it and then improve or see how others solved the same problem. They also provide the chance to submit Applications and apply jobs by solve Company-sponsored coding challenges.

There are also similar websites you may want to check out like LeetCode, CodeChef, CodeWars, Coderbyte, and so on.

6. MDN Web Docs

Human beings tend to forget and it’s perfectly fine, after all we are not robots, we can’t memorize and remember everything which means it’s certain that sometimes you may get stack in a concept. That happens to every developer/Learner out there. The best part is that it takes a quick google to find an online solution and MDN Web Docs is the Place to find concepts break-down in simple and easy to understand manner with example.

Referred as Resources for Developers by developers, MDN Web Docs was started in 2005 by Mozilla since then in 2017 Microsoft, Google, and Samsung moved all their documentation to MDN Web Docs shutting down their own documentations. It’s maintained by Google and Mozilla Employees alongside Other volunteers consisting of developers and Technical writers.

Topics are mostly Web Development related and they include:

  • Building Blogs of Web dev(HTML5, CSS, JavaScript)
  • Frontend and Backend Communication lines (Web APIs, HTTPs)
  • Backend (Django, NodeJS)
  • Web Extensions
  • Guides and Learning Area(HTML, CSS, JavaScript, Accessibility and much more)


There are surely a lot of great Websites out there, but its always best to experiment it out at first, decide what works for You and select it wisely.

That is it for this short blog.
Thanks for reading, hope you found it valuable. Share with otehrs & let me know if there's something elese you have to say.

You can find me on Twitter and LinkedIn

Top comments (0)

Advice For Junior Developers

Advice from a career of 15+ years for new and beginner developers just getting started on their journey.