Build Your Own Bootcamp

25 Free Online Programming Courses for Beginners - 2017

25 Free Online Programming Courses for Beginners - 2017

Denton Zhou | Updated October 20, 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

Newest First

Comments

Login to comment

No comments yet.


Mentioned in this post

Get the scoop on each course mentioned in ths post.

Introduction to Computer Science and Programming Using Python

Massachusetts Institute of Technology

Enroll

Introduction to Computer Science

Harvard University

Enroll

Intro to Computer Science

Udacity

Enroll

Introduction to Java Programming – Part 1

Hong Kong University of Science and Technology

Enroll

Introduction to Java Programming – Part 2

Hong Kong University of Science and Technology

Enroll

AP Computer Science A: Java Programming

Purdue University

Enroll

How to Code: Simple Data

University of British Columbia

Enroll

Programming Foundations with Python

Udacity

Enroll

Learn to Program in Java

Microsoft

Enroll

Learn to Program: The Fundamentals

University of Toronto

Enroll

Introduction to Python: Absolute Beginner

Microsoft

Enroll

Introduction to Python: Fundamentals

Microsoft

Enroll

Object-oriented Programming in Python: Create Your Own Adventure Game

Raspberry Pi Foundation

Enroll

Begin Programming: Build Your First Mobile Game

University of Reading

Enroll

Logic and Computational Thinking

Microsoft

Enroll

Introduction to Web Development

University of California, Davis

Enroll

Intro to HTML and CSS

Udacity

Enroll

Full Stack Foundations

Udacity

Enroll

Swift for Beginners

Udacity

Enroll

Intro to iOS App Development with Swift

Udacity

Enroll

Android for Beginners

Udacity

Enroll

Android Development for Beginners

Udacity

Enroll

Intro to Relational Databases

Udacity

Enroll

Data Analytics in Business

The Georgia Institute of Technology

Enroll

Introduction to R for Data Science

Microsoft

Enroll

Computing for Data Analysis

The Georgia Institute of Technology

Enroll

Don't miss out

Sign up for our newsletter. We'll share our favorite courses with you once weekly.