Course Home | Course Policies | Homework | Lab Open Hours | Programming | Schedule & Lecture Notes

CS 180: Data Structures
Fall 2009

Erin Chambers
Contact Info: echambe5 - at -
Office: 011 Ritter Hall
Office Hours: Monday 11-12am, Wednesday 2-3pm, or by appointment


Please note that any topics scheduled for future classes are tentative, and may be changed at the last minute.

Week Day Topic Reading
August 24-28 Mon Introduction, course administration
High Level Languages
Sec. 1-3 of transition guide
Wed Variables and control structures Lecture Notes
Sections 4-6 of Transition Guide
Chapter 1 of Textbook
Thurs Lab 1
Fri File I/O, Classes Lecture Notes
Sections 6-7 of Transition Guide
August 31-September 4 Mon Classes
Value and Reference Variables
Lecture Notes
Sec. 7 of transition guide
Section 1.5 of the textbook
Wed Pointers Lecture Notes
Section 1.5 of textbook
Thurs Lab 2
Fri Structs and enums
Larger projects and makefiles
Lecture Notes
Section 1.6 of the textbook
CreditCard.h CreditCard.cpp
TestCard.cpp makefile
September 7-11 Mon No class - Labor Day
Wed Analysis of Algorithms Lecture Notes
Chapter 3
Thurs Lab 3
Fri Templates and Error Handling
Lecture Notes
Chapter 2.3-2.4
September 14-18 Mon Stacks Lecture Notes
Array based stack implementation
Section 4.2 of text
Wed Queues Lecture Notes
Section 4.3 of text
Thurs Lab 4
Fri Queues
Linked lists
Lecture Notes
Array based queue implementation
Chapter 5.3-5.4
September 21-25 Mon Review Session
Wed Lab 4
Thurs Exam I material up through beginning of queues
Fri Linked Lists Lecture Notes
Chapter 4.4.1-4.4.2
September 28-October 2 Mon Stacks based on linked lists Lecture Notes
Linked Stack code
Section 4.4.2 of text
Wed End of linked stacks
Linked Queues
Lecture Notes
Linked queue code
Section 4.4.2-4.4.3
Thurs No class (Lab canceled due to illness)
Fri Double ended queues (deque) Ch. 4.5 in text
October 5-9 Mon No class due to illness
Wed Lab 5
Thurs Vectors Ch. 5.1
Our vector class
Fri Midterm review
October 12-16 Mon Aymptotic Analysis
Extendible arrays in Vectors
Ch. 5.1.3
Lecture Notes
Wed Finish vector code Ch. 5.1
Our vector class
Thurs Lab 6
Fri Lists Ch. 5.2
October 19-23 Mon No class - fall break
Wed Lists
Ch. 5.2
Our list class
Thurs Lab 7
Fri Finish lists and Iterators Ch. 5.2
Our (partial!) list class
Full pdf of list class
October 26-30 Mon Sorting a list Chapter 10 of text
Code for sorting
Wed Intro to trees Ch. 6.1-6.2
Lecture Notes
Thurs Lab 8
Fri Tree algorithms Ch. 6.3 - 6.4
Lecture Notes
November 2-6 Mon Heaps Chapter 7.3
Lecture Notes
Wed Binary Tree code BinaryTree.h
Thurs Lab 9
Fri More with binary trees
November 9-13 Mon Binary Search Trees Chapter 9.1
Lecture Notes
Wed Review Session
Thurs Midterm 2
Fri AVL Trees Capter 9.2
Lecture Notes
November 16-20 Mon AVL Trees
Chapter 9.2
Lecture Notes
Some extra treap notes
Wed Treap code
Thurs Hash Tables - part 1 Lecture Notes
Fri Hash Tables - part 2 Lecture Notes
November 23-27 Mon Hash Tables part 3 Lecture Notes +
Wed No class
Thurs Happy Thanksgiving!
Fri No class
November 30 - December 4 Mon Intro to last program
Huffman codes
Lecture Notes +
Wed Huffman codes Lecture Notes
Thurs Work day for last program