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 |
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 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 |
No textbook is required for the course. The following textbooks are optional and may supplement the material in this class:
The following resources are available for students to use.
Review the course website for more information
The following are examinations from prior semesters: