CS 2003 - Data Structures

Instructor: Andrew L. Mackey
Meeting Times: Tuesdays/Thursdays at 9:30 - 10:45 pm
Location: Baldor 147
Lab Assistant: Adrian Cuevas
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.

Prerequisites

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

Outline

The following represents a tentative list of topics for the class.

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 Review Open Addressing
12 Trees and Heaps Complete the Random Access File Lab
13 Binary Search Trees  
14 Graphs  
15 Graphs  
16 Final Examination  

Major Course Topics

Course Textbook

No textbook is required for the course. The following textbooks are optional and may supplement the material in this class:

Resources

The following resources are available for students to use.

Lab Work

Review the course website for more information

Examinations

The following are examinations from prior semesters: