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.

Skills you'll gain: Data Structures, Graph Theory, Algorithms, Game Theory, Java, Java Programming, Programming Principles, Performance Tuning, Computational Thinking, Theoretical Computer Science, Computer Programming, Problem Solving, Solution Design, Applied Mathematics, Geometry
Intermediate · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Graph Theory, Data Structures, Microsoft Copilot, .NET Framework, Algorithms, Back-End Web Development, Performance Tuning, Theoretical Computer Science, Scalability
★ 4.6 (44) · Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Graph Theory, Data Structures, Operations Research, Quantum computing, Public Key Cryptography Standards (PKCS), Cryptography, Computational Thinking, Design Strategies, Cryptographic Protocols, Applied Mathematics, Tree Maps, Encryption, Network Model, Combinatorics, Data Science, Mathematical Software, Computer Science, Python Programming
★ 4.7 (979) · Advanced · Specialization · 3 - 6 Months

University of Alberta
Skills you'll gain: Software Architecture, Model View Controller, Unified Modeling Language, Object Oriented Design, Service Oriented Architecture, API Design, Systems Architecture, Web Services, Software Design Patterns, Software Design, Simple Object Access Protocol (SOAP), Microservices, Restful API, Software Design Documents, Software Visualization, Code Review, Product Family Engineering, Object Oriented Programming (OOP), Software Development, Java
★ 4.6 (4K) · Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Data Structures, Design Strategies, Quantum computing, Applied Mathematics, Python Programming, Analysis
★ 4.7 (277) · Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Data Structures, Algorithms, Graph Theory, Programming Principles, Theoretical Computer Science, Computer Science, Computer Programming, Python Programming, Pandas (Python Package), Machine Learning Algorithms, Computational Thinking, C++ (Programming Language), Data Architecture, Random Forest Algorithm, Performance Tuning, Object Oriented Programming (OOP), Network Analysis, Program Development, Problem Solving, Debugging
★ 4.5 (40) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: JUnit, Test Driven Development (TDD), Version Control, Git (Version Control System), GitHub, Performance Tuning, Unit Testing, Data Structures, Java Programming, Development Testing, Algorithms, Program Development, Software Testing, Java, Test Automation, Test Case, Software Development, Scalability
★ 4 (64) · Beginner · Course · 1 - 4 Weeks

Tsinghua University
Skills you'll gain: Data Structures, Algorithms, Graph Theory, Computational Thinking, Programming Principles, Database Management Systems, System Design and Implementation, Theoretical Computer Science, Computer Programming, Computer Science
★ 2.9 (41) · Intermediate · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Algorithms, Debugging, Theoretical Computer Science, Computational Thinking, Program Development, Software Testing, Computer Programming, Analysis, Solution Design, Design Strategies, Data Processing, Model Optimization, Bioinformatics, Scalability
★ 4.6 (13K) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Graph Theory, Algorithms, Java, Java Programming, Data Management, Secure Coding, Theoretical Computer Science, Programming Principles, Other Programming Languages, Performance Tuning, Computer Programming
★ 3.7 (14) · Intermediate · Specialization · 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, Software Engineering, Algorithms, Memory Management, Computer Programming Tools, Debugging, Program Development, Database Systems, Theoretical Computer Science
★ 4.7 (3.5K) · Intermediate · Specialization · 1 - 3 Months

Rice University
Skills you'll gain: Graph Theory, Algorithms, Computational Thinking, Data Analysis, Data Structures, Theoretical Computer Science, Network Analysis, Analysis, Programming Principles, Python Programming, Program Development
★ 4.6 (385) · Intermediate · Course · 1 - 4 Weeks