dsa-explain: Interactive modules for Algorithms and Data Structures

Project Titledsa-explain: Interactive modules for Algorithms and Data Structures
Principal InvestigatorElham E Khoda
Co-Applicants-Ilya Musabirov, Assistant Professor of Teaching, Computer Science, Faculty of Science
-Cinda Heeren, Professor of Teaching, Computer Science, Faculty of Science
-Firas Moosvi, Lecturer, Computer Science, Faculty of Science
FacultyScience
Funding Year2026
Project SummaryWe propose data structures & algorithms-explain (dsa-explain), an online collection of interactive modules that introduce core concepts in algorithms and data structures. Whether modeling ocean currents, simulating physical interactions, analyzing health data, or building an online web service, algorithms and data structures form the fundamental building blocks of all computational artifacts. dsa-explain meets all learners where they are, from computer scientists to social scientists, by making these ideas accessible and engaging.

The collection includes ten carefully selected foundational topics, each presented with intuitive explanations,
simple illustrations, interactive visual elements, and short formative questions to help learners reflect on their
understanding. The modules are designed as a progressive disclosure approach, moving from introductory intuition-building overviews to more detailed explanations, to a deeper dive; making them approachable to a
diverse audience from multiple disciplines.

dsa-explain adopts a modular format, focusing on ease of integration of topics in supervised and independent formats across courses and learning contexts. This flexibility supports the adoption, adaptation, and long-term sustainability as high-quality OER, where such materials are currently limited. dsa-explain will support learning across multiple large courses in UBC’s Master of Data Science program, Computer Science and Data Science majors, including DSCI512, CPSC203, DSCI221, and CPSC221.
Grant type OER Affordability
Funded Amount $24,998