Prerequisite:CS 202; CS 295 or MA 295 or MA 395 may be taken concurrently. Elementary data structures are designed and built according to principles of data encapsulation and abstraction. Associated algorithms are analyzed for efficiency. Introduces a UNIX-based platform and tools for programming. Must be passed with a C- or better to move to the next course.