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.

Duke University
Skills you'll gain: C (Programming Language), Data Structures, C and C++, Programming Principles, Program Development, Algorithms, Memory Management, Computer Programming, Data Access
★ 4.3 (351) · Beginner · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Penetration Testing, Exploit development, Metasploit, Application Security, Security Testing, Cyber Security Assessment, Vulnerability Scanning, Brute-force attacks, Secure Coding, Exploitation techniques, Software Design Patterns, Vulnerability Assessments, Memory Management, Amazon Web Services, SQL, Amazon Elastic Compute Cloud, Operating Systems, Data Validation
★ 4 (279) · Intermediate · Course · 1 - 4 Weeks

Universidad Nacional Autónoma de México
Skills you'll gain: Java, Object Oriented Programming (OOP), Java Programming, Object Oriented Design, Android Development, Android Studio, Mobile Development, Memory Management, Programming Principles, Code Reusability, Integrated Development Environments, Computational Logic, Development Environment
★ 4.7 (1.5K) · Mixed · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Bioinformatics, Computational Thinking, Memory Management, Graph Theory, Python Programming
★ 4.6 (142) · Intermediate · Course · 1 - 3 Months

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

Duke University
Skills you'll gain: File I/O, Memory Management, Maintainability, C (Programming Language), Software Engineering, System Programming, Programming Principles, Software Development, Simulations, Command-Line Interface, Collaborative Software
★ 4.2 (182) · Beginner · Course · 1 - 4 Weeks

L&T EduTech
Skills you'll gain: Embedded Software, Peripheral Devices, Integrated Development Environments, Embedded Systems, Internet Of Things, Microarchitecture, Automation, Real Time Data, Hardware Architecture, Computer Architecture, Prototyping, Memory Management
★ 4.6 (299) · Beginner · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Debugging, Program Development, Software Documentation, Pseudocode, C++ (Programming Language), Programming Principles, Computer Programming, Computer Programming Tools, Memory Management
★ 4.4 (36) · Beginner · Course · 1 - 3 Months

Skills you'll gain: AI Orchestration, AI Workflows, Agentic Workflows, Agentic systems, Generative AI Agents, LLM Application, AI Integrations, Tool Calling, Large Language Modeling, Software Design Patterns, Memory Management
★ 4.7 (108) · Intermediate · 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

Skills you'll gain: File I/O, Memory Management, Debugging, C++ (Programming Language), C and C++, Software Documentation, Development Testing, Code Reusability, Vibe coding, Programming Principles, API Design, Program Development, Pseudocode, Software Architecture, Software Design, Functional Design, Performance Tuning, Application Design, Technical Documentation, Generative AI
★ 4.4 (52) · Beginner · Professional Certificate · 3 - 6 Months

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