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: R (Software), Tidyverse (R Package), Web Scraping, Data Manipulation, Data Wrangling, R Programming, Data Transformation, Memory Management, Data Cleansing, Data Science, Statistical Programming, Data Integration, Data Processing, Text Mining, Data Import/Export, Web Services, Data Analysis, Data Structures, Application Programming Interface (API)
Intermediate · Course · 1 - 3 Months

Peking University
Skills you'll gain: Microarchitecture, Computer Architecture, Computer Systems, Hardware Architecture, Peripheral Devices, Computer Hardware, Computer Engineering, Systems Architecture, System Software, Operating Systems, Data Storage, Data Storage Technologies, System Programming, Memory Management, Computational Logic
Mixed · Course · 1 - 3 Months

Scrimba
Skills you'll gain: Model Context Protocol, Prompt Engineering, Retrieval-Augmented Generation, LangChain, OpenAI API, Prompt Patterns, Embeddings, Image Analysis, Responsible AI, AI Workflows, OpenAI, LLM Application, AI Integrations, Cloud Deployment, Cloud Applications, Multimodal Prompts, Memory Management, Hugging Face, Vector Databases, Software Engineering
Intermediate · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

University of Toronto
Skills you'll gain: Swift Programming, iOS Development, Apple Xcode, Mobile Development, Objective-C (Programming Language), Object Oriented Programming (OOP), Memory Management, Application Development, Development Environment, Programming Principles, Integrated Development Environments, Image Analysis, Computer Programming, Functional Design
Mixed · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, Data Structures, System Programming, Microarchitecture, C (Programming Language), Memory Management, Hardware Architecture, Computer Architecture, Software Design, Maintainability, System Configuration, Code Reusability, Software Architecture, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks
Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Memory Management, Integrated Development Environments, Development Environment, System Programming, Program Development, Hardware Architecture, Systems Architecture, Eclipse (Software), Data Structures, Build Tools, C and C++, Programming Principles, Microarchitecture, Performance Tuning, Computer Architecture
Intermediate · Specialization · 3 - 6 Months
Skills you'll gain: File Systems, Operating Systems, OS Process Management, Memory Management, C (Programming Language), File Management, Virtualization, Computer Programming Tools, Data Integrity, Debugging, File I/O, System Software, Virtualization and Virtual Machines, System Programming, Systems Design, Data Storage Technologies, Performance Tuning, Distributed Computing, Data Storage, C and C++
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Design, Software Design Patterns, Object Oriented Programming (OOP), Software Design, C (Programming Language), Algorithms, Memory Management, Graph Theory, Artificial Intelligence, Data Structures, Simulations
Intermediate · Course · 1 - 3 Months

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
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
University of Michigan
Skills you'll gain: Programming Principles, Software Installation, Code Reusability, Python Programming, Computer Programming, Program Development, Computational Thinking, Memory Management, System Configuration
Mixed · Course · 1 - 3 Months