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: Computational Thinking, Algorithms, Programming Principles, Data Structures, Problem Solving, Javascript, Solution Design, Performance Tuning
Intermediate · Course · 1 - 3 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

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, Integrated Development Environments, Debugging, Program Development, Database Systems, Theoretical Computer Science
Intermediate · Specialization · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Data Structures, Algorithms, Theoretical Computer Science, Data Science, Analysis, Probability & Statistics, Python Programming
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

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
Build toward a degree
Advanced · Course · 1 - 4 Weeks

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

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, Code Reusability, Pseudocode, Software Installation, Software Architecture, Performance Tuning
Intermediate · Specialization · 3 - 6 Months

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

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Algorithms, Programming Principles, Data Store, Data Management, Computational Thinking, Memory Management, C and C++, Software Design, Problem Solving, Complex Problem Solving
Build toward a degree
Mixed · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Algorithms, Debugging, Development Testing, Software Testing, Computational Thinking, Computer Programming, Theoretical Computer Science, Bioinformatics
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Algorithms, Technical Communication, Solution Design, Programming Principles, Theoretical Computer Science, Data Structures, Applied Mathematics, Computer Science
Beginner · Course · 1 - 4 Weeks