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.

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

Skills you'll gain: Go (Programming Language), Debugging, Memory Management, Application Development, Program Development, Build Tools, Data Structures, Development Environment, Programming Principles, Microsoft Visual Studio, Integrated Development Environments, Software Development Tools, Software Installation, Code Reusability, Object Oriented Programming (OOP), Command-Line Interface, System Programming, Package and Software Management, Other Programming Languages
Beginner · Specialization · 3 - 6 Months

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Systems Architecture, Hardware Architecture, Microarchitecture, Data Structures, Peripheral Devices, Memory Management, Computational Logic
★ 4.1 (135) · Beginner · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Object Oriented Design, Computer Programming, Memory Management
★ 4.7 (319) · Intermediate · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Objective-C (Programming Language), iOS Development, Apple iOS, Memory Management, Prototyping, Mobile Development, C and C++, Application Development, C (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Data Structures
★ 4.6 (558) · Mixed · Course · 1 - 4 Weeks

University of Toronto
Skills you'll gain: Apple iOS, iOS Development, Swift Programming, Model View Controller, Apple Xcode, Mobile Development, User Interface (UI), Application Design, Application Development, Objective-C (Programming Language), UI Components, Animations, Human Computer Interaction, Interactive Design, Object Oriented Programming (OOP), Memory Management, Application Frameworks, Interaction Design, Mobile Development Tools, Persistence
★ 3.9 (1.6K) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Field-Programmable Gate Array (FPGA), Computational Logic, Computer Architecture, Hardware Design, Hardware Architecture, Memory Management, Electronics, Electronic Systems, Electronic Components, Diagram Design, Data Storage, Data Storage Technologies, Algorithms
★ 4.5 (131) · Intermediate · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Rust (Programming Language), Unit Testing, Test Case, Memory Management, Software Testing, Data Structures, GitHub, Programming Principles, Package and Software Management, Development Environment, System Programming, Software Documentation
★ 4 (240) · Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Bash (Scripting Language), Scalability, Distributed Computing, Shell Script, Computer Systems, Big Data, Linux Commands, Hardware Architecture, Operating Systems, File Systems, Computing Platforms, Linux, Performance Testing, Scripting, Performance Tuning, Memory Management, Programming Principles, Capacity Management, File Management
★ 3.8 (167) · Beginner · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Programming Principles, C++ (Programming Language), Data Structures, Computer Programming, Memory Management, Code Reusability
★ 4.8 (460) · Beginner · Course · 1 - 3 Months

Skills you'll gain: Microarchitecture, Real-Time Operating Systems, Computer Architecture, Embedded Software, Embedded Systems, Hardware Architecture, Memory Management, Software Development Tools, Digital Signal Processing, Debugging
★ 4.7 (145) · Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: TCP/IP, System Programming, Network Protocols, Program Development, Memory Management, Hardware Architecture, Computer Hardware
★ 4.6 (53) · Intermediate · Course · 1 - 3 Months