In May of 2021, I wrote an article titled Coding Programs – 101 Ways to Learn to Code for Free. But since then, many more free courses have come out that should be added to the list.

In this article, I'm going to show you 152 more courses where you can learn computer science and programming for free.

The freeCodeCamp courses are completely free and some of them include a free certification that you can add to your LinkedIn or résumé.

Note that some of the non-freeCodeCamp courses I've listed here (such as the university courses) are free to audit, but do require you to pay a fee if you want a certificate.

Here is the complete list of free courses, arranged by topic. Once you find a course that interests you, click that link and it will jump you down to a more detailed description of that course.

Computer Science Courses (30)

  1. Introduction to Programming and Computer Science (freeCodeCamp)
  2. Data Structures - Computer Science Course for Beginners (freeCodeCamp)
  3. CS50's Introduction to Computer Science (Harvard University)
  4. Introduction to Computer Science and Programming Using Python (MIT)
  5. Introduction to Computational Thinking and Data Science (MIT)
  6. Algorithms, Part I (Princeton University)
  7. Algorithms, Part II (Princeton University)
  8. Analysis of Algorithms (Princeton University)
  9. Principles of Computing (Part 1) (Rice University)
  10. Principles of Computing (Part 2) (Rice University)
  11. Algorithmic Thinking (Part 1) (Rice University)
  12. Algorithmic Thinking (Part 2) (Rice University)
  13. Divide and Conquer, Sorting and Searching, and Randomized Algorithms (Stanford University)
  14. Graph Search, Shortest Paths, and Data Structures (Stanford University)
  15. Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming (Stanford University)
  16. Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Stanford University)
  17. Algorithmic Toolbox (University of California San Diego)
  18. Data Structures (University of California San Diego)
  19. Algorithms on Graphs (University of California San Diego)
  20. Algorithms on Strings (University of California San Diego)
  21. Advanced Algorithms and Complexity (University of California San Diego)
  22. Genome Assembly Programming Challenge (University of California San Diego)
  23. Introduction to Algorithms (MIT)
  24. Advanced Data Structures (MIT)
  25. Big O Notation (freeCodeCamp)
  26. Graph Algorithms for Technical Interviews (freeCodeCamp)
  27. Recursion in Programming (freeCodeCamp)
  28. Data Structures - Full Course Using C and C++ (freeCodeCamp)
  29. Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges (freeCodeCamp)
  30. Algorithms and Data Structures (freeCodeCamp)

Git and Github Courses (2)

  1. Git and GitHub for Beginners - Crash Course (freeCodeCamp)
  2. Git & GitHub Crash Course For Beginners (Brad Traversy)

HTML Courses (8)

  1. Basic HTML and HTML5 (freeCodeCamp)
  2. HTML Full Course - Build Your Own Website (freeCodeCamp)
  3. Introduction to HTML5 (University of Michigan)
  4. HTML Tutorial for Beginners: HTML Crash Course 2021 (Programming with Mosh)
  5. HTML Crash Course For Absolute Beginners (Traversy Media)
  6. Learn HTML (Codecademy)
  7. HTML For Beginners The Easy Way (html.com)
  8. HTML Crash Course for Beginners - Website Tutorial (freeCodeCamp)

CSS Courses (13)

  1. Responsive Web Design (freeCodeCamp)
  2. CSS Tutorial - Zero to Hero (freeCodeCamp)
  3. Sass Tutorial for Beginners - CSS With Superpowers (freeCodeCamp)
  4. Intro to HTML and CSS (Udacity)
  5. HTML and CSS Tutorial (MarkSheet)
  6. CSS Crash Course For Absolute Beginners (Traversy Media)
  7. Introduction to CSS3 (University of Michigan)
  8. CSS Basics (W3C)
  9. Bootstrap 5 tutorial - crash course for beginners in 1.5H (Keep Coding YouTube channel)
  10. Learn CSS Media Queries by Building 3 Projects (freeCodeCamp)
  11. CSS Flexbox Crash Course (freeCodeCamp)
  12. Learn Bootstrap 5 and SASS by Building a Portfolio Website (freeCodeCamp)
  13. Tailwind CSS Crash Course (Traversy Media)

