Right now, there's an abundant number of in-demand computer programming jobs, and a growing number of free online programming courses to help you land one of those jobs—even without a traditional computer science degree.
We'll show you where to find these excellent online programming classes, and recommend the best on each site. Whether you're a total beginner or a pro looking to sharpen your skills, there's something for you on this list.
MIT OpenCourseWare (OCW) is one of the best free online coding classes for beginners. It's incredible for dedicated self-starters, and you can go through them at your own pace.
The courses start from the basics and include all of the lectures, slides, and assignments used in the video tutorials. MIT OCW's Programming courses have introductory lessons on Computer Science and programming in Python along with other languages, as well as pretty comprehensive material on specific fields like machine learning and electronics.
The introductory ones are split into General Introductions, Language-Specific Courses, and Follow-Up Courses. For a full listing, browse the Computer Science section.
To help you get started, here are the best free MIT OCW Programming Courses:
For Beginners: Introduction to Computer Science and Programming
For Intermediate: Programming Languages
edX provides free college-level online courses, jointly spearheaded by MIT and Harvard University. Not only are the courses available without charge, but the organization itself is also non-profit. So you can rest easy knowing that you won't be exploited by ulterior motives.
Courses on edX can be Weekly or Self-Paced. Subjects span the entire range of topics you might find at any accredited university, but there's a heavy skew towards Computer Science, Engineering, and Business & Management. They're also divided into Introductory, Intermediate, and Advanced levels for your convenience.
edX also offers Certificate Programs, which are course curriculum that builds toward mastery in a specific area, like Front-End Web Development or Data Science.
To learn coding online for free, here are our top picks for the best free edX Programming courses:
For Beginners: CS50's Introduction to Computer Science (paid certification available)
Coursera is a free online course platform backed by Stanford University and venture capitalists. Coursera collaborates with various universities and organizations to provide their courses and earns revenue through its Certificate programs.
Coursera focuses on Specializations: sets of courses designed to build your skills in a particular topic, but not so comprehensive as to emulate a full program. For example, the "Data Structures and Algorithms" six-course specialization covers Basic Data Structures, Basic Algorithms, Graph Algorithms, String Algorithms, Advanced Algorithms, and Genome Assembly. When it comes to coding for beginners, there’s just as much variety, whether you’re eyeing software engineering or data science as a future career.
Note that not all courses are free, but many are. Courses are self-paced but have definite start and end dates, meaning you'll have to go through them as they're available. Today's courses may not be there tomorrow, but new ones may show up in their place. Check out the best Coursera courses worth paying for if you need some ideas.
Here are the best of Coursera's free online coding classes:
For Beginners: Programming for Everybody (Getting Started with Python)
For Intermediate: Full-Stack Web Development with React Specialization (Specialization)
Udacity is yet another online course platform, but unlike MIT OCW, edX, and Coursera, Udacity strictly focuses on topics related to programming, data science, and engineering. No math, social sciences, or humanities. It's all about technology, and we believe it's arguably better for it.
The goal of Udacity is to prepare you for occupational success in one of its tech-related fields. The platform places a lot of attention on its Nanodegree Programs, which are compact curriculums (usually completed in under a year) designed to get you job-ready as quickly as possible. But Nanodegrees cost anywhere from $100 to $500 each.
Don't want to pay anything? That's fine. You can eschew the whole curriculum-based approach and stick to individual free courses. Most of Udacity's free coding classes are basic introductions intended to kick-start learning in a full curriculum environment, so they're not particularly in-depth. You won't become a pro with them, but you'll learn the basics to get you going.
If you're taking coding classes on Udacity, here are some recommendations of the best courses to get started.
For Beginners: Intro to Python Programming
For Intermediate: Intro to Deep Learning with PyTorch
For Advanced: Design of Computer Programs
Udemy is an online education marketplace where anyone can create (and even sell) their own courses for others to consume. This is quite the double-edged sword: it allows skilled folks to share their knowledge without an education degree, but you may have to wade through a lot of crap to find it.
The programming courses on Udemy span all kinds of topics. You'll find everything from Python-based data crunching to the basics of ethical hacking, from Java fundamentals to master-level web development. You'll also find a lot of courses related to game development.
Note: Never pay full price for a Udemy course! The Udemy marketplace frequently holds massive sales, slashing prices anywhere from 50 to 90 percent off. While you wait, here are some of the best free Udemy coding classes to get started:
For Beginners: Programming 101
For Intermediate: Intermediate Level C++
You can get certifications by completing courses in various categories from freeCodeCamp's 3000-hour curriculum. freeCodeCamp offers content on Web Design, Quality Assurance, Data Visualization, Machine Learning, and other additional topics. They also cover coding adjacent frameworks such as Agile/Scrum methodologies.
These two are comprehensive courses, both 100 percent free, that will take you from zero to hero at your own pace. Even if you have no coding experience at all, you'll be fine. Expect to invest several months from start to finish so you can really understand the concepts taught. Don't rush it.
7. Khan Academy
Khan Academy is one of the internet's greatest treasures. This non-profit education platform has been a wonderful source of free education for the past decade, and it's only getting better. Want to learn Calculus? Biology? World History? How to do your taxes or invest your money? It's all here.
Get started with the Khan Academy Computer Programming Course
YouTube is very hit or miss. Thousands of tutorial playlists exist, but too many of them are superficial or downright wrong. Of those that seem promising, a good chunk of them are incomplete. And of the ones that are complete, a significant portion are outdated.
That being said, if you have a discerning eye, YouTube can be a great resource for learning how to program. Start with our roundup of the best YouTube programming tutorials.
OpenCourser isn't an education platform like the other sites listed here. Rather, it's a search engine that aggregates thousands of free online courses from around the web and brings them to your fingertips.
As of this writing, over 900 free online programming courses are cataloged by OpenCourser, with many more added every day. Yes, you'll find a bunch of courses from edX, Coursera, Udacity, etc. but you'll also find some from other course providers, like Saylor Academy. At the very least, it's a convenient way to search many of the aforementioned platforms at once.
Codecademy is a series of interactive online courses that aim to teach you the basics of a handful of programming languages and frameworks. Each course is a gamified, step-by-step process that holds your hand all the way from beginning to end.
But a word of warning before you dive into Codecademy: the things you'll learn here are somewhat basic and superficial. Codecademy teaches you how to write code, but it doesn't teach you how to think like a programmer very well. Many first-time newbies end up frustrated because they don't know what to do with the knowledge they've picked up.
If you have prior coding experience and simply want to learn the syntax of a new language, then Codecademy is extremly useful. If you consider yourself a beginner, then you should avoid Codecademy for now.
11. The Odin Project
The curriculum is expansive, the moderators are extremely helpful, and the projects you complete are based on real-world scenarios that you might encounter in a dev role. Plus, The Odin Project boasts of a community that's constantly encouraging growth and actively assisting members.
Get Your Code On
Coding is a key skill for the times and can be a foundation that helps you navigate the evolving tech space from a creator's mindset. It's not a walk in the park, but it'll pay off if you're determined to stick with it.
There's no question that the PS4 dominated for almost a decade, but here's why we think you shouldn't buy its successor, the PlayStation 5.