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.

Johns Hopkins University
Skills you'll gain: Artificial Neural Networks, Image Analysis, Event-Driven Programming, Program Development, Scalability, Applied Machine Learning, Deep Learning, C and C++, Memory Management, Performance Tuning, Software Development, C++ (Programming Language), Dataflow, Digital Signal Processing, Linear Algebra, Distributed Computing, System Programming, Hardware Architecture, Mathematical Software, Machine Learning
Build toward a degree
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
Intermediate · Course · 1 - 4 Weeks

Infosec
Skills you'll gain: Incident Response, Computer Security Incident Management, Incident Management, Threat Management, Cybersecurity, Endpoint Detection and Response, Cyber Attacks, Cyber Threat Intelligence, Digital Forensics, Intrusion Detection and Prevention, Threat Detection, Network Security, Network Monitoring, Data Security, Business Continuity, Network Analysis, Exploitation techniques, Malware Protection, Memory Management, Analysis
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Embedded Software, Performance Tuning, System Programming, Software Development Tools, Embedded Systems, Memory Management, Microarchitecture, Software Development, Hardware Architecture, Debugging, System Software, Secure Coding, Build Tools, Application Security, Computer Architecture, System Configuration, Programming Principles, C (Programming Language), Digital Signal Processing, Real-Time Operating Systems
Intermediate · Specialization · 3 - 6 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
Build toward a degree
Beginner · Course · 1 - 3 Months

New York University
Skills you'll gain: Network Security, Firewall, IT Security Architecture, Distributed Denial-Of-Service (DDoS) Attacks, Network Architecture, Intrusion Detection and Prevention, TCP/IP, Cybersecurity, Threat Detection, Cyber Threat Intelligence, Cyber Attacks, Security Controls, Enterprise Security, Network Protocols, Proxy Servers
Intermediate · Course · 1 - 4 Weeks

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

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

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
Intermediate · Course · 1 - 4 Weeks

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
Intermediate · 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
Beginner · Course · 1 - 3 Months

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
Beginner · Course · 1 - 4 Weeks