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), Data Structures, Code Reusability, Java Programming, Java, Program Development, File I/O, Computational Thinking, Computer Science, Algorithms, Theoretical Computer Science, Animations, Simulations
Beginner · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: C (Programming Language), Programming Principles, Computer Programming, Memory Management, Computational Thinking, Computer Systems, Data Structures, Algorithms, File I/O, Operating Systems, Computer Hardware
Build toward a degree
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C# (Programming Language), Debugging, Programming Principles, Computer Programming, Development Environment, .NET Framework, Microsoft Development Tools, Code Reusability, Microsoft Visual Studio, Program Development, Integrated Development Environments, Computer Programming Tools, Application Development, Data Structures, Application Frameworks, Software Installation, Problem Solving
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Data Structures, Secure Coding, Algorithms, Software Design, Application Security, Other Programming Languages, Python Programming, System Programming, Computer Architecture, Computer Programming, Java, Performance Tuning, Numerical Analysis
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Python Programming, Computational Thinking, Programming Principles, Computer Programming, Object Oriented Programming (OOP), Program Development, Code Reusability, Data Structures, Data Processing, Data Manipulation, Development Environment
Beginner · Course · 1 - 3 Months

Pearson
Skills you'll gain: System Programming, Rust (Programming Language), Data Structures, Memory Management, Relational Databases, Other Programming Languages, Databases, Data Access, C (Programming Language), Programming Principles, Application Development, Code Reusability, Object Oriented Programming (OOP), C++ (Programming Language), Interoperability, Systems Integration, File I/O, Command-Line Interface, Software Development, Data Import/Export
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Software Installation, Python Programming, Data Structures, Data Processing, Programming Principles, Scripting Languages, Scripting, Development Environment, Computer Programming, Code Reusability, Functional Testing, Debugging, Problem Solving
Beginner · Course · 1 - 3 Months

Skills you'll gain: Video Game Development, Game Design, Development Environment, UI Components, Data Structures, Computer Programming, Programming Principles, Program Development, Application Development, Scripting Languages, Computational Logic, Human Computer Interaction, Data Management
Beginner · Course · 1 - 3 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
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), System Software, Hardware Architecture, Databases, Relational Databases, Algorithms, Computer Architecture, Network Security, Computer Hardware, SQL, Development Environment, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Program Development, Computer Programming, Microsoft Development Tools
Beginner · Specialization · 3 - 6 Months