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: 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

University of California San Diego
Skills you'll gain: Data Structures, Algorithms, Data Storage, Graph Theory, Computer Programming, C++ (Programming Language), Java Programming, Java
Intermediate · Course · 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
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
Beginner · Course · 1 - 3 Months

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

University of California San Diego
Skills you'll gain: Unit Testing, Growth Mindedness, Data Structures, Graph Theory, Event-Driven Programming, Social Network Analysis, Interactive Data Visualization, Java, Java Programming, Network Analysis, Object Oriented Programming (OOP), Technical Communication, User Interface (UI), Peer Review, Object Oriented Design, Software Testing, Computer Programming, Program Development, Adaptability, Problem Solving
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: Memory Management, C (Programming Language), C and C++, Data Structures, Secure Coding, Application Security, System Programming, Programming Principles
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
Intermediate · Course · 1 - 3 Months

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

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
Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Algorithms, Computational Thinking, Theoretical Computer Science, Computational Logic, Critical Thinking and Problem Solving, Computer Science, Data Structures, Critical Thinking, Classification Algorithms, Logical Reasoning, Graph Theory, Mathematical Theory & Analysis, Complex Problem Solving, Analysis, Game Theory
Intermediate · Course · 1 - 4 Weeks