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 Programming (OOP), Performance Tuning, Data Structures, Java Programming, Java, Program Development, File I/O, Computational Thinking, Computer Science, Algorithms, Animations, Debugging
Beginner · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Software Documentation
Beginner · Course · 1 - 3 Months

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

LearnQuest
Skills you'll gain: Visual Basic (Programming Language), Database Management, System Software, Databases, Relational Databases, Algorithms, Computer Architecture, Network Security, Computer Hardware, SQL, Computer Science, Computer Networking, Computer Programming, Network Protocols, Programming Principles, Software Development, Automation, Analysis, Cloud Computing, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Rust (Programming Language), File I/O, Data Structures, System Programming, Secure Coding, Software Design Patterns, Debugging
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Graph Theory, Debugging, Artificial Intelligence, Data Structures, Game Design, Software Documentation
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, Software Documentation
Intermediate · Specialization · 3 - 6 Months

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

Skills you'll gain: Object Oriented Programming (OOP), C# (Programming Language), Debugging, Computer Programming, Development Environment, .NET Framework, Microsoft Visual Studio, Application Development, Data Structures, Application Frameworks, Problem Solving
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Programming Principles, Software Testing, Data Structures, Python Programming, Computer Programming, Development Environment, Integrated Development Environments, Debugging, Django (Web Framework), Cloud Hosting
Beginner · Course · 1 - 3 Months
University of Michigan
Skills you'll gain: Debugging, Programming Principles, Computer Programming, Python Programming, Integrated Development Environments, Computer Programming Tools, Computational Thinking, Software Installation
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Algorithms, C (Programming Language), Programming Principles, Computer Programming, Graph Theory, Data Structures
Intermediate · Course · 1 - 3 Months