JavaScript Courses (18)

  1. JavaScript Algorithms and Data Structures (freeCodeCamp)
  2. Learn JavaScript - Full Course for Beginners (freeCodeCamp)
  3. Full Stack JavaScript (the Odin Project)
  4. The Modern JavaScript Tutorial (javascript.info)
  5. JavaScript Tutorial (javascripttutorial.net)
  6. LearnJS (learn-js.org)
  7. Eloquent JavaScript (eloquentjavascript.net)
  8. Learn JavaScript (Codecademy)
  9. JavaScript (SoloLearn)
  10. MDN JavaScript (MDN web docs)
  11. JavaScript Programming (freeCodeCamp)
  12. JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour (Programming with Mosh)
  13. JavaScript: Understanding the Weird Parts - The First 3.5 Hours (Tony Alicea)
  14. TypeScript Course for Beginners 2021 - Learn TypeScript from Scratch! (Academind)
  15. APIs and Microservices Course (freeCodeCamp)
  16. Quality Assurance Course (freeCodeCamp)
  17. Node.js and Express.js - Full Course (freeCodeCamp)
  18. Node.js Tutorial for Beginners: Learn Node in 1 Hour (Programming with Mosh)

JavaScript Frameworks and Libraries (16)

  1. freeCodeCamp React Course (freeCodeCamp)
  2. React JS Course for Beginners - 2021 Tutorial (freeCodeCamp)
  3. Scrimba React course (Scrimba)
  4. Codecademy React Course (Codecademy)
  5. React JS - React Tutorial for Beginners (Programming with Mosh)
  6. React JS Crash Course 2021 (Brad Traversy)
  7. freeCodeCamp Redux Course (freeCodeCamp)
  8. Redux For Beginners | React Redux Tutorial (Dev Ed)
  9. Thinkster Angular Tutorial (Thinkster)
  10. Angular Crash Course (Brad Traversy)
  11. Learn Angular - Full Tutorial Course (freeCodeCamp)
  12. Learn Vue.js - Full Course for Beginners (freeCodeCamp)
  13. Vue JS Crash Course 2021 (Brad Traversy)
  14. Data Visualization with D3, JavaScript, React - Full Course [2021] (freeCodeCamp)
  15. freeCodeCamp jQuery Course (freeCodeCamp)
  16. Next.js for Beginners - Full Course (freeCodeCamp)

Python Courses (27)

  1. Programming for Everybody (Getting Started with Python) (University of Michigan)
  2. Python Data Structures (University of Michigan)
  3. Using Python to Access Web Data (University of Michigan)
  4. Using Databases with Python (University of Michigan)
  5. Capstone: Retrieving, Processing, and Visualizing Data with Python (University of Michigan)
  6. An Introduction to Interactive Programming in Python (Part 1) (Rice University)
  7. An Introduction to Interactive Programming in Python (Part 2) (Rice University)
  8. Scientific Computing with Python (freeCodeCamp)
  9. Data Analysis with Python (freeCodeCamp)
  10. Information Security (freeCodeCamp)
  11. Machine Learning with Python (freeCodeCamp)
  12. Python Django Web Framework - Full Course for Beginners (freeCodeCamp)
  13. Learn Python - Full Course for Beginners  (freeCodeCamp)
  14. The Python Handbook (Flavio Copes)
  15. Python Tutorials for Absolute Beginners  (CS Dojo)
  16. Studytonight (studytonight.com/python/)
  17. Python Core (SoloLearn)
  18. Python Basics with Sam (freeCodeCamp)
  19. Python Beginner Tutorials (Pythonspot)
  20. Python Tutorial (PythonForBeginners)
  21. Automate the Boring Stuff with Python (online book)
  22. Learn Python 2 (Codecademy)
  23. Python Crash Course For Beginners (Traversy Media)
  24. Python Tutorial - Python for Beginners (Programming with Mosh)
  25. PySpark Tutorial (freeCodeCamp)
  26. Python Backend Web Development Course (with Django) (freeCodeCamp)
  27. Flask Course - Python Web Application Development (freeCodeCamp)

Mobile App Development Courses (4)

  1. Android Development for Beginners - Full Course (freeCodeCamp)
  2. React Native Tutorial for Beginners - Build a React Native App [2020] (Programming with Mosh)
  3. Kotlin Course - Tutorial for Beginners (freeCodeCamp)
  4. Swift Programming Tutorial for Beginners (Code with Chris)

Game Development Courses (2)

  1. CS50's Introduction to Game Development (Harvard)
  2. Learn Unity - Beginner's Game Development Tutorial (freeCodeCamp)

