Is It Time to Remove Data Structures? A Critical Look at Requirements and Curricular Placement.
CS 2: Data Structures is arguably one of the most central courses in a Computer Science degree, but how it is taught and the exact topics are often an area of debate among educators.
Indeed, a foundational tension has emerged with, on the one hand, students questioning the relevance of implementing algorithms readily available in modern software development kits (SDKs) and, on the other hand, faculty maintaining that deep algorithmic understanding remains essential for advanced coursework. By using topics identified in previous research and cross-referencing them with the ACM 2023 Knowledge Areas, the analysis reveals that current data structures courses attempt to serve two distinct educational objectives: first, to provide practical software development; and second, to ensure core theoretical algorithmic understanding. As such, the course is often overburdened with content and overwhelming to students. Additionally, by examining the curricular complexity of 75 degree programs, we identify the placement as highly central, creating complex bottlenecks for students compounding the difficulty of the course.
We argue for the benefits of replacing the traditional single course with two focused courses: (1) Object-Oriented Programming with Data Structures, emphasizing practical application through SDK usage and software engineering principles, and (2) Data Structures and Algorithms, providing mathematical foundations through experimental analysis and formal proofs. Sample topic lists mapped to Knowledge Areas are provided with each recommendation. While not unknown, this approach reduces curricular complexity while better serving diverse student populations, from those seeking practical programming skills to those requiring theoretical depth for advanced computer science study.
Researcher in Computer Science education. I earned my BS, MS, and PhD degrees from Colorado State University in Computer Science. I work for Khoury College of Computer Sciences at Northeastern University as an Associate Teaching Professor and Director of Align Online.
I currently focus on inclusive pedagogy and grading practices for introductory CS courses, and have developed the ‘spiral’ design for teaching CS 1.
