Data Structures and Algorithms courses can help you learn about arrays, linked lists, trees, and graph structures, along with sorting and searching algorithms. You can build skills in problem-solving, optimizing code efficiency, and analyzing algorithm complexity. Many courses introduce tools like Python, Java, or C++ for implementing these concepts, as well as platforms for coding challenges that reinforce your understanding through practical application.

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.1 (23) · Intermediate · Specialization · 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

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, Software Design Patterns, Problem Solving, Solution Design, Applied Mathematics, Geometry
Intermediate · 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
University of Michigan
Skills you'll gain: File I/O, Data Structures, Data Processing, Data Analysis, Python Programming, Data Manipulation, Software Installation, File Management, Development Environment
★ 4.9 (97K) · Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Data Structures, Algorithms, Data Storage, Graph Theory, Computer Programming, C++ (Programming Language), Java Programming
★ 4.6 (5.6K) · Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C and C++, Data Structures, Secure Coding, Application Security, System Programming, Programming Principles
★ 4.5 (75) · Intermediate · Course · 1 - 4 Weeks

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

Princeton University
Skills you'll gain: Graph Theory, Data Structures, Algorithms, Theoretical Computer Science, Computer Programming, Java Programming, Java
★ 4.9 (2.1K) · Intermediate · Course · 3 - 6 Months

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Software Engineering, Data Structures, Memory Management, Computer Programming Tools, Debugging, Program Development
★ 4.7 (3K) · Intermediate · 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
★ 4.6 (794) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Algorithms, Computational Thinking, Programming Principles, Theoretical Computer Science, Software Engineering, Computer Programming, Performance Tuning
Intermediate · Course · 1 - 3 Months