25 Free Online Programming Courses for Beginners - 2017

By Denton Zhou | Updated October 20, 2017 (Originally Published October 18, 2017)

Update 10/19: Added a new course, "How to Code - Simple Data"

New to programming? We picked out 25 MOOCs and courses you can take online to get you started. These are courses that are perennial favorites among our users and staff.

These courses are completely free. The only instance in which you would need to pay is if you decided you wanted an optional verified certificate.

More importantly, we've made sure the content and materials covered in these courses are up-to-date, so you can rest assured you're learning only what's relevant.

Why learn programming?

It's no secret: programming talent is in high demand. Job growth for software developers has outpaced the broader labor market for the past decade and is projected to do so for the next decade. Meanwhile, salaries remain high, with the median salary for a programmers at $102,280.

High demand for talent isn't the only driver for high pay. Programmers do important work that can contribute significantly to any organization's bottom line. Some build applications, while others manage systems or develop creative solutions to complex problems.

Increasingly, professionals in non-technical roles and functions are learning programming as well. Anyone, from analysts and data scientists to marketers and content creators, can benefit from learning a bit of programming to gain an edge in the competitive job market.

For example, just about every job has its set of repetitive and mundane tasks. A little programming knowledge can go a long way in automating away those tasks away so you can free up time to make a bigger impact elsewhere.

Which programming language?

This question comes up a lot and it's one I recall myself asking when I first started programming. We won't drill down into the nitty-gritty, but you can get an idea of what's popular from IEEE Spectrum and GitHub's respective rankings.

Most of the free online programming courses we'll look at teach primarily in either Python or Java, two of the most popular languages used in almost any organization. You can't go wrong with either. Additionally, we find it's easier to pick up a new language once you've gotten a solid grasp of one, so fret not about your choice of "first language".

How we organize the list

These appear in no particular order, but we did group them so you can narrow down your choices to the handful that suit your needs

#1-7 are comprehensive introductions are designed to give you the same foundation Computer Science students get in a university. There's a healthy mix of theory and practice. They're challenging for beginners, so you're best off taking these if you can set aside ~10-14 hours per each week to take them.

#8-15 give a broader introduction to programming, suited best if you want use programming as a tool without picking up too much theory. We also recommend these to anyone who wants to better understand what their technical peers in IT / Engineering do on the daily.

#16-22 teach programming in context of building applications for the web or for mobile devices. You might take these to build a dynamic and interactive web and mobile apps. Example technologies and languages taught here include HTML, CSS, JavaScript, Java (for Android), and Swift.

#23-26 teach you programming for specific use cases. Learn how to retrieve and organize data using SQL, generate business insights using code, or perform statistical analysis using a programmable statistical package like R.

The list itself - our picks

Without further ado, here are our choice picks for beginner programmers.

  1. Introduction to Computer Science and Programming Using Python from MIT
  2. Introduction to Computer Science from Harvard University
  3. Intro to Computer Science from Udacity
  4. Introduction to Java Programming – Part 1 from Hong Kong University of Science and Technology
  5. Introduction to Java Programming – Part 2 from Hong Kong University of Science and Technology
  6. AP Computer Science A: Java Programming from Purdue University
  7. How to Code: Simple Data from University of British Columbia
  8. Programming Foundations with Python from Udacity
  9. Learn to Program in Java from Microsoft
  10. Learn to Program: The Fundamentals from University of Toronto
  11. Introduction to Python: Absolute Beginner from Microsoft
  12. Introduction to Python: Fundamentals from Microsoft
  13. Object-oriented Programming in Python: Create Your Own Adventure Game from Raspberry Pi Foundation
  14. Begin Programming: Build Your First Mobile Game from University of Reading
  15. Logic and Computational Thinking from Microsoft
  16. Introduction to Web Development from University of California, Davis
  17. Intro to HTML and CSS from Udacity
  18. Full Stack Foundations from Udacity (Prerequisites: Take #8 and #23 first)
  19. Swift for Beginners from Udacity
  20. Intro to iOS App Development with Swift from Udacity
  21. Android for Beginners from Udacity
  22. Android Development for Beginners from Udacity
  23. Intro to Relational Databases from Udacity
  24. Data Analytics in Business from The Georgia Institute of Technology
  25. Introduction to R for Data Science from Microsoft
  26. Computing for Data Analysis from The Georgia Institute of Technology

More Posts

Getting More from Reviews

An update from the OpenCourser team about reading and writing reviews.

Resource Center


5 New Specializations that Teach You Future-Proof Skills

Course Spotlight


Statistics MOOCs and Online Courses that Will Make You a Data Guru

Numbers and data surround us, but how do individuals and companies use them to their advantage? This post looks at the field of statistics and how you might get a grasp on it through online courses.

Course Spotlight


70+ Free AP Online Courses & MOOCs for Advanced Placement Learners

Every year, a few million ambitious high school students sit for the AP exams. We look at why you might want to join these legions of test takers and how you can prep for AP exams through our comprehensive list of online AP courses.

Course Spotlight


Learner's Guide

New to online courses and MOOC's? We've covered all of the basics and then some about how you can get started taking them. You'll also find some helpful FAQ's in this guide as well.

Course Spotlight


Getting Started: A Guide to Online Courses for Students

Resource Center


Getting Started: A Guide to Online Courses for Professionals

Resource Center


Take These Award Winning MOOCs from MITx

Course Spotlight