The School of Electrical Engineering and Computer Science

CptS 122: Data Structures

Catalog Information
Course Number: 
122
Credits: 
4
Pre-Requisites

C programming skills at the level of CS 1 (Cpts 121), proficiency in small program design and development.

Class Information
Objectives: 

Students passing this course will be able to implement basic data structures, sorting and searching algorithms, utilize pointers, and write recursive functions. Students passing this course will have experience using C/C++ programming language on Windows platform.

Structure: 

One 3 hour laboratory session is required each week. Lab exercises are directed by a teaching assistant for the purpose of developing coding, system, and compiling skills. Each lab session requires the completion short programming exercises of approximately 100 to 200 lines of non-commented source code each. These assignments are designed to demonstrate program language features and usage as well as algorithm and object design.

Topics: 
  • Memory allocation and de-allocation, memory addressing, pointers, the relationship between pointers and arrays.
  • Linear and non-linear data structures including strings, linked lists, stacks, queues and binary trees.
  • Abstract data types and object design, data value and container class design.
  • Recursion.
  • Searching algorithms.
  • Sorting algorithms (including mergesort, quicksort ).
  • Simple analysis of algorithms.
  • Generic function and class design.
  • Use and implementation of design patterns including Functors, Wrappers, Adapters, and Proxy objects.
Lab Projects: 

One 3 hour laboratory session is required each week. Lab exercises are directed by a teaching assistant for the purpose of developing coding, system, and compiling skills. Each lab session requires the completion short programming exercises of approximately 100 to 200 lines of non-commented source code each. These assignments are designed to demonstrate program language features and usage as well as algorithm and object design.

Requirements
Textbooks/References: 

C How to Program, Deitel and Deitel, Prentice Hall, 2006.
Accelerated C++, Koenig and Moo, Addison Wesley, 2000

Professor/Coordinator: 
Jack R. Hagemeister
Contact us: webmaster@eecs.wsu.edu | Telephone: 509 335 6602 Fax: 509 335 3818 | Accessibility | Copyright | Policies
School of Electrical Engineering and Computer Science, PO BOX 642752, Washington State University, Pullman, WA, 99164-2752 USA