C, C++, C# Courses (6)

  1. C Programming Tutorial for Beginners (freeCodeCamp)
  2. C++ Tutorial for Beginners - Full Course (freeCodeCamp)
  3. C# Tutorial - Full Course for Beginners (freeCodeCamp)
  4. C Course (SoloLearn)
  5. C++ Course (SoloLearn)
  6. C# Course (SoloLearn)

Java Courses (4)

  1. Java Tutorial for Beginners [2020] (Programming with Mosh)
  2. Spring Boot Tutorial for Beginners  (freeCodeCamp)
  3. Java Testing - JUnit 5 Crash Course (freeCodeCamp)
  4. Java Course (SoloLearn)

PHP Courses (4)

  1. PHP Programming Language Tutorial - Full Course (freeCodeCamp)
  2. PHP For Absolute Beginners (Traversy Media)
  3. Learn PHP (Codecademy)
  4. Use PHP to Create an MVC Framework - Full Course (freeCodeCamp)

Ruby on Rails Courses (2)

  1. Learn Ruby on Rails - Full Course (freeCodeCamp)
  2. Full Stack Ruby on Rails (Odin project)

Databases (6)

  1. SQL Tutorial - Full Database Course for Beginners (freeCodeCamp)
  2. Database Systems - Cornell University Course (SQL, NoSQL, Large-Scale Data Analysis) (freeCodeCamp)
  3. MySQL Database (freeCodeCamp)
  4. SQLite Databases With Python (freeCodeCamp)
  5. Learn PostgreSQL Tutorial - Full Course for Beginners (freeCodeCamp)
  6. MongoDB Crash Course (Traversy Media)

UI/UX (10)

  1. Foundations of User Experience (UX) Design (Google)
  2. Start the UX Design Process: Empathize, Define, and Ideate (Google)
  3. Build Wireframes and Low-Fidelity Prototypes (Google)
  4. Conduct UX Research and Test Early Concepts (Google)
  5. Create High-Fidelity Designs and Prototypes in Figma (Google)
  6. Responsive Web Design in Adobe XD (Google)
  7. Free Adobe XD Tutorial: User Experience Design Course with Adobe XD Course (Bring Your Own Laptop Youtube channel)
  8. The 2019 UI Design Crash Course for Beginners (DesignCourse)
  9. Figma Tutorial - A Free UI Design/Prototyping Tool (DesignCourse)
  10. UXpin: Free UX Ebooks (uxpin.com)

Now I'll give you a bit more detail about each course.

Computer Science Courses

Introduction to Programming and Computer Science

In this freeCodeCamp YouTube course, you will learn about arrays, loops, functions, recursion, conditions, and data structures.

Data Structures - Computer Science Course for Beginners

In this freeCodeCamp YouTube course, you will learn about arrays, Big O notation, linked lists, hash tables, heaps, and tries.

CS50's Introduction to Computer Science

This Harvard course will teach you basic computer science concepts like algorithms and data structures through a series of problem sets and a final project.

Introduction to Computer Science and Programming Using Python

This MIT course will teach you basic computer science concepts like algorithms, data structures, testing, and debugging through a series of problems sets.

Introduction to Computational Thinking and Data Science

In this MIT course, you will learn about Stochastic Thinking, Monte Carlo Simulation, and Graph-theoretic Models.

Algorithms, Part I

In this Princeton course, you will learn about analysis of algorithms, sorting algorithms, heaps and binary search trees. (Intermediate)

Algorithms, Part II

In this Princeton course, you will learn about Breadth-First search, Depth-First search, Graph API, directed graphs, and maximum flow and minimum cut problems. (Intermediate)

Analysis of Algorithms

In this Princeton course, you will learn about recurrence relations, asymptotics, analytic combinatorics, trees, and permutations. (Advanced)

Principles of Computing (Part 1)

In this Rice University course, you will learn about combinatorics, probability, and randomness in problem solving. (Intermediate)

Principles of Computing (Part 2)

In this Rice University course,  you will learn about stacks and queues, recursion, and trees. (Intermediate)

Algorithmic Thinking (Part 1)

This Rice University course will teach you about pseudocode, Big O notation, and the breadth-first search. (Intermediate)

Algorithmic Thinking (Part 2)

This Rice University course will teach you about MergeSort, binary search, and the Master Theorem.  (Intermediate)

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

