Build your knowledge of Data Structures through visualizations and practice!

Number of exercises practiced till NOW!

Teachers, want to use OpenDSA in your course?

Create your course

Want to try OpenDSA?

See OpenDSA eTextbooks

What Is OpenDSA?

OpenDSA is infrastructure and materials to support courses in a wide variety of Computer Science-related topics such as Data Structures and Algorithms (DSA), Formal Languages, Finite Automata, and Programming Languages.

OpenDSA materials include many visualizations and interactive exercises. Our philosophy is that students learn best when they engage the material and then practice it until they have demonstrated their proficiency. OpenDSA provides a place for students to practice skills and develop knowledge with a variety of exercises including small code writing problems, proficiency exercises where students demonstrate knowledge of an algorithm by interacting with a data structure, and questions about knowledge. For more information, look HERE


Have to Be a Student?

No, you do not have to be a student in a course to use OpenDSA. OpenDSA provides comprehensive support for teachers who want to use our materials for their textbook or homeworks. But we also support independent learners who are just practicing on their own. See our sample books list , where you can practice any exercises or view any materials that you wish.


Use in a Course

For teachers, OpenDSA allows you to create your own custom eTextbooks, selecting from our comprehensive body of materials and exercises. Use OpenDSA as supplementary reading material, or use it as your primary textbook and homeworks. See MORE INFORMATION


OpenDSA is Free to Use

OpenDSA is open-source software that is free to use.

You can find us on github at .

Contributions of new materials are welcome! For more information on contributing, see .

Contact us at

The OpenDSA Project is supported by the National Science Foundation. See more. NSF Logo