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.

Peking University
Skills you'll gain: C# (Programming Language), Data Structures, C++ (Programming Language), Computer Programming, Microsoft Visual Studio, Object Oriented Programming (OOP), Extensible Markup Language (XML), Extensible Languages and XML, Object Oriented Design, .NET Framework, Java, Programming Principles, Data Access, Database Management, User Interface (UI), Algorithms, UI Components, Event-Driven Programming, Computer Graphics, Program Development
Intermediate · Course · 3 - 6 Months

Korea Advanced Institute of Science and Technology(KAIST)
Skills you'll gain: NumPy, Python Programming, Artificial Intelligence, Programming Principles, Tensorflow, Data Structures, Development Environment, Software Installation, Data Manipulation, Package and Software Management
Beginner · Course · 1 - 3 Months

International Institute of Information Technology Bangalore
Skills you'll gain: File I/O, C (Programming Language), Memory Management, Programming Principles, C and C++, Data Structures, Computer Programming, Code Reusability, Program Development, Integrated Development Environments, Computational Logic, Software Installation, Problem Solving
Beginner · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: SQL, Oracle Databases, Database Design, Database Development, Database Management, Relational Databases, Database Management Systems, Query Languages, Data Maintenance, Performance Tuning, Data Structures
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Apache Maven, File I/O, Build Tools, Data Import/Export, Object Oriented Programming (OOP), JSON, Java Programming, Object Oriented Design, Debugging, JUnit, Code Reusability, Software Documentation, Programming Principles, Data Structures, File Systems, Computer Programming, Web Services, File Management, Java, Computer Science
Beginner · Specialization · 3 - 6 Months
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Programming Principles, Data Structures, Functional Design, Object Oriented Programming (OOP), Other Programming Languages, Object Oriented Design, Computational Logic, Command-Line Interface
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Interactive Data Visualization, Software Design, Program Development, Data Structures, Interactive Design, Programming Principles, Visualization (Computer Graphics), Graphic and Visual Design, Python Programming, Event-Driven Programming, Systems Design, Digital Design, Simulations, Computer Graphics, Design, Game Design, Computational Logic
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Swift Programming, Apple Xcode, iOS Development, Apple iOS, Data Structures, Programming Principles, Mobile Development, Code Reusability, Data Storage, Application Development, Object Oriented Programming (OOP), Development Environment, Computer Programming, Web Development
Beginner · Course · 1 - 3 Months

Skills you'll gain: Rust (Programming Language), Data Structures, Memory Management, Code Reusability, Package and Software Management, Blockchain, Web Development, Development Environment, Performance Testing, Programming Principles, System Programming, Algorithms, Integrated Development Environments, Software Testing, Software Installation
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: C and C++, File I/O, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Data Structures, C (Programming Language), Code Reusability, Development Environment, Program Development, Programming Principles, Computer Programming, Memory Management, Computer Programming Tools, Data Persistence, Integrated Development Environments, Algorithms, Functional Design, Data Management
Intermediate · Specialization · 1 - 3 Months

Scrimba
Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Structures, Python Programming, Programming Principles, Computer Programming, Computational Logic, Software Engineering, Performance Tuning, Web Development, Performance Testing, Web Development Tools, Debugging, Software Development
Beginner · Specialization · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Memory Management, C++ (Programming Language), C (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Structures, Programming Principles, Software Design, Python Programming, Java, Algorithms, Performance Tuning
Intermediate · Course · 1 - 3 Months