Data structures and algorithms courses can help you learn how to organize data and solve problems efficiently—core skills for programming, software development, and technical interviews.
The language used throughout the course, in both instruction and assessments.
University of California, Santa Cruz
Skills you'll gain: C (Programming Language), Debugging, C++ (Programming Language), Data Structures, Computer Programming, Command-Line Interface, Data-oriented programming, Algorithms, File Management
Intermediate · Course · 1 - 3 Months

Rice University
Skills you'll gain: Data Visualization Software, Data Visualization, Plot (Graphics), Package and Software Management, Python Programming, Data Cleansing, Programming Principles, Data Processing, Data Manipulation, Software Installation, Development Environment, Data Structures, File Management, Scripting, Data Storage, Data Import/Export, Data Analysis, Program Development, Data Integration, Computer Programming
Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Python Programming, Data Import/Export, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures, Software Engineering, File Management
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Apache Spark, Apache Hadoop, User Interface (UI), Programming Principles, Big Data, Software Design, Data Structures, Software Design Patterns, Functional Design, Data Manipulation, Object Oriented Programming (OOP), Heat Maps, Data Visualization Software, Interactive Data Visualization, Distributed Computing, Computer Programming, Data Processing, Real Time Data, Performance Tuning
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Excel Macros, Visual Basic (Programming Language), Data Import/Export, Scripting, Programming Principles, Spreadsheet Software, UI Components, Automation, Data Structures, Debugging, Data Validation
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Graph Theory, Combinatorics, Network Analysis, Data Structures, Network Routing, Algorithms, Theoretical Computer Science, Program Development
Beginner · Course · 1 - 3 Months

Skills you'll gain: Cryptography, Encryption, Secure Coding, File Management, Python Programming, Mathematical Software, Programming Principles, Scripting, Algorithms, Debugging, Data Structures, User Interface (UI), UI Components, Application Development
Beginner · Specialization · 1 - 3 Months

Meta
Skills you'll gain: React Native, iOS Development, Core Data (Software), Restful API, Version Control, Apple iOS, UI/UX Research, Usability Testing, Apple Xcode, Data Structures, Swift Programming, Jest (JavaScript Testing Framework), User Interface (UI), Unix Commands, Git (Version Control System), Persona (User Experience), GitHub, Interaction Design, Mobile Development, Javascript
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

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

Duke University
Skills you'll gain: Software Design, Java, Java Programming, Object Oriented Programming (OOP), Data Processing, Data Analysis, Data Structures, Algorithms, Hypertext Markup Language (HTML)
Intermediate · Course · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Java Programming, Object Oriented Programming (OOP), Programming Principles, Computer Programming, Data Structures, Software Engineering, Unit Testing, Debugging, OS Process Management, File Management, Performance Tuning
Intermediate · Course · 1 - 3 Months