In this Stanford University course, you will learn about Big O notation, analysis of sorting and searching algorithms, analysis of divide and conquer algorithms, and the QuickSort algorithm. (Intermediate)

Graph Search, Shortest Paths, and Data Structures

In this Stanford University course, you will learn about Dijkstra's algorithm, Breadth-first search and Depth-first search, heaps, hash tables, and binary search trees. (Intermediate)

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

In this Stanford University course, you will learn about Prim's MST algorithm, Kruskal's MST algorithm, and Huffman codes. (Intermediate)

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

In this Stanford University course, you will learn about the Bellman-Ford algorithm and NP-complete problems. (Intermediate)

Algorithmic Toolbox

In this University of California San Diego course, you will learn about Big O notation, divide and conquer algorithms, and greedy algorithms. (Intermediate)

Data Structures

In this University of California San Diego course, you will learn about arrays, linked lists, stacks and queues, trees, heap sort, and hash tables. (Intermediate)

Algorithms on Graphs

In this University of California San Diego course, you will learn about Breadth-First Search, Dijkstra's Algorithm and the Bellman-Ford Algorithm. (Intermediate)

Algorithms on Strings

In this University of California San Diego course, you will learn about the Knuth-Morris-Pratt algorithm, Suffix Arrays, and Suffix Trees. (Intermediate)

Advanced Algorithms and Complexity

In this University of California San Diego course, you will learn about the Ford–Fulkerson Algorithm, Edmonds–Karp Algorithm, Simplex Algorithm, and NP-complete Problems. (Advanced)

Genome Assembly Programming Challenge

In this University of California San Diego course, you will learn about the 2011 European E. coli Outbreak, De Bruijn graphs, Euler theorem, and assembling genomes from k-mers. (Advanced)

Introduction to Algorithms

In this MIT course, you will learn about dynamic programming, hashing, graphs, trees and sorting algorithms. You will also learn how to measure the performance of algorithms and data structures.  

Advanced Data Structures

In this advanced MIT course, you will learn about geometric data structures, temporal data structures, memory hierarchy and dynamic graphs.  

Big O Notation

In this freeCodeCamp YouTube course, you will learn about Big O notation and how to apply it to recursive solutions, iterative solutions, and sorting algorithms.

Graph Algorithms for Technical Interviews

In this freeCodeCamp YouTube course, you will learn about breadth first and depth first graph traversals. You will also work on several challenges including connected components count, shortest path, and island count.

Recursion in Programming

In this freeCodeCamp YouTube course, you will learn about recursion, divide & conquer algorithms, graphs trees, linked lists and more.

Data Structures - Full Course Using C and C++

In this freeCodeCamp YouTube course, you will learn about graphs, trees, linked lists, stacks and queues.

Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges

In this freeCodeCamp YouTube course, you will learn how to solve several challenges using dynamic programming including fib tabulation, canSum memoization, and canConstruct tabulation.

Algorithm and Data Structures

In this freeCodeCamp YouTube course, you will learn about arrays, linked lists, and sorting and searching algorithms.  

Git and Github Courses

Git and GitHub for Beginners - Crash Course

In this freeCodeCamp YouTube course, you will learn about GitHub, version control, SSH keys, and common Git commands.

Git & GitHub Crash Course For Beginners

In this Brad Traversy course, you will learn about version control and popular Git commands.

HTML Courses

Basic HTML and HTML5

This freeCodeCamp course will teach you basic HTML5 elements through 28 coding exercises that you can do in the freeCodeCamp online editor. (Part of the free Responsive Web Design Certification)

Introduction to HTML5

This University of Michigan course will cover the history of HTML, the Document Object Model, HTML5 tags, and accessibility.

HTML Tutorial for Beginners: HTML Crash Course 2021

Programming with Mosh will teach you the basics of HTML, how the web works, and how to use the browser developer tools.

HTML Crash Course For Absolute Beginners

This Brad Traversy course will cover the most popular HTML tags and semantic tags.

HTML Full Course - Build a Website Tutorial

In this freeCodeCamp YouTube course, you will learn about basic HTML tags, how to use a text editor, and how to format your web page.

Learn HTML

In this Codecademy course, you will learn about basic HTML tags, forms, tables, and semantic tags.

HTML For Beginners The Easy Way

This HTML tutorial will cover the history of HTML, popular HTML tags, attributes, and code editors.

HTML Crash Course for Beginners - Website Tutorial

In this freeCodeCamp YouTube course, you will learn about headings, images, lists, footers, links, and more.

