The best free programming courses during lockdown

Want to learn to program? These excellent free introductory courses from Codecademy and Coursera will have you coding in no time

So you want to learn to program, but you can’t leave the house. Fear not. You can take courses online that will teach you the principles of software development along with your first programming language. In my experience, it doesn’t really matter what language you learn first, so don’t agonize over that. The important step is learning to think like a programmer.

There are plenty of good programming courses available online, but they’re not all free. For instance, LinkedIn Learning (formerly has a bunch of good courses, but you need to pay for LinkedIn (after one free month). 

I’ve zeroed in on Codecademy and Coursera here because both offer high-quality courses in a variety of programming languages that you can take for free. However, they are different. Codecademy teaches programming concepts by stepping you through interactive exercises. Coursera courses, which are offered in conjunction with a partner college, university, or tech company, take a more traditional approach.

I’m not recommending one over the other. I suggest you give both Codecademy and Coursera a try and see which works best for you. You might very well find that they are complementary. 


Codecademy has free and pro levels. Navigating the free courses without needing to upgrade to a monthly or annual pro subscription can be tricky, but it's possible unless you want to follow a multi-course skill path, take an advanced course, or need the extra resources and projects offered to pro subscribers.

Introduction to JavaScript
JavaScript is the programming language of the web. You can use it to add dynamic behavior, store information, and handle requests and responses on a website. This course sequence covers data types and structures, functions, and object-oriented programming with classical inheritance in ES6 syntax. This course will teach you the JavaScript fundamentals you’ll need for front-end or back-end development.

Learn ReactJS: Part I and Part II
React is an open source JavaScript library for building user interfaces, often for single-page applications or to add interactive views to existing web applications built in a variety of architectures. Created and maintained by Facebook, it is one of the most popular JavaScript toolkits for front-end development. This pair of courses will teach you how to build fast and efficient interactive web apps with React. Note on prerequisites: You should already have a grasp of JavaScript and basic HTML. 

Learn Python 2
Python is a general purpose, versatile, and modern programming language. It’s great as a first language because it is concise and easy to read. And you can use it for everything from web development to scientific applications. Learn Python 2 will teach you the basics of the world’s fastest growing and most popular programming language used by software engineers, analysts, data scientists, and machine learning engineers alike. (Python 3 is a “Pro” course, which requires a subscription.)

Learn Go
Google’s open source programming language, Go (Golang), has drawn more and more attention as developers discover how feature-packed, straightforward, and fast the language is. In addition to Google, Go is used by Medium, Pinterest, Slack, Twitch, and many other companies, as well as by open source projects such as Docker and Kubernetes. 

Learn Swift
Swift is a powerful and intuitive general purpose, compiled programming language developed by Apple for iOS, macOS, tvOS, and watchOS. Combining speed and modern features like safety by design, Swift is becoming increasingly popular for building server applications on Linux and is even being used for machine learning. This course starts with fundamental programming concepts before digging into more advanced Swift features. 


Depending on the partner university or company, Coursera courses may be completely free, have a monthly fee after the first seven days, or may be free to audit but require a tuition payment if you want course credit. I’ve picked a few highly rated introductory courses that you may be able to finish for free. In some cases, you may not have access to graded assignments unless you purchase a certificate. 

Python Basics, University of Michigan
This course introduces the basics of Python 3 including conditional execution and iteration as control structures, and strings and lists as data structures. The first of five courses in the Python 3 Programming Specialization, Python Basics is for you if you’re a newcomer to Python programming, if you need a refresher on Python basics, or if you may have had some exposure to Python programming but want a more in-depth exposition and vocabulary for describing and reasoning about programs. If you only want to read and view the course content, you can audit the course for free.

Computer Science: Programming with a Purpose, Princeton
This course begins by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O, then turns to functions, key concepts such as recursion, modular programming, and code reuse, and finally object-oriented programming. The course uses the Java programming language but teaches the basic skills for computational problem solving that are applicable in many modern computing environments. In other words, proficiency in Java is a goal but the focus is on the fundamental concepts in programming. All of the features of this course are available for free but it does not offer a certificate upon completion.

Introduction to Programming with MATLAB, Vanderbilt
This course teaches computer programming to those with little to no previous experience. It uses the programming language called MATLAB because MATLAB is easy to learn, versatile, and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers. (As a result, MATLAB is widely used in the natural sciences, engineering, finance, and industry.) Nevertheless, this course is not a MATLAB tutorial but an introductory programming course that uses MATLAB to illustrate general concepts in computer science and programming. If you only want to read and view the course content, you can audit the course for free.

Computational Thinking for Problem Solving, University of Pennsylvania
Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. In this course you will learn computational thinking — how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program. If you only want to read and view the course content, you can audit the course for free.

Read more about software development:

Copyright © 2020 IDG Communications, Inc.