Algorithm design courses can help you learn sorting algorithms, graph theory, dynamic programming, and complexity analysis. You can build skills in problem-solving, optimizing code efficiency, and understanding data structures like trees and hash tables. Many courses introduce tools such as Python, Java, or C++, along with frameworks for implementing algorithms, that support tasks in artificial intelligence, data analysis, and software development.

Princeton University
Skills you'll gain: Theoretical Computer Science, Data Structures, Computer Science, Computer Architecture, Algorithms, Programming Principles, Computational Logic, Java Programming, Computer Hardware, Scalability
Intermediate · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Microarchitecture, Computer Architecture, Hardware Architecture, Computer Systems, Computer Engineering, Distributed Computing, Operating Systems, Performance Tuning, Scalability
Advanced · Course · 3 - 6 Months

Skills you'll gain: Field-Programmable Gate Array (FPGA), Application Specific Integrated Circuits, Computational Logic, Computer Architecture, Hardware Design, Electronics Engineering, Electronics, Theoretical Computer Science, Programmable Logic Controllers, Electronic Systems, Semiconductors, Data Storage, Data Storage Technologies
Intermediate · Course · 1 - 4 Weeks

Tsinghua University
Skills you'll gain: Data Structures, Algorithms, Graph Theory, Computational Thinking, Programming Principles, Database Design, Pseudocode, Query Languages, Computer Programming, Theoretical Computer Science, Computer Science, Data Storage
Intermediate · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Data Structures, Algorithms, Data Storage, Programming Principles, Computer Programming, C++ (Programming Language), Java Programming, Java, File Management
Intermediate · Course · 1 - 3 Months

University of London
Skills you'll gain: Pseudocode, Algorithms, Computational Thinking, Computer Science, Data Structures, Diagram Design, Program Development
Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Graph Theory, Algorithms, Network Routing, Programming Principles, Social Network Analysis, Data Structures, Network Analysis, Network Model
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Problem Solving, Computational Thinking, Probability, Mathematical Modeling, Behavioral Economics, Algorithms, Analytical Skills, Theoretical Computer Science
Beginner · Course · 1 - 4 Weeks

Clemson University
Skills you'll gain: Data Structures, Algorithms, Computational Thinking, Theoretical Computer Science, Computer Programming, Computer Science, Probability, Design Strategies, Analysis, Performance Testing, Scalability
Build toward a degree
Intermediate · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Combinatorics, Algorithms, Theoretical Computer Science, Mathematical Theory & Analysis, Graph Theory, Data Structures, Advanced Mathematics, Mathematical Modeling, Probability
Advanced · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Algorithms, Program Development, Debugging, Development Testing, Software Testing, Computational Thinking, Test Case, Computer Programming, Programming Principles, Data Structures, Theoretical Computer Science, Design Strategies
Intermediate · Course · 1 - 3 Months

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Graph Theory, Development Environment, Data Storage, Engineering Software, Unstructured Data, Computer Programming, Algorithms, Data Storage Technologies, Debugging, Program Development, Database Systems, Database Theory, Network Routing, Theoretical Computer Science
Intermediate · Specialization · 1 - 3 Months