CS 2003 - Data Structures

Instructor: Andrew L. Mackey
Meeting Times: Tuesdays/Thursdays at 9:30 - 10:45 pm
Location: Baldor 147
Lab Assistant: Kyle Kelly
Lab Times: Fridays at 2:00 pm - 4:00 pm

Course Overview

This course introduces the programming concepts of data structures and the algorithms derived from them. Topics include recursion, stacks, queues, linked lists, hash tables, trees and graphs.


Students are required to have a prior background in object-oriented programming languages (e.g. Java, C++, etc.) and Calculus.


The follow list contains courses that I have taught within the past few years.

Week Topic Notes
1 Course Introduction Complete the Object-Oriented Review Lab
2 Inheritance and Polymorphism  
3 Interfaces, Iterators and Abstract Classes  
4 Algorithm Analysis  
5 Recursion  
6 Recursion Complete the Recursion Lab
7 Searching  
8 Midterm Examination  
9 Linked Lists  
10 Stacks and Queues  
11 Hash Tables Complete the Random Access File Lab
12 Trees and Heaps  
13 Binary Search Trees  
14 Graphs  
15 Graphs  
16 Final Examination  

Major Course Topics

Assigned Reading

No reading material has been assigned. However, the following textbooks are optional and may supplement the material in this class:


The following resources are available for students to use.

Lab Work

Review the course website for more information


The following are examinations from prior semesters: