You are here: Home Current Students Courses 200 Level 20-CS-228: Data Structures
Document Actions

20-CS-228: Data Structures

Syllabus:
Course Number 20-CS-228
Credit Hours 3 Undergraduate
Prerequisites 20 CS 122
Catalog Data
Data structures such as stacks, queues, trees, and graphs. Introduction to hashing, sorting, searching, and complexity of algorithms. Practice implementation of the concepts of the data structures and encapsulation of structure and behavior of data types. Prereq.: 20 CS or CS 122.
Textbooks F.M. Carrano and J.J. Prichard, Data Abstraction and Problem Solving With C++: Walls and Mirrors, latest edition.
Prerequisites by Topic
C++ programming; list, stack and queue data structures, object-oriented design/coding
Goals
Students should learn several standard abstract data types and their implementations. They should learn several basic algorithms common to these data types and be familiar with standard measures of algorithmic complexity. They should practice program design based upon data requirements, choosing abstract data types based upon general requirements and choosing implementations of those data types to optimize programmer productivity, machine efficiency, and/or space utilization.
Topics
  1. Review of Linear data structures linked lists, stacks, and queues
  2. Introduction to algorithms and efficiency
  3. Sorting, includeing quicksort and radix sort
  4. Binary trees
  5. Binary Search trees
  6. General trees
  7. Heaps, priority queues and heap sort
  8. Graphs and digraphs
  9. Balanced trees – red-black trees and B-trees
  10. Hashing
Labs
4-8 programming assignments.
Estimated ABET
Engineering science 3 credits (100%)
Prepared By Wen-Ben Jone, Ph.D. on 2006/10/26