Free programming courses can help you learn coding languages like Python, JavaScript, and Ruby, along with foundational concepts such as algorithms and data structures. You can build practical skills in web development, software debugging, and creating applications, which are crucial for tackling real-world challenges.

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Design, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Code Reusability, Other Programming Languages, Java Programming, Java, Program Development, Computational Thinking, Computer Science, Algorithms, Theoretical Computer Science, Animations
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, C and C++, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · Specialization · 3 - 6 Months

The University of Edinburgh
Skills you'll gain: Video Game Development, Game Design, Program Development, Software Engineering, Programming Principles, Animation and Game Design, Software Development, Event-Driven Programming, Computer Programming, Computer Programming Tools, Code Reusability, No-Code Development, Computational Thinking, Algorithms, Animations
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, C and C++, Programming Principles, Data Structures, Secure Coding, Algorithms, Software Design, Application Security, Other Programming Languages, System Programming, Python Programming, Computer Architecture, Computer Programming, Java, Performance Tuning, Unix
Intermediate · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Test Script Development, Programming Principles, Software Testing, Data Structures, Python Programming, Program Development, Computer Programming, Development Environment, Debugging, Django (Web Framework), Functional Design, Package and Software Management, Cloud Hosting
Beginner · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), C and C++, Electronic Components, Computer Hardware, Integrated Development Environments, Programming Principles, Computer Programming, Electronics Engineering, Program Development, Software Installation, Development Environment, Digital Communications, Build Tools
Mixed · Course · 1 - 4 Weeks
University of California, Santa Cruz
Skills you'll gain: Programming Principles, C and C++, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Debugging, Algorithms, Package and Software Management, Git (Version Control System), Data Structures, Programming Principles, GitHub, Code Reusability, Python Programming, Program Development, Version Control, Computational Thinking, Unit Testing, Integrated Development Environments, Computer Programming Tools, Computer Programming, Maintainability, Scripting, Functional Design, Object Oriented Programming (OOP)
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C and C++, C++ (Programming Language), Algorithms, Memory Management, Other Programming Languages, System Programming, Computer Programming, Python Programming
Intermediate · Course · 1 - 4 Weeks

Packt
Skills you'll gain: Ruby (Programming Language), File I/O, Object Oriented Programming (OOP), Object Oriented Design, Ruby on Rails, Debugging, Test Tools, Application Design, Code Reusability, Programming Principles, Test Case, Software Documentation, Development Environment, Integrated Development Environments, Computer Programming, Data Structures, Apple Xcode, Web Development, Computational Logic, Software Installation
Intermediate · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Microsoft Visual Studio, R (Software), Debugging, R Programming, Data Structures, Microsoft Development Tools, Software Documentation, Programming Principles, Statistical Programming, Program Development, Code Reusability, Development Environment, Data Manipulation, Computational Logic, Software Installation
Beginner · Course · 1 - 4 Weeks