The topic of data structures has historically been taught with two major focuses: first, the basic definition and implementation of a small set of basic data structures (e.g. list, stack, queue, tree, graph), and second, the usage of these basic data structures as provided by a data structures framework in solving larger application problems. We see a further evolution of data structures to include new generations of hybrid and custom data structures, implying that our students must not only understand how to use these new data structures but that they continue to understand low-level implementation issues so that they can develop the next generation of data structures needed in the future. We suggest that the data structures course evolve to reflect these new generations of data structures. Categories and Subject Descriptors E.1 [Data Structures]; K.3.2 [Computer and Information Science Education] General Terms: Algorithms, Performance, Design
Daniel J. Ernst, Daniel E. Stevenson, Paul J. Wagn