Course Overview
The object-oriented approach to software design and programming
makes the appropriate choice and implementation of data
structures crucial for program performance and for its
future maintainability. A good understanding of standard
data structures and associated algorithms becomes an indispensable
component of designer's knowledge.
In this course, we will briefly review the basic C++
facilities for software modularization (classes, their
components, templates, and their use). We will use
them to implement standard data structures: bags, lists,
stacks, queues, trees, graphs. We will also consider
algorithms for sorting and searching along with basic
topics on performance evaluation and recursion.
Upon the completion of this course, you will further
develop your skills of modular approach to producing
maintainable, documented and adequately tested software
of realistic size using C++ as the implementation language.
Prerequisites
A working knowledge of C++ is required (MET CS231 or
MET CS331 is sufficient). Some degree of mathematical
maturity (e.g., MET CS248) would be useful but not
mandatory.
|