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, Algorithms, Python Programming, Computer Programming, Geometry, Data Manipulation, Data Management, Data Analysis, Applied Mathematics
Intermediate · Course · 1 - 3 Months

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
★ 4.7 (762) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Graph Theory, Data Structures, Algorithms, Computer Programming, Computational Thinking, Theoretical Computer Science, Python Programming, Performance Tuning
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
★ 3.6 (13) · Intermediate · Specialization · 1 - 3 Months
University of Illinois Urbana-Champaign
Skills you'll gain: Computational Logic, Application Specific Integrated Circuits, Theoretical Computer Science, Data Structures, Verification And Validation, Systems Design, Algorithms, Programming Principles, Design Software, Model Optimization, Digital Design
★ 4.6 (557) · Intermediate · Course · 1 - 3 Months

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 (38) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Graph Theory, Algorithms, Game Theory, Data Structures, Computer Programming, Computational Thinking, Problem Solving
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Algorithms, Java, Java Programming, Programming Principles, Computer Programming, Performance Tuning, Computational Thinking, Theoretical Computer Science, Solution Design
Beginner · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Java Programming, Object Oriented Programming (OOP), 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: Algorithms, Graph Theory, Data Structures, C++ (Programming Language), C and C++, Programming Principles, Computer Programming, Object Oriented Programming (OOP), Theoretical Computer Science
★ 4.6 (16) · Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Performance Testing, Performance Tuning, Performance Stress Testing, Model Optimization, Algorithms, Performance Analysis, Performance Metric, Memory Management, Theoretical Computer Science
Intermediate · Course · 1 - 4 Weeks

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