Go at your own pace, don’t pay a dime
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.
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?
|In-browser coding exercises||Only 15 courses||Python|
|Condensed courses||Limited to data science||SQL|
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.
|University quality||Requires separate IDE||Java|
|Creative Commons license||Too formal for some||Machine Learning|
|Videos and transcripts|
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.
|In-browser coding||Hobby level||CSS|
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.
|In-browser coding||Ads can be distracting||Java|
|College-level info||Text-based||C and C++|
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.
|Well-organized content||Distracting ads||Too many to list|
|Huge range of courses||Python|
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.
|Major authority||Limited to web development||HTML|
|Browser-based IDE||Mostly text-based||CSS|
|Beginner to advanced||Python / Django|
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.
|Well-respected||None||Too many to list|
|HTML and CSS|
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.
|Major authority||Can be hard to find what you want||Too many to list|
|Beginner to post-grad level||Google-centric||Kotlin|
|Some free certifications||AI|
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.
|Microsoft authority||Microsoft centric||C#|
|Self-paced||Requires separate IDE||.NET|
|Can lead to certification||Mostly text-based||Python|
|Lots of code samples||Sandbox on desktop only||SQL|
|Free Azure sandbox||Azure|
|Earn XP, Badges, Trophies||GitHub|
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.
|University-level courses||Courses may require prior knowledge||All of them|
|Degrees and certificates possible for a fee||Degrees have prerequisites and an application process||Python|
|Text and video mixed||Java|
|Course forums||Machine Learning|
|Android and iOS apps|
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.
|University-level courses||Courses may require prior knowledge||All of them|
|Degrees and certificates possible for a fee||Degrees have prerequisites and an application process||Data Science|
|Text and video mixed||AI|
|Some videos have subtitles in other languages||Python|
|Course forums||Ruby on Rails|
|Android and iOS apps|
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.
|Well regarded||None||Too many to list|
|Side-by-side lesson and IDE||APIs|
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.
|Well regarded||None||HTML + CSS|
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.
|Wide variety||Quality varies||Too many to list|
|Downloadable resources||HTML and CSS|
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.