Skip to main content

What Are the Best Free Websites to Learn Programming and Computer Science?

  • Author:
  • Updated date:

Haley works in quality assurance as a software tester. She is in charge of managing testing projects as well as training new testers.

A screenshot of the Codecademy dashboard

A screenshot of the Codecademy dashboard

Learn Computer Programming Online

The Internet has new websites, tutorials, and videos added every day. The tough part is finding quality websites to use. The following is a list of websites to get started learning basic programming skills and sharpen your existing skills.

The important thing is to remember to use these websites to gain basic knowledge and skills, and then use these skills to build sites and basic apps for your portfolio. For most software and development teams, certifications and schools don't matter as much as what you can do and what you've built.

Following along with a well-created program also helps you learn things in a beneficial order, as compared to jumping around from concept to concept. Whichever works for you though, here's a list of websites that you can use to learn to program for free.


Codecademy is a website that was started in 2011. It focuses on interactive lessons teaching how to actually create and build projects with a variety of programming languages.

In fact, many colleges suggest Codecademy exercises during entry-level courses in programming and computer science courses. While Codecademy won't give you a strong enough skill set to become a programmer just from its material, it will give you a strong foundation to start exploring other intermediate and advanced options.

Currently, they offer fully interactive courses in:

  • HTML & CSS
  • Javascript
  • jQuery
  • Ruby
  • Python
  • SQL
  • Java
  • PHP

They also have courses on Git, making and deploying websites, and the command line.

Codecademy has won the awards: Skillies Technology Award 2015, and Best Education Startup, Crunchies Awards 2012

Although the site has historically been 100% free, they have introduced a pro plan, which doesn't hide lessons, but instead adds one-on-one tutoring, some additional projects, and quizzes.

A screenshot of one of Free Code Camp's many lessons.

A screenshot of one of Free Code Camp's many lessons.

Free Code Camp - 100% Free

Free Code Camp is an open-source community focused on helping people learn how to code and get a job with those skills. Their FAQ states that it takes over 2,080 hours to earn all four of their certifications. That's a lot of lessons.

But, you don't have to compete for all of the courses to begin to get some real-world programming skills. One of the really cool parts of Free Code Camp is that doing real-world work for reputable non-profits is part of the curriculum.

There are four main specializations that Free Code Camp Focuses on Front End Development, Data Visualization, Back End Development, Full Stack Development, and Coding Interview skills.

Each of these sections contains hours and hours worth of interactive content to give you a strong understanding of not only the different languages but also the basics of development environments and object-oriented programming.

A screenshot of

A screenshot of

Learn CPP

While there are a lot of online web sources for learning scripting, it can be tough to learn tougher programming languages. Thankfully, is a great place to learn C++.

The design of the site is very 2002, but the information on it is still valuable.

These tutorials cover the basics, variables, scope, inheritance, libraries, etc. You will need a compiler on your computer since these tutorials are not completed online.

These C++ lessons cover:

  • C++ basics
  • C++ functions and files
  • How to debug C++ programs
  • What are C+ data types
  • Variable scope
  • Control flow
  • The differences between arrays, strings, pointers, and references
  • Functions
  • Object-oriented programming fundamentals
  • Operator overloading
  • Object relationships
  • Inheritance
  • Virtual Functions
  • Templates
  • Exceptions
  • The Standard Template Library
  • std::string
  • Input and output (I/O)
  • updates to C++

If you complete all of these lessons, you have the potential to know more C++ knowledge than what some people leave their first C++ college course with.

A screenshot of the W3Schools homepage.

A screenshot of the W3Schools homepage.

W3 Schools

W3 Schools is another great website that teaches the basics of programming and specific help for HTML/CSS. The website includes documentation, tutorials, and interactive activities to learn the skills.

W3 has tutorials for:

  • HTML Graphics
  • Javascript
  • XML
  • Server Side
  • PHP
  • JQuery
  • SQL
A screenshot of the CS50 course on edX.

A screenshot of the CS50 course on edX.

edX - CS50

CS50 is Harvard's actual Intro to Computer Science course. edX has the entire course online, including lecture videos, reading material, and coursework. If you choose, you can get a certificate for the course (but that does cost money); however, auditing the class is free.

This course will give you an incredibly strong foundation in programming concepts and basic programming skills.

Screenshot of The Odin Project's homepage.

Screenshot of The Odin Project's homepage.

The Odin Project

The building blocks of The Odin Project are: Having a Path, Building a Portfolio, and Learning Together. This means that they focus not only on learning but also on building projects that can be a part of your portfolio and Git lab.

The curriculum covers: Web Dev, Ruby, Ruby on Rails, HTML5 and CSS3, Javascript and Jquery, and how to get hired as a web developer.


Just like most skills, YouTube has tutorials for most programming basics and common questions. There are also programming and computer science lectures from colleges online.

The difficult part of using Youtube is that unlike these other sites, literally, anyone can create a tutorial and post it. On one hand, this helps to create a large amount of diverse content. On the other hand, it also means that there's no quality control to the videos, so information can be wrong.

The other benefit of using one of the programs above is that they're organized in an order that helps make learning the information more digestible.

Below are a few tutorials to start with.