CSS Courses

Responsive Web Design

In this freeCodeCamp course, you will learn the basics of CSS, applied visual design, applied accessibility, responsive web design principles, CSS Flexbox, and CSS Grid. (Free Certification)

Intro to HTML and CSS

In this Udacity course, you will learn the basics of HTML and CSS.

HTML and CSS Tutorial

In this MarkSheet tutorial, you will learn about CSS text, the box model, positioning, pseudo classes, animations, and Sass.

CSS Tutorial - Zero to Hero

In this freeCodeCamp YouTube tutorial, you will learn about CSS basics, positioning, pseudo classes, and animations.

CSS Crash Course For Absolute Beginners

In this Brad Traversy YouTube course, you will learn the basics of CSS.

Introduction to CSS3

In this University of Michigan course, you will learn about CSS basics, the box model, positioning, pseudo classes, and animations.

CSS Basics

In this W3C course, you will learn about CSS selectors, layout, positioning, and accessibility.

Sass Tutorial for Beginners – CSS With Superpowers

In this freeCodeCamp YouTube course, you will learn about Sass syntax, mixins, variables, nesting, and partials.

Bootstrap 5 tutorial – crash course for beginners in 1.5H

In this Keep coding YouTube course, you will learn about Bootstrap 5 tables, buttons, cards, images, and forms.

Learn CSS Media Queries by Building 3 Projects - Full Course

In this freeCodeCamp YouTube course, you will learn how to create responsive layouts for mobile, tablet and desktop sizes by building 3 projects.

CSS Flexbox Crash Course

In this freeCodeCamp YouTube course, you will learn how to create responsive layouts in websites using Flexbox.

Learn Bootstrap 5 and SASS by Building a Portfolio Website

In this freeCodeCamp YouTube course, you will learn how to use Bootstrap and Sass.

Tailwind CSS Crash Course

In this Brad Traversy YouTube course, you will learn how to setup Tailwind CSS and work with utility classes.

JavaScript Courses

JavaScript Algorithms and Data Structures

In this freeCodeCamp course, you will learn about basic JavaScript, ES6, regular expressions, basic data structures, Object Oriented Programming, and functional programming. (Free Certification)

Learn JavaScript – Full Course for Beginners

In this freeCodeCamp YouTube course, you will learn about conditions, loops, functions, objects, arrays, and ES6.

Full stack JavaScript

This Odin Project course will teach you HTML, CSS, JavaScript, and NodeJS through a series of lessons and projects.

The Modern JavaScript Tutorial

In this tutorial, you will learn about JavaScript basics, error handling, promises, Async/await, and the DOM.

JavaScript Tutorial

In this tutorial, you will learn JavaScript fundamentals, ES6, BOM, the DOM, and web APIs.

LearnJS

In this tutorial, you will learn about JavaScript basics, Object-Oriented Programming, inheritance, and data structures.

Eloquent JavaScript

In this digital book, you will learn about JavaScript fundamentals, the DOM, handling errors, and asynchronous programming.

Learn JavaScript

In this Codecademy course, you will learn about JavaScript fundamentals like arrays, functions, strings, conditions, classes, and promises.

JavaScript

In this SoloLearn course, you will learn about conditions, loops, functions, objects, arrays, the DOM, and events.

MDN JavaScript

In this tutorial, you will learn about JavaScript fundamentals, asynchronous JavaScript, web API's, prototype-based inheritance, and ES6.

JavaScript Programming

In this freeCodeCamp YouTube course, you will learn about the basics of JavaScript and build a black jack game and Google Chrome extension.

JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour

In this Programming with Mosh course, you will learn about JavaScript basics like objects, arrays, and functions.

JavaScript: Understanding the Weird Parts – The First 3.5 Hours

In this advanced YouTube course,  you will learn about asynchronous callbacks, hoisting, single threaded, synchronous execution, and function invocation and the execution stack.

TypeScript Course for Beginners 2021 – Learn TypeScript from Scratch!

In this Academind course, you will learn about array types, object types, tuples, function types, and callbacks.

APIs and Microservices Course

In this freeCodeCamp course, you will learn the basics of Node.js, NPM, Express, and MongoDB. (Free Certification)

Quality Assurance Course

In this freeCodeCamp course, you will learn how to test with Chai and work with Pug, advanced Node, and Express. (Free Certification)

Node.js and Express.js – Full Course

