Data Structures and Object-Oriented Development II
Description:
CS2606: Design and implementation of data structures, intermediate software engineering design principles, and object-oriented programming skills. Emphasis on algorithm analysis, design patterns, testing, debugging, and organizing and managing larger programs. Topics include sorting, searching, file processing, indexing, hashing, and advanced tree structures.
Having successfully completed this course, the student will be able to:
- Choose the data structures that effectively model the information in a problem;
- Judge efficiency tradeoffs among alternative data structure implementations or combinations;
- Apply algorithm analysis techniques to evaluate the performance of an algorithm or to compare data structures;
- Design, implement, test, and debug programs using a variety of data structures;
- Implement buffer pools, hash tables, and advanced tree structures;
- Recognize and apply design patterns, and make judgments about when a particular pattern will improve a design;
- Select appropriate methods for organizing data files, and implement file-based data structures.
This course replaces CS2604.
Prerequisites: C or better in CS2605
Taught By: Clifford Shaffer
William McQuain
