Programming used to be about learning to make a program, but now it’s in everything. Data science, machine learning, web development, operations, systems administration…you name it.

We’ll take a look at the best computer programming classes and courses you can find online for free. These computer programming course sites are in no particular order. They’re all great.

Deciding which one is best isn’t for us to do. You need to decide what’s best for your career or hobbyist goals. All of them have at least one of the best programming languages to learn today. We’ll start with the ones you’re less likely to have heard of and add the more popular ones at the end.

Kaggle

If you’re headed in the direction of data science, Kaggle has a series of micro-courses that you’ll enjoy all leading to making you a data scientist. There’s a series of 14 classes, each about 5 to 10 lessons long. The best part, besides being free, is that you don’t need to install any software. 

All of your programming and testing is done right inside of a Kaggle Notebook. What better way to learn Python, SQL, Machine Learning and other data science skills?

ProsConsLanguages/Technology
In-browser coding exercisesOnly 15 coursesPython
Condensed coursesLimited to data scienceSQL
Progress metersTensorFlow
No adsKeras

Stanford University

Going to Stanford University isn’t free but their Stanford Engineering Everywhere (SEE) courses are. Published under a Creative Commons license, the SEE material is free and open for reuse. Check the CC license for details. 

Computer programming classes are done university-style and are quite in-depth. If you’re considering getting a degree in Computer Science but aren’t sure if it’s for you, doing these courses will sort that out.

ProsConsLanguages/Technologies
University qualityRequires separate IDEJava
Creative Commons licenseToo formal for someMachine Learning
Videos and transcripts
Downloadable

Dash by General Assembly

General Assembly is an online learning service with mostly paid courses. But one course is predominantly featured and completely free. Dash is an entire course to get you started in web development

The learning path is done project-style using slideshows and Q&A forums. As you progress, you unlock skills as a reward, a lot like video games use. There are 5 projects and 1 side project that will help you unlock 82 different web development skills. 

While this won’t get you a higher-income job as a web developer, it will get you started as a hobbyist so you can develop those income-earning skills through more formal training.

ProsConsLanguages/Technologies
Project-basedLimited contentHTML
In-browser codingHobby levelCSS
Q&A ForumsJavaScript
JQuery

StudyTonight

If your learning style works well with lots of reading, StudyTonight is a good option. No matter what language you want to learn, there’s probably a course here for it. The courses and tutorials are text-heavy and thorough. A bit academic even. 

Computer programming classes will often go into the history of a language or technology to the point of laying out versions of it with notes. Although, StudyTonight does have a separate YouTube channel. You can learn to program with StudyTonight, but it might work best for people who are looking for resources in addition to their formal studies. It is ad-supported and that can be distracting. 

ProsConsLanguages/Technologies
In-browser codingAds can be distractingJava
College-level infoText-basedC and C++
Android appCSS
YouTube ChannelSQL
JavaScript
Python

JavaTPoint

JavaTPoint is in a similar vein to StudyTonight. There is a mountain of courses available in dozens of technologies and languages. There’s programming, DevOps, drafting, AI, blockchain, data mining, soft skills for technologists, and more. 

The courses are well organized, but this is also an ad-supported site. The ads are definitely distracting as a lot of them are animated. There are browser-based IDEs and even browser-based compilers. But if you can’t find a free course on something, you’ll probably find it here. 

ProsConsLanguages/Technologies
Well-organized contentDistracting adsToo many to list
Huge range of coursesPython
Browser-based IDEjava
Browser-based CompilersPHP
Text and videosJavaScript
C++
C#
SQL

Mozilla

Mozilla is the organization that brings us Firefox and other web technologies. They’ve put together developer.mozilla.org to help people become web developers or hone their skills further. Or as Mozilla puts it, “Resources for developers, by developers.” 

It’s a well-organized, easy-to-read site that will take you from your very first HTML tag to front-end and back-end web development. Because it’s Mozilla, you’ll get their unique insight into why things should be done a certain way, too.

ProsConsLanguages/Technologies
Major authorityLimited to web developmentHTML
Browser-based IDEMostly text-basedCSS
Well laid-outMozilla-centricJavaScript
Beginner to advancedPython / Django
Extensive resourcesnode.js
Developer community

W3schools

Maybe the grandparent of all online web development courses, w3schools also claims to be the world’s largest web developer site. You’d be hard-pressed to find a web developer that didn’t learn something here. 

It’s also not limited to just web development. You can learn server-side technologies, classic programming languages like C++, and even how to develop with Raspberry Pi. The site is clean, there are lots of browser-based resources and anyone of any level can benefit. It is ad supported, but the ads aren’t as intrusive as some other sites.

ProsConsTechnologies
Well-respectedNoneToo many to list
Browser-based IDEC++
HTML and CSS
Raspberry Pi

Google

No, we’re not saying just go search out stuff on Google. Google, like Mozilla, has a vested interest in training new developers and enhancing the skills of existing programmers. Unlike Mozilla, Google’s interests range far and wide from web development to AI and everything in between. 

