The syllabus is broken up into seven two-week sections.
- Introduction
- Sorting
- Linked Lists, Stacks, and Queues
- Trees
- Graphs
- Hashing
- Objects
Notes:
- The phrase "X through Y" means "from the beginning of X
to the end of Y."
- Pages marked with an asterisk (*) contain tclets displaying algorithm
animations; the tclet browser plug-in must be installed to see the
animations. Your browser should guide you through plug-in installation; if
it doesn't you can get more information from the
tclet plug-in page.
- Section 1 - Introduction, Tuesday, 17 January to Thursday, 26 January.
- Readings
-
Nyhoff: Chapters 1 through 3
- Class notes
-
Introduction
C++ Review
Program Design
Programming Economics
- Assignment
-
Assignment 1 (last modified on 7 February 2006) available on Tuesday, 17 January; due on Tuesday, 31 January
at 5:30 p.m.
The grades.
A code review.
An example solution.
- Quiz
- Tuesday, 31 January
-
The pretest answered.
The answers.
The grades.
- Section 2 - Sorting, Tuesday, 31 January to Thursday, 9 February.
- Readings
-
Nyhoff: Chapter 13
- Class notes
-
Sorting Basics*
Faster Sorting
External Sorting
- Assignment
-
Assignment 2 (last modified on 15 February 2006) available on Tuesday, 31 January; due on Tuesday, 21 February
at 5:30 p.m.
The grades.
An example solution.
A code review.
- Quiz
- Tuesday, 14 February
-
The answers.
The grades.
- Section 3 - Linked Lists, Stacks, and Queues, Tuesday, 14 February to Thursday, 23 February.
- Readings
-
Nyhoff: Chapters 6 through 8; Sections 7.4, 7.5, 8.4 and 8.5 optional
- Class notes
-
Abstract Data Types
Linked Lists
Stacks
Queues
- Assignment
-
Assignment 3 (last modified on 11 March 2006) available on Tuesday, 14 February; due on Tuesday, 7 March
at 5:30 p.m.
A code review.
The grades.
an example solution.
- Quiz
- Tuesday, 28 February
-
The answers.
The grades.
- Section 4 - Trees, Tuesday, 28 February to Thursday, 16 March.
- Spring Break
- No classes the week of 6-10 March
-
- Readings
-
Nyhoff: Sections 12.1 through 12.6; sections 15.1 through 15.3
- Class notes
-
Tree Basics
Balancing Trees
N-Way Trees
- Assignment
-
Assignment 4 (last modified on 22 March 2006) available on Friday, 10 March; due
on Friday, 24 March at 5:30 p.m.
A code review.
The grades.
- Quiz
- Tuesday, 21 March
-
The grades.
The answers.
- Section 5 - Graphs, Tuesday, 21 March to Thursday, 30 March.
- Drop Day
- Monday, 27 March.
-
- Readings
-
Nyhoff: Chapter 16
- Class notes
-
Graph Basics
Graph Algorithms
Traveling, Flowing, and Matching
- Assignment
-
Assignment 5 (last modified on 13 April 2006) available on Tuesday, 21 March; due on Thursday, 6 April
at 5:30 p.m.
A code review.
The grades.
- Quiz
- Tuesday, 4 April
-
The answers.
The grades.
- Section 6 - Hashing, Tuesday, 4 April to Thursday, 13 April.
- Readings
-
Nyhoff: Section 12.7
- Class notes
-
Hashing Basics
Dynamic Hashing
Hashing Applications
- Assignment
-
Assignment 6 (last modified on 21 April 2006) available on Tuesday, 4 April; due on Thursday, 20 April
at 5:30 p.m.
A code review.
The grades.
- Quiz
- Tuesday, 18 April
-
The answers.
The grades.
- Section 7 - Objects, Tuesday, 18 April to Thursday, 27 April.
- Readings
-
Nyhoff: Chapters 4 and 14
- Class notes
-
Objects, Inheritance and Types
Design by Contract
Liskov-Wing Substitution
- Assignment
-
Assignment 7 (last modified on 27 April 2006) available on Tuesday, 18 April; due on Tuesday, 2 May
at 5:30 p.m.
An example solution.
The grades.
- Quiz
- Thursday, 27 April
-
The answers.
The grades.
- Open Lecture about
data
structures and algorithms for flash storage at 5:30 p.m. to 7:30 p.m.
on Thursday, 4 May in
HH-L512.