180 likes | 345 Views
Teaching Data Structures. Richard M. Stillman, M.D. Nova Southeastern University & Alan R. Peslak, Ph.D. Penn State University. 2002 Model Curriculum. 2002.5: Programming, Data, File and Object Structures Catalog: Abstract data type construction and use
E N D
Teaching Data Structures Richard M. Stillman, M.D. Nova Southeastern University & Alan R. Peslak, Ph.D. Penn State University
2002 Model Curriculum • 2002.5: Programming, Data, File and Object Structures • Catalog:Abstract data type constructionand use • Scope:Design and application of data and file structures • Topics:Data structures and representation • Discussion:Specific data structures including arrays, records, stacks, queues, and trees
What to Teach? • How to apply abstract data types versus • How to build abstract data types
Apply • "Software Engineering is moving away from emphasis on the creation of code, toward emphasis on components and code reuse. The teaching of data structures needs to adjust to that change." -- Collins et al, 2003
Build • “Data structures are a vehicle for developing thinking skills that are important and transferable beyond their immediate application to data structures… [and build an] awareness that the obvious or straightforward way to do things is often markedly inferior to clever ways that have been discovered…" -- Lister et al, 2004
Our Didactic Methods • Assignments • Course Project • Build any five ADTs • Apply these five ADTs i.e., Build & Apply
Basic ADTs: Rehashed design of those provided by instructor or text Applications: Rudimentary use of of the ADTs Creative ADTs: Different in some way from the usual, e.g., dropped assumptions, different algorithm Applications: Interesting, complex, or novel Classification of Project Quality
What’s a Creative Project? ImageRenderer, which uses a Priority Queue
What’s a Creative Project? ProteinTaxonomy, which uses a BST
Results • 38 students • 16 students did ‘creative’ projects • 19 students had professional experience beyond entry-level employment
Summary • Our data structures students self-select ADTs to implement for a final project • Project grades are based upon creativity and complexity • We’ve compared final project choice with: • Students’ professional background • Independent measures of students’ performance
Summary (continued) • Those students with more professional experience, tended to implement the more creative ADTs • Those students who implemented the more complex ADTs, tended to do better in the other aspects of the course
Conclusions • A student’s decision to implement a more creative final project led to: • A better grade on the project (obviously), • A better grade in the other aspects of the course (interestingly), and • A better understanding of both the implementation and application of abstract data structures (hopefully).