Free courses can help you learn coding languages like Python and JavaScript, data analysis techniques, and web development fundamentals. You can build skills in problem-solving, algorithm design, and creating interactive websites. Many courses introduce tools such as Git for version control, SQL for database management, and various frameworks that streamline web development, allowing you to apply your skills in practical projects.

Dartmouth College
Skills you'll gain: Embedded Software, Embedded Systems, C (Programming Language), System Programming, Microarchitecture, Hardware Architecture, Software Design, C and C++, Computer Architecture, Maintainability, Event-Driven Programming, Debugging, Computer Hardware, Memory Management, Code Reusability, Secure Coding, Programming Principles, Data Structures, Peripheral Devices, Data Storage
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java Programming, Java, Software Architecture, Memory Management, Code Reusability, Software Design, Maintainability, Application Design, Programming Principles, Secure Coding, User Interface (UI) Design, Javascript
Beginner · Course · 3 - 6 Months

University of California, Irvine
Skills you'll gain: Object Oriented Programming (OOP), C (Programming Language), Python Programming, Data Import/Export, Memory Management, File I/O, Computational Logic, Network Protocols, Package and Software Management
★ 4.6 (2.5K) · Intermediate · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, System Programming, Computer Programming, Data Structures, Software Development, C and C++, Software Engineering, Command-Line Interface, Problem Solving, Software Design
★ 4.6 (7.5K) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Java Programming, Java, Performance Tuning, Memory Management, Web Servers, Web Applications, Server Side, Computer Networking, TCP/IP, OS Process Management, Context Management, Software Development, Encryption, Network Protocols, Scalability, Maintainability
Intermediate · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, C (Programming Language), Python Programming, Data Import/Export, Algorithms, Memory Management, OS Process Management, Data Structures, System Programming, File I/O, Computational Logic, Network Protocols, Package and Software Management, Data Sharing
★ 4.6 (3K) · Intermediate · Specialization · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Code Reusability, Memory Management
★ 4.4 (2.5K) · Intermediate · Specialization · 3 - 6 Months

Hebrew University of Jerusalem
Skills you'll gain: Computer Science, Computer Systems, Computer Architecture, Computer Programming, Programming Principles, Memory Management, System Software, System Programming, Virtual Machines, Operating Systems, Hardware Architecture, Software Architecture, Algorithms, Software Design, Program Development, Object Oriented Programming (OOP), Data Structures, Computer Graphics, Peripheral Devices
★ 4.9 (536) · Mixed · Course · 1 - 3 Months

Skills you'll gain: Secure Coding, Maintainability, Hardening, Java Programming, Software Design Patterns, Application Security, Software Design, Java, Software Architecture, Memory Management, Object Oriented Design, API Design, Code Reusability, Software Development, Object Oriented Programming (OOP), Functional Design, Application Programming Interface (API), Interoperability, System Programming, C (Programming Language)
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Linux Administration, System Programming, Linux, Embedded Software, Linux Servers, Linux Commands, System Software, System Configuration, Operating Systems, Debugging, Memory Management, Embedded Systems, Cross Platform Development, Open Source Technology, Secure Coding, Configuration Management, C (Programming Language), Hardening, Program Development, Development Environment
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Maintainability, Software Design, Data Structures, Software Architecture, Memory Management, Programming Principles, Code Reusability, Data Management, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: z/OS, Job Control Language (JCL), Mainframe Computing, Mainframe Technologies, System Programming, Computer Architecture, Systems Architecture, Program Development, File I/O, Programming Principles, Maintainability, Computational Logic, Data Structures, Data Access, Data Mapping, Computer Science, Computer Programming, Memory Management, Data Validation
Intermediate · Course · 1 - 3 Months