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, 16 January to Thursday, 25 January.
- Readings
-
Loudon: Chapters 1, 2 and 4
- Class notes
-
Introduction
C++ Review
Program Design
Programming Economics
- Assignment
-
Assignment 1 (last modified on 14 January 2007) available on Tuesday, 16 January; due on Tuesday, 30 January
at 5:30 p.m.
A code review.
The grades.
An example solution.
- Quiz
- Tuesday, 30 January
-
The pretest answered.
The answers.
The grades.
- Section 2 - Sorting, Tuesday, 30 January to Thursday, 8 February.
- Readings
-
Loudon: Chapter 12
- Class notes
-
Sorting Basics*
Faster Sorting
External Sorting
- Assignment
-
Assignment 2 (last modified on 15 February 2006) available on Tuesday, 30 January; due on Tuesday, 13 February
at 5:30 p.m.
- Quiz
- Tuesday, 13 February
-
The answers.
The grades.
- Section 3 - Linked Lists, Stacks, and Queues, Tuesday, 13 February to Thursday, 22 February.
- Readings
-
Loudon: Chapters 5 and 6
- Class notes
-
Abstract Data Types
Linked Lists
Stacks
Queues
- Assignment
-
Assignment 3 (last modified on 11 March 2006) available on Tuesday, 13 February; due on Tuesday, 27 February
at 5:30 p.m.
- Quiz
- Tuesday, 27 February
-
The answers.
The grades.
- Section 4 - Trees, Tuesday, 27 February to Thursday, 15 March.
- Spring Break
- No classes the week of 6-10 March
-
- Readings
-
Loudon: Chapter 9
- Class notes
-
Tree Basics
Balancing Trees
N-Way Trees
Heaps and Priority Queues
- Assignment
-
Assignment 4 (last modified on 22 March 2006) available on Tuesday, 27 February; due on Tuesday, 20 March
at 5:30 p.m.
An example solution.
A code review.
- Quiz
- Tuesday, 20 March
-
The answers.
The grades.
- Section 5 - Graphs, Tuesday, 20 March to Thursday, 29 March.
- Drop Day
- Monday, 26 March.
-
- Readings
-
Loudon: Chapter 11
- Class notes
-
Graph Basics
Graph Algorithms
Traveling, Flowing, and Matching
- Assignment
-
Assignment 5 (last modified on 13 April 2006) available on Tuesday, 20 March; due on Tuesday, 3 April
at 5:30 p.m.
A code review.
- Quiz
- Tuesday, 3 April
-
The answers.
The grades.
- Section 6 - Hashing, Tuesday, 3 April to Thursday, 12 April.
- Readings
-
Loudon: Chapter 8
- Class notes
-
Hashing Basics
Dynamic Hashing
An Interlude
Hashing Applications
- Assignment
-
Assignment 6 (last modified on 21 April 2006) available on Tuesday, 3 April; due on Tuesday, 17 April
at 5:30 p.m.
- Quiz
- Tuesday, 17 April
-
The answers.
The grades.
- Section 7 - Objects, Tuesday, 17 April to Thursday, 26 April.
- Readings
-
Loudon: Chapter 3
- Class notes
-
Objects, Inheritance and Types
Design by Contract
Liskov-Wing Substitution
- Assignment
-
Assignment 7 (last modified on 27 April 2006) available on Tuesday, 17 April; due on Tuesday, 1 May
at 5:30 p.m.
- Quiz
- Thursday, 26 April
-
The answers.
-
Open Lecture about Objects in C at 5:30
p.m. on 3 May in HH L512.