In this freeCodeCamp YouTube course, you will learn about NPM commands, different modules, async patterns, events, streams, and HTTP basics.

Node.js Tutorial for Beginners: Learn Node in 1 Hour

In this Programming with Mosh course, you will learn about different modules like the path module, OS module, and the file system module and NPM commands.

JavaScript Frameworks and Libraries

freeCodeCamp React Course

In this freeCodeCamp course, you will learn about JSX, functional components, class components, state, and props. (Part of free Front End Libraries Certification)

React JS Course for Beginners - 2021 Tutorial

In this freeCodeCamp YouTube course, you will learn about JSX, styled components, React Router, state and props, context, API handling, hooks and more.

Scrimba React course

In this Scrimba course, you will learn about JSX, reusable components, state, lifecycle methods, and hooks.

Codecademy React Course

In this Codecademy course, you will learn about JSX, hooks, lifecycle methods, props, and state.

React JS – React Tutorial for Beginners

In this Programming with Mosh course, you will learn about props, state, hooks, debugging react apps, and handling events.

React JS Crash Course 2021

In this Brad Traversy course, you will learn about JSX, props, state, hooks, React icons, and conditional rendering.

freeCodeCamp Redux Course

In this freeCodeCamp course, you will learn about actions, reducers, and stores. (Part of free Front End Libraries Certification)

Redux For Beginners | React Redux Tutorial

In this Dev Ed tutorial, you will learn about actions, reducers, stores, combineReducers, and Redux DevTools.

Thinkster Angular Tutorial

In this Thinkster tutorial, you will learn about lifecycle hooks, styled components, NgModel, and Angular directives.

Angular Crash Course

In this Brad Traversy course, you will learn about components, services, and modules.

Learn Angular – Full Tutorial Course

In this freeCodeCamp YouTube course, you will learn about interpolation and expressions, lifecycle hooks, components, routing, and directives.

Learn Vue.js – Full Course for Beginners

In this freeCodeCamp YouTube course, you will learn about directives, data-binding, Vue devtools, props and slots, Vue-router, and unit testing.

Vue JS Crash Course 2021

In this Brad Traversy course, you will learn the basics of Vue.js by building a Random User Generator and Task Tracker.

Data Visualization with D3, JavaScript, React – Full Course [2021]

In part one and part two of this D3 course, you will learn about line charts, scatter plots, bar charts, and choropleth maps.

freeCodeCamp jQuery Course

In this freeCodeCamp course, you learn how to work with jQuery. (Part of free Front End Libraries Certification)

Next.js for Beginners - Full Course

In this freeCodeCamp YouTube course, you will learn how to build a recipe app with Next.js, Sanity.io, and Vercel. This course will cover dynamic routing, static assets, serverless functions, and more.

Python Courses

Programming for Everybody (Getting Started with Python)

In this University of Michigan course, you will learn about the basics of programming like functions, loops, conditions, and variables.

Python Data Structures

In this University of Michigan course, you will learn about tuples, dictionaries, lists, and strings.

Using Python to Access Web Data

In this University of Michigan course, you will learn about XML, APIs, regular expressions, and JSON.

Using Databases with Python

In this University of Michigan course, you will learn about relational SQL, CRUD (Create, Read, Update, and Delete) applications, and Object-Oriented patterns.

Capstone: Retrieving, Processing, and Visualizing Data with Python

In this University of Michigan course, you will build a search engine and continue to explore data sources.

An Introduction to Interactive Programming in Python (Part 1)

This Rice University course will teach you the basics of programming like functions, loops, conditions and variables.

An Introduction to Interactive Programming in Python (Part 2)

In this Rice University course, you will learn about tuples, dictionaries, lists and strings.

Scientific Computing with Python

In this freeCodeCamp course, you will learn the basics of the Python 3 while building five projects. (Free Certification)

Data Analysis with Python

In this freeCodeCamp course, you will learn how to analyze data with Numpy, Pandas, Matplotlib, and Seaborn. (Free Certification)

Information Security

In this freeCodeCamp course, you will learn about HelmetJS and penetration testing with Python. (Free Certification)

Machine Learning with Python

In this freeCodeCamp course, you will learn about neural networks and TensorFlow. (Free Certification)

Python Django Web Framework – Full Course for Beginners

In this freeCodeCamp YouTube course, you will learn about Django templates, Django model forms, and class-based views.

Learn Python - Full Course for Beginners

