Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.
Right now, there’s an abundant number of in-demand computer programming jobs, and an abundant 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. If you don’t know the first thing about programming, check out our introduction to what coding is.
MIT OpenCourseWare is incredible. Many years ago, when I was struggling through a Linear Algebra course in college, MIT OCW came to my rescue. Complete courses are available online for free, and you can go through them at your own pace.
That Linear Algebra course (no longer available, sadly) is a strong contender for The Best College Course I’ve Ever Taken. It was all video lectures, but the professor knew his stuff and he presented the material in an easy-to-digest manner. It truly validated MIT’s reputation as an educational institute.
So I’m confident that you’ll love MIT OCW’s Programming courses. The introductory ones are split into General Introductions, Language-Specific Courses, and Follow-Up Courses. For a full listing, browse the Computer Science section.
edX is a provider of free college-level online courses, jointly spearheaded by MIT and Harvard University. Not only are the courses available without charge, the organization itself is 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 build toward mastery in a specific area, like Front-End Web Development or Data Science. These are handy for deeper learning.
Coursera is a free online course platform that’s 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.
What’s nice is that Coursera focuses on Specializations: sets of courses designed to build your skills in a particular topic, but not so comprehensively as 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.
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.
PVTuts is a free online repository of video courses for learning programming languages. It hasn’t been updated since 2013, but the video library is still a great resource for newbies. Just know that these courses are strictly about language syntax and nothing else.
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, no social sciences, no humanities. It’s all about technology, and 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.
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 have to wade through a lot of crap to find it.
The programming courses on Udemy range across 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, check out the best free Udemy courses.
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.
8. 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.
YouTube is very hit or miss. Thousands of tutorial playlists exist, but too many of them are superficial or downright wrong. Of the ones 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 elsewhere, like Saylor Academy. At the very least, it’s a convenient way to search many of the above 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 extremely basic and superficial. Codecademy teaches you how to write code, but it doesn’t teach you how to think like a programmer. 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 actually pretty useful. If you consider yourself a beginner, then you should avoid Codecademy for now.
Notable Mention: Lynda
Lynda is home to over 6,000 different online courses spread across 12 tech-related fields (e.g. Animation, CAD, IT, Marketing, Photography) and hundreds of more specific topics of interest. With over 670 courses, the Programming category makes up a huge chunk of Lynda’s content.
Topics covered include Foundational Programming Concepts, Database Management, Game Development, Mobile Development, Web Development, and, of course, courses for individual programming languages. What’s nice is that courses are divided into Beginner, Intermediate, and Advanced levels, so you can always find the ones most relevant to you.
Lynda is a paid platform that costs $20/mo, but there’s a trick you can use to access Lynda courses for free.
More Tips for Computer Programming Newbies
If you stick with it and decide to pursue programming as a career, check out our tips for programming interview preparation. On the other hand, you may find that programming is too difficult: signs that programming isn’t for you.