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, Object Oriented Programming (OOP), Java Programming, Object Oriented Design, Computational Thinking, Algorithms, Debugging, Java, Applied Mathematics, Programming Principles, Computer Programming, Theoretical Computer Science, Numerical Analysis, Computer Programming Tools, Mathematical Theory & Analysis, Pseudocode, Software Installation, Software Architecture, Performance Tuning, Other Programming Languages
Intermediate · Specialization · 3 - 6 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
Intermediate · Specialization · 1 - 3 Months

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

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
Intermediate · Specialization · 3 - 6 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
Build toward a degree
Advanced · Specialization · 3 - 6 Months

National Taiwan University
Skills you'll gain: Operations Research, Mathematical Modeling, Report Writing, Applied Mathematics, Network Model, Business Modeling, Industrial Engineering, Research Reports, Model Optimization, Linear Algebra, Numerical Analysis, Operational Analysis, Statistical Machine Learning, Inventory Control, Case Studies, Process Optimization, Algorithms, Project Design, Machine Learning, Business Analytics
Beginner · Specialization · 3 - 6 Months

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

Princeton University
Skills you'll gain: Graph Theory, Data Structures, Algorithms, Theoretical Computer Science, Operations Research, Computer Programming, Java Programming, Java
Intermediate · Course · 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
Beginner · 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
Beginner · Course · 1 - 4 Weeks

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

Scrimba
Skills you'll gain: Software Design Patterns, Computational Thinking, Software Design, Algorithms, Program Development, Theoretical Computer Science, Software Development, Computer Programming, Problem Solving, Software Engineering, Data Structures, Computer Science, Javascript, Programming Principles, Web Development, Graph Theory, Machine Learning Methods, Data Science, Solution Design
Intermediate · Specialization · 1 - 4 Weeks