In this freeCodeCamp YouTube Course, you will learn programming basics such as lists, conditionals, strings, tuples, functions, classes and more.

You will also build several small projects like a basic calculator, mad libs game, a translator app, and a guessing game.

The Python Handbook

In this Flavio Copes article, you will learn about strings, lists, tuples, recursion, and more.

You will also learn how to install 3rd party packages and how to work with virtual environments.

Python Tutorials for Absolute Beginners by CS Dojo

In this series of Beginner Python YouTube videos by CS Dojo, you will learn about dictionaries, loops, functions, objects and more.

You will also learn how to build a Twitter bot using Python.

Studytonight

In Studytonight, you will learn about Python basics, error handling, OOP, file handling, complex datatypes, Multithreading and more.

Once you have learned the basics, you can move onto their other modules which include, the NumPy library, Matplotlib, Tkinter, Network Programming in Python, and Web Scraping using Beautiful Soup.

Python Core

In SoloLearn's Python Course, you will learn about strings, variables, OOP, functional programming and more. There are plenty of quizzes, challenges and projects that you can build along the way.

In order to get started, you will need to create a free account.

Python Basics with Sam (freeCodeCamp)

In this Sam Focht YouTube Series, you will learn about loops, functions, strings, recursion and more.

You will also build several projects including a guessing game, shopping list, a board game, and a random password generator.

Python Beginner Tutorials

In this series of Pythonspot beginner tutorials, you will learn about data types, tuples, objects, classes, dictionaries and more. You will also learn about advanced concepts like recursion, lambda, and threading.

Once you cover the basics, you can move onto machine learning, databases, and GUI's.

Python Tutorial

In this PythonForBeginners tutorial, you will learn about functions, loops, lists, conditionals, error handling and more.

Once you learn the basics, you can explore the other modules on the site including Web Scraping with BeautifulSoup and Using the YouTube API in Python.

Automate the Boring Stuff with Python

In the Automate the Boring Stuff with Python online book, you will learn about dictionaries, strings, debugging, regular expressions and more.

If you prefer a video format, then you can go through the YouTube series that Al Sweigart put together.

Learn Python 2

In this Codecademy course, you will learn basic syntax, strings, functions, lists, conditionals and more. This course will also cover more advanced topics like list slicing and lambda expressions.

In order to take the course you will need to create an account.

Python Crash Course for Beginners

In this Brad Traversy YouTube course, you will learn about lists, tuples, dictionaries, functions, classes and more. Brad will also show you how to work with files and JSON data.

Python Tutorial - Python for Beginners

In this Programming with Mosh YouTube course,  you will learn programming basics like variables, loops, strings, tuples, functions, classes and more.

You will also build three projects: one on automation, one on machine learning, and one on building a website with Django.

For additional practice, you can go through Mosh's 53 Python Exercises for Beginners.

PySpark Tutorial

In this freeCodeCamp YouTube course, you will learn about PySpark dataframes, PySpark GroupBy and aggregate functions, databricks and more.  

Python Backend Web Development Course (with Django)

In this freeCodeCamp YouTube course, you will learn about the basics of Python and Django. You will also build a blog, weather app and a Realtime Chat App.

Flask Course - Python Web Application Development

In this freeCodeCamp YouTube course, you will learn about Flask forms, templates, validations and more by building your own e-commerce website.

Mobile App Development Courses

Android Development for Beginners – Full Course

In part 1 and part 2 of this freeCodeCamp YouTube course, you will learn how to build an Android application using Java.

React Native Tutorial for Beginners – Build a React Native App [2020]

In this Programming with Mosh course, you will learn how to build an iOS and Android app using React Native.

Kotlin Course – Tutorial for Beginners

In this freeCodeCamp YouTube course, you will learn about basic Kotlin functions, class methods, higher-order functions, and the Kotlin standard library.

Swift Programming Tutorial for Beginners

In this Code with Chris course, you will learn about the basics of Swift like variables, constants, data types, functions, and classes.

Game Development Courses

CS50's Introduction to Game Development

In this Harvard course, you will learn how to work with popular game engines like LÖVE 2D and Unity. You will also work with the Lua and C# programming languages.

Learn Unity – Beginner's Game Development Tutorial

In this freeCodeCamp YouTube course, you will learn how to get started building games using the Unity game engine.

C, C++, C# Courses

C Programming Tutorial for Beginners

