We’re living in the golden age of programming. Not only is there a healthy number of in-demand computer programming jobs, but there is now an abundance of free online courses. These days, you can become a master coder without picking up a traditional computer science degree.
Where are all of these excellent learning resources, you ask? Great question. Keep reading and we’ll show you.
But before you do, we recommend reading these tips on learning how to program without stress and these tips for mastering a new programming language. Or are you worried that it’s “too late” for you? Nonsense. No one is too old to start programming. Even if you aren’t a newbie, you can still benefit: picking up a new programming language can be a great way to overcome programmer’s block!
MIT OpenCourseWare is simply 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. But these aren’t exhaustive. 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 another free online course platform, except this one’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.
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. Free courses are plentiful.
A note on paid Udemy courses: never pay full price! The Udemy marketplace constantly goes through massive sale periods, frequently dropping prices anywhere from 50 to 90 percent off. Unless you absolutely need a course right now, do yourself a favor and wait.
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.
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.
OpenCourser isn’t an education platform like the other sites listed above. 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.
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. If you venture out on your own, keep in mind what makes a good programming tutorial.
Notable Mention: Lynda.com
As of this writing, Lynda is home to just under 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.
The only downside is that Lynda is a paid platform with a basic subscription costing $20 per month. But there’s a trick you can use to access Lynda’s courses for free: all you need is a public library membership.
More Tips for Computer Programming Newbies
After completing your first couple of courses, you may end up at a skill plateau. If that happens, consider these project ideas for continued programming progress. I also recommend tapping into some programming-related podcasts, which can help you feel more comfortable and accelerate growth.
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.
Hopefully these course sites help! If you know of any others, please share them with us in a comment below. Otherwise, let us know what kind of programming you want to learn.