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, 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

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, 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: Unified Modeling Language, File I/O, System Programming, Visual Basic (Programming Language), Database Management, System Software, Hardware Architecture, Databases, Relational Databases, Algorithms, Computer Architecture, Network Security, Computer Hardware, Development Environment, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Program Development, Computer Programming, Microsoft Development Tools
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 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

Edureka
Skills you'll gain: File I/O, C# (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Data Persistence, .NET Framework, Integrated Development Environments, Code Reusability, Programming Principles, Debugging, Program Development, Development Environment, Software Development, Mobile Development, Unit Testing, Git (Version Control System), Version Control, GitHub, Web Development, Problem Solving
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Development Environment, Program Development, Computer Programming, Programming Principles, Data Structures, Java, Integrated Development Environments, Maintainability, Code Reusability, Memory Management, Computational Logic, Debugging, Software Installation, Command-Line Interface, Problem Solving
Beginner · Course · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Git (Version Control System), GitHub, Version Control, Debugging, Object Oriented Programming (OOP), Unit Testing, Development Testing, Test Case, Programming Principles, Data Structures, Software Development Tools, Algorithms, Maintainability, Python Programming, Software Development, Package and Software Management, Computer Programming, Development Environment, Code Reusability, Scripting
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