Our world is filled with technology. From our ever present phones, digital assistants, smart homes, and cars, we are surrounded by tech. Our jobs revolve around computers and data, and we’re all tied together through the internet. We’re not quite living in the Matrix, though programming and coding are a big part of nearly everything we do.
Coding and Programming skills are increasing in demand. As more schools, colleges, and universities move towards an online format, why not learn to code from some top institutions for free? We’ve collected a list of free online courses in coding and computer programming.
Many lessons start at a beginner level, so they make a perfect place to begin your education or try out a programming language or topic to see if you like it before diving in deeper.
One of the most powerful aspects of learning through online videos is that you can consume lessons in chunks of time as your schedule allows. More importantly, you can review sections as many times as you’d like. The ability to replay sections until you “get it” and do so without someone looking over your shoulder is a benefit absent in regular classroom instruction. With online courses, all the information is there and the student can control the pace of the lesson.
Free Online Coding Courses for Kids
Here are a few places to find some free online coding courses for kids:
Code Academy is a free coding website focused on text based coding for older students through online lessons. It’s not open ended, so students aren’t creating their own apps, though it’s a great resource to learn and you can’t beat the price. (There is a paid tier for more advanced courses.)
Khan Academy is a non profit organization that teaches programming (as well as math and other subjects) through video lessons and tutorials.
Wired magazine did a nice piece titled, “How Khan Academy Is Changing the Rules of Education” that examines how children taking math courses via the Khan Academy are doing problems light years ahead of their normal class curriculum.
Udemy is an online learning platform with courses on a wide variety of topics. Here are some Udemy courses geared specifically for kids:
Programming for Kids – How to Make Coding Fun
We’ll have a larger list from Udemy below geared for specific languages.
For more resources around coding for kids, check out our post: How to Teach Kids to Code, where we look at some online learning platforms, apps, languages, toys, games, and courses.
Free Distance Learning – University Courses in Coding and Programming
Whether you call it Remote Learning, Distance Learning, or Online Courses, accredited colleges and universities have been offering classes online as long as there has been technology to support it. It’s been a great way to reach out to a greater number of learners, or to give students who wouldn’t be able to attend classes on campus a way to learn.
These courses are commonly referred to as MOOCs, or Massive Open Online Courses.
You can find a wide number of courses for free online. Where the courses themselves may be free, not that if you want a certificate of completion some universities charge between $40 to $100 for those that want it (or just want something to hang on the wall.)
Programming for Everybody (Getting Started with Python)
University of Michigan
This course is a “no prerequisite” introduction to Python Programming. You will learn about variables, conditional execution, repeated execution and how we use functions. The homework is done in a web browser so you can do all of the programming assignments on a phone or public computer.
Introduction to Computer Science and Programming Using Python
Massachusetts Institute of Technology (MIT)
An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5.
Learn to Program: The Fundamentals
University of Toronto
Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.
Learn to Program: Crafting Quality Code
University of Toronto
Not all programs are created equal. In this course, we’ll focus on writing quality code that runs correctly and efficiently. We’ll design, code and validate our programs and learn how to compare programs that are addressing the same task.
Code Yourself! An Introduction to Programming
University of Edinburgh & Universidad ORT Uruguay
This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.
Software Development Fundamentals
University of Pennsylvania
Learn the fundamentals of object-oriented programming in Java, as well as best practices of modern software development.
Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne
In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically.
Computing in Python I: Fundamentals and Procedural Programming
Georgia Institute of Technology
Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs.
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.
Programming Languages, Part A
University of Washington
This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language — and in learning new ones.
Introduction to Programming for the Visual Arts with p5.js
University of California, Los Angeles
This course is an introduction to writing code within the context of the visual arts. It asks two primary questions:
What is the potential of software within the visual arts?
As a designer or artist, why would I want (or need) to write software?
Introduction To Swift Programming
University of Toronto
By the end of this first course you will be able to demonstrate intermediate application of programming in Swift, the powerful new programming language for iOS. Guided by best practices you will become proficient with syntax, object oriented principles, memory management, functional concepts and more in programming with Swift.
Introduction to Java Programming – Part 1
The Hong Kong University of Science and Technology
Learn the fundamental elements of Java programming and data abstraction.
Introduction to Java Programming – Part 2
The Hong Kong University of Science and Technology
This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework.
Programming for the Web with JavaScript
University of Pennsylvania
Learn how to develop dynamic, interactive, and data-driven web apps using JavaScript.
Web Coding Fundamentals: HTML, CSS and Javascript
National University of Singapore
This course is an introduction to using the Web for artistic creation. It is a “literacy” course designed to introduce you to the various core components that make the web such a powerful platform.
Creative Coding
New York University (NYU)
Creative Coding will introduce you to the fundamental concepts of object oriented programming, using code as a method for self-expression in a variety of media, such as 2D graphics, animation, image, and video processing.
Basics of Computing and Programming
New York University (NYU)
This is a self-paced course that provides an Introduction to Computing and Programming
This is a self-paced course that provides an Introduction to Computing and Programming
Minecraft, Coding and Teaching
University of California, San Diego
Learn how to teach coding skills to your students by using Minecraft, one of the most popular games of all time.
Building Web Applications in PHP
University of Michigan
In this course, you’ll explore the basic structure of a web application, and how a web browser interacts with a web server.
Building Database Applications in PHP
University of Michigan
In this course, we’ll look at the object oriented patterns available in PHP. You’ll learn how to connect to a MySQL using the Portable Data Objects (PDO) library and issue SQL commands in the the PHP language.
Developing Android Apps with App Inventor
The Hong Kong University of Science and Technology
The course will give students hands-on experience in developing interesting Android applications. No previous experience in programming is needed, and the course is suitable for students with any level of computing experience.
Multiplatform Mobile App Development with React Native
The Hong Kong University of Science and Technology
This course focuses on developing truly cross-platform, native iOS and Android apps using React Native and the Expo SDK.
Build Your Own iOS App
University of Toronto
In the Build Your Own iOS App capstone you will expand your repertoire of additional features and more advanced functions that may be implemented within the iOS environment.
Free Online Coding Courses from Top Companies
Machine Learning with Python: A Practical Introduction
IBM
Machine Learning can be an incredibly beneficial tool to uncover hidden insights and predict future trends. This Machine Learning with Python course will give you all the tools you need to get started with supervised and unsupervised learning.
Python Basics for Data Science
IBM
This Python course provides a beginner-friendly introduction to Python for Data Science. Practice through lab exercises, and you’ll be ready to create your first Python scripts on your own!
Introduction to C++
Microsoft
Get a brief introduction to the C++ language from the experts at Microsoft.
HTML5 Apps and Games
The World Wide Web Consortium (W3C)
Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web!
Looking for a programming job or coding opportunities? Check for listings at FindSoftwardDeveloperJobs.com and start or upgrade your career
Free Online Courses in Coding and Programming
Udemy
Just about anyone can create and post a course on Udemy, so the quality varies widely. You may come across some content that isn’t incredibly insightful or well presented. On the flip side, you have some world class teachers and instructors that have content available on Udemy. We’ve tried to curate our list to include quality content.
Here are free courses that teach Java programming:
- Java Tutorial for Complete Beginners
- Learn to Program in Javascript: Beginner to Pro
- Fundamentals of JavaScript
- Understanding Javascript from Very Basics to Core
- JavaScript Basics: Start Coding in 5 Minutes
- JavaScript Essentials 2020 Mini Course
- HTML5 Game from scratch step by step learning JavaScript
- Introductory To JavaScript – Learn The Basics of JavaScript
- JavaScript Basics Crash Course (A Head Start for Beginners)
- Modern Javascript Crash Course
- Ultimate JavaScript Strings
Here are free online courses that teach coding in Python. For a frame of reference, Python is the language used to build YouTube, Spotify, Instagram and many other platforms.
- Free Python 101 Class Beginners Bootcamp Intro to Python NYC
- Introduction To Python Programming
- Beginning with Python Programming
- Python Hand-on Solve 200 Problems
- Python for Machine Learning – Part 1
- Python Programming Fundamentals
- Fundamentals of Programming using Python 3
- Rock Paper Scissors – Python Tutorial
- Learn Python 3.6 for Total Beginners
- Learn Python from Zero
- Learn Python From Scratch
- Python Absolute Basic Level
- 60 Minute Python Crash Course – Building a Solid Foundation!
- Python Basics – Bootcamp
- Complete Python Masterclass – Learn From Scratch
- Practical Python
- Absolute Python Basics For Anyone
- Python Programming From Basic To Advance
- Python for Data Science – Great Learning
- Learn Android Application Development
MakeCrate (affilaite link) has some free online coding courses. Make Crate is a monthly subscription box service that offers coding projects delivered to your door.
You can read more about Make Crate and other STEM subscription boxes in this post.
And if all that wasn’t enough, how about learning coding from an AI? Check out this example of how to leverage ChatGPT to start learning Python. You could apply these same principles to just about any language:
Free Distance Learning Courses in Coding – Wrap Up
As you can see, there are tons of free online courses in coding, programming, and just about any topic you’d wish to study. Whether you’re getting a head start on a career, learning some new career skills, or looking for education on a budget, there is probably a free course to get you started.
Happy learning!
Also check out our round up of best Coding Toys for Kids, where we explore learning through play for toddlers through teens.
Find out whats the best age to start coding and how to teach kids to code.