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.

Johns Hopkins University
Skills you'll gain: Artificial Neural Networks, Image Analysis, Event-Driven Programming, Scalability, Deep Learning, C and C++, Performance Tuning, Convolutional Neural Networks, Data-oriented programming, C++ (Programming Language), Digital Signal Processing, Linear Algebra, Distributed Computing, Computer Graphics, System Programming, Numerical Analysis, Programming Principles, Computer Architecture, Program Development, Machine Learning
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

Coursera
Skills you'll gain: Distributed Computing, Scalability, Performance Tuning, C++ (Programming Language), System Programming, Computer Architecture, Cross Platform Development, Hardware Architecture, C (Programming Language), Application Performance Management, Development Environment
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Software Architecture, Cloud Development
Intermediate · Course · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Web Servers, Distributed Computing, Application Servers, Servers, Network Architecture, System Programming, Network Protocols, Systems Architecture, TCP/IP, Computer Networking, Network Performance Management, Scalability, File Transfer Protocol (FTP), System Design and Implementation, Web Services, Microservices, File Systems, Debugging, Software Development, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), File I/O, Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Program Development, Python Programming, Data Import/Export, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures
Beginner · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, File I/O, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Simulations, System Programming, Computer Programming, Data Structures, Software Development, Software Engineering, Command-Line Interface, Development Environment, User Interface (UI), Solution Design, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

University of London
Skills you'll gain: Pseudocode, C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Object Oriented Design, Integrated Development Environments, Computer Programming, Development Environment, Programming Principles, Debugging, Data Structures, Program Development, Algorithms, Interactive Design, Model Evaluation, Software Engineering, Test Data, Data Validation, Command-Line Interface
Build toward a degree
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Jest (JavaScript Testing Framework), Web Development Tools, Javascript, Unit Testing, Web Applications, Object Oriented Programming (OOP), Node.JS, JSON, Computer Programming, Data Structures, Debugging, Package and Software Management, Program Development, Front-End Web Development, Functional Design
Beginner · Course · 1 - 3 Months

University of Cape Town
Skills you'll gain: Jupyter, Statistical Analysis, Data Visualization, Plot (Graphics), Scientific Visualization, Exploratory Data Analysis, Data Manipulation, Data Science, Other Programming Languages, Statistical Hypothesis Testing, Computer Programming, Mathematical Modeling, Package and Software Management
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, File Management, Application Development, Maintainability, Software Design, Programming Principles, Development Environment, Program Development, Computer Programming, Data Structures, Data Management, Integrated Development Environments, Debugging, Data Validation
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Debugging, Program Development, Software Documentation, Pseudocode, C++ (Programming Language), Computational Thinking, Maintainability, Programming Principles, Computer Programming, Integrated Development Environments, Development Environment, Algorithms, Data Validation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Ajax, Javascript, Data Structures, Debugging, JSON, Web Development, Cascading Style Sheets (CSS), Computer Programming, Front-End Web Development, Event-Driven Programming, Software Development, Object Oriented Programming (OOP), Git (Version Control System), Hypertext Markup Language (HTML), Application Programming Interface (API)
Beginner · Course · 1 - 3 Months