There are a number of areas within the Google ecosystem where we can learn just about anything. There’s Google Digital Garage, Google for Education, Google Developers, Android Developers, and probably several others we missed. Get into Google and look around. If you want to learn something, they probably have a computer programming class on it.

ProsConsLanguages/Technologies
Major authorityCan be hard to find what you wantToo many to list
Beginner to post-grad levelGoogle-centricKotlin
In-browser codingPython
Some free certificationsAI
Flutter
HTML

Microsoft

If we’re going to list Google, we’re going to list Microsoft. Like Google, there’s a lot of different places in the Microsoft universe to find their free training. The best place to start is Microsoft Learning

The Microsoft Learn platform addresses everything from programming to systems administration to Office apps. So it can be a bit challenging to find what you’re looking for, but it is probably there. Learning is gamified by awarding XP (experience points) and virtual badges and trophies.

These are displayed on your Microsoft profile and can be shared through social media as a testament to the skills you’ve learned. Also, check out Microsoft’s Channel 9.

ProsConsLanguages/Technologies
Microsoft authorityMicrosoft centricC#
Self-pacedRequires separate IDE.NET
Can lead to certificationMostly text-basedPython
Lots of code samplesSandbox on desktop onlySQL
Free Azure sandboxAzure
Earn XP, Badges, TrophiesGitHub

edX

Now we’re onto the big names in massive open online courses (MOOCs). Known for enabling people to get certificates and even degrees for more reasonable prices, MOOCs like edX also have a lot of free options.

Of course, the free options don’t get you a certificate or degree, but you might not need one. If you’re concerned about whether you could do well enough to earn the certificate, maybe do it as the free computer programming class first, then pay to convert it to a certificate.

The courses are led by world-class scholars from world-class schools. The style is a lot like lecture hall learning, but with more comfortable chairs.

ProsConsLanguages/Technologies
University-level coursesCourses may require prior knowledgeAll of them
Degrees and certificates possible for a feeDegrees have prerequisites and an application processPython
Text and video mixedJava
Downloadable resourcesAI
Course forumsMachine Learning
Android and iOS apps

Coursera

Very much like edX, but Coursera does have its own flavor. I’ve completed a few courses in both and did find there was some difference in the presentation style, even though both feature professors from some of the finest schools possible. 

My personal experience was that Coursera was a bit more informal than edX but your experience may vary. Again, you can complete certificates or entire degrees for a fee. Otherwise, the courses are free to take.

ProsConsLanguages/Technologies
University-level coursesCourses may require prior knowledgeAll of them
Degrees and certificates possible for a feeDegrees have prerequisites and an application processData Science
Text and video mixedAI
Some videos have subtitles in other languagesPython
Downloadable resourcesC++
Course forumsRuby on Rails
Android and iOS apps

freeCodeCamp

As their site says, “Since 2014, more than 40,000 freeCodeCamp graduates have gotten jobs at tech companies including Apple, Google, Amazon, Microsoft, (and) Spotify.” Can you get a better endorsement than that? 

Choose from over 5,000 tutorials and everything computer science, programming, and IT. freeCodeCamp is at the top of almost everyone’s list of sites for learning to program for free.

ProsConsLanguages/Technologies
Well regardedNoneToo many to list
CertificationWeb design
Side-by-side lesson and IDEAPIs
In-lesson testingMicroservices
Alumni networkNpm
MongoDB
JavaScript

The Odin Project

Despite the intimidating name, The Odin Project is an easy to digest full-stack curriculum. The entire website and its courses are open source and available on Github. It’s maintained by a community of developers, most of whom learned to program there. 

Like freeCodeCamp, many developers got their first job after completing courses on the site. They even provide a course called Getting Hired. 

ProsConsLanguages/Technologies
Well regardedNoneHTML + CSS
Portfolio-based learningJavaScript
In-browser IDEGIT
Large communityDatabases
Ruby
node.js

SkillShare

A slightly different kind of MOOC, SkillShare is a collection of short and long courses created by people who just want to share their skills. It’s almost a Coursera or edX by people who aren’t necessarily professors. Because of this, the quality of the computer programming classes can range from decent to great. You could even make your own online course and post it there. 

There are a lot of free courses, and SkillShare does have a premium paid option that allows you to access more courses. The free courses appear to be centered on web development. It might not get you ready for a career as a programmer but it can help fill in the knowledge gaps.

ProsConsLanguages/Technologies
Wide varietyQuality variesToo many to list
Video-basedNo transcriptsUML
Downloadable resourcesHTML and CSS
Can add courses to your calendarJavaScript
PHP

Get Learning!

So many free opportunities, go at your own pace, don’t pay a dime, and even get human support! There is absolutely nothing preventing you from becoming a programmer or taking your coding game to the next level. 

Check out whatever site strikes your fancy and if you find a few that we didn’t we’d love to hear about it. Let us know if you have completed courses from any of these sites and what you thought about them.