In this freeCodeCamp YouTube course, you will learn about pointers, memory, functions, arrays and more.

C++ Tutorial for Beginners - Full Course

In this freeCodeCamp YouTube course, you will learn about pointers, inheritance, arrays, conditionals and more.

C# Tutorial - Full Course for Beginners

In this freeCodeCamp YouTube course, you will learn about conditionals, strings, objects, arrays and more.

C Course

In this SoloLearn course, you will learn about data types, arrays, pointers, loops, strings, unions, memory management and more.

C++ Course

In this SoloLearn course, you will learn about pointers, conditionals, functions, classes, objects, polymorphism and more.

C# Course

In this SoloLearn course, you will learn about arrays, strings, structs, enums and more.

Java Courses

Java Tutorial for Beginners [2020]

In this Programming with Mosh YouTube course, you will learn about strings, arrays, conditionals, loops and more. You will also build a mortgage calculator.  

Spring Boot Tutorial for Beginners (Java Framework)

In this freeCodeCamp YouTube course, you will learn the basics of how to use this popular Java framework.

Java Testing - JUnit 5 Crash Course

In this freeCodeCamp YouTube course, you will learn about JUnit Architecture, conditional executions, assumptions and more.

Java Course

In this SoloLearn course, you will learn about arrays, objects, classes, loops, and more.

PHP Courses

PHP Programming Language Tutorial - Full Course

In this freeCodeCamp YouTube course, you will learn about loops, functions, classes, objects, and more.

PHP For Absolute Beginners

In this Brad Traversy YouTube tutorial, you will learn about objects, loops, arrays and more. You will also build a basic CRUD (create, read, update, delete) application.

Learn PHP

In this Codecademy course, you will about PHP built in functions, conditionals, arrays and more.

Use PHP to Create an MVC Framework - Full Course

In this freeCodeCamp YouTube course, you will learn how to work with file systems, custom routing, third party packages using composer, and more.  

Ruby on Rails Courses

Learn Ruby on Rails - Full Course

In this freeCodeCamp YouTube course, you will learn how to make a Friends List App using Ruby on Rails.

Full Stack Ruby on Rails

In this Odin project curriculum, you will learn about Ruby, relational databases, Ruby on Rails, and more.  

Databases

SQL Tutorial - Full Database Course for Beginners

In this freeCodeCamp YouTube course, you will learn about SQL basics, queries, functions and more.

Database Systems - Cornell University Course (SQL, NoSQL, Large-Scale Data Analysis)

In this freeCodeCamp YouTube course, you will learn how to query database systems, index data, process queries, and more.

Here is part 2 of the course as well.

MySQL Database - Full Course

In this freeCodeCamp YouTube course, you will learn about data modeling, indexes, SQL joins, database deadlocks and more.

SQLite Databases With Python - Full Course

In this freeCodeCamp YouTube course, you will learn how to create tables, format results, update records, delete records and more.

Learn PostgreSQL Tutorial - Full Course for Beginners

In this freeCodeCamp YouTube course, you will learn about NULLIF, primary keys, foreign keys and more.

MongoDB Crash Course

In this Brad Traversy YouTube course, you will learn how to work with MongoDB shell, MongoDB atlas and more.

UI/UX Courses

Foundations of User Experience (UX) Design

In this Google course, you will learn about the basics behind good UX design and accessibility.

Start the UX Design Process: Empathize, Define, and Ideate

In this Google course, you will learn about UX research and Wireframing.

Build Wireframes and Low-Fidelity Prototypes

In this Google course, you will learn about building wireframes, prototypes, and storyboards.

Conduct UX Research and Test Early Concepts

In this Google course, you will learn how to create a usability study.

Create High-Fidelity Designs and Prototypes in Figma

In this Google course, you will learn how to create good design mockups with Figma.

Responsive Web Design in Adobe XD

In this Google course, you will learn how to use Adobe XD and create responsive designs.

Free Adobe XD Tutorial: User Experience Design Course with Adobe XD Course

In this YouTube course, you will learn about the basics of UI/UX design and wireframing.

The 2019 UI Design Crash Course for Beginners

In this YouTube course, you will learn about design fundamentals and Adobe XD.

Figma Tutorial – A Free UI Design/Prototyping Tool

In this YouTube course, you will how to use the Figma design tool.

UXpin: Free UX Ebooks

UXpin is a resource that offers a variety of ebooks on mobile and web wireframing, usability testing, mockups, and more.