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
★ 4.7 (1.4K) · 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
★ 4.5 (56) · Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Software Design, Program Development, Data Structures, Interactive Design, Programming Principles, Visualization (Computer Graphics), Computer Graphic Techniques, Python Programming, Graphic and Visual Design, Event-Driven Programming, Systems Design, Digital Design, Simulations, Computer Graphics, Design, Game Design, Computational Logic
★ 5 (8) · Beginner · Specialization · 3 - 6 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
★ 4.5 (246) · Intermediate · Specialization · 3 - 6 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
★ 3.9 (8) · Beginner · Specialization · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, C (Programming Language), Software Design, Program Development, Algorithms, Graph Theory, Software Testing, Computer Science, Computational Logic
★ 4.5 (9.6K) · Intermediate · Specialization · 3 - 6 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: 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

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
★ 4.6 (1.8K) · Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, 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
★ 4.5 (9.6K) · Beginner · Specialization · 3 - 6 Months

Packt
Skills you'll gain: Python Programming, Development Environment, Debugging, Programming Principles, Data Structures, Computer Programming, Automation
Beginner · Course · 1 - 3 Months

Skills you'll gain: File I/O, Python Programming, Scripting, Programming Principles, Code Reusability, Computer Programming, Command-Line Interface, File Management, Computational Logic, Data Structures, Functional Design, Context Management
Beginner · Course · 3 - 6 Months