Instructor: Doug Lea
Class: 8am T-Th
Office/Lab hours. Normally every day 11-12
Course home page:
- Review and extension of arrays, lists, tables, trees.
- Balanced trees
- Indexing, BTrees, Hashing
- Sequential / IO
- Serialization, Pipes, Sorting, Text searching, etc.
- Algorithms for traversal, connectivity, paths, flow
- Algorithm design and analysis
- Design strategies, complexity analysis
Subject to minor change:
- Two exams (one during final exam week) (25%)
- Practice exam
- 3 programming assignments (one has multiple parts) (75%)
- Programs may not be submitted unless they successfully run
according to specification. You must demo your program to me
within 2 days of submitting it. Five percent credit is taken off
per day late.
- Assignment 1
- Assignment 2
- Assignment 3
There is no required text. Background on most data structures and
algorithms is easily found on the web; useful resources on
particular topics are mentioned in class. However, I recommend that
you buy the following book that will be referred to as a basic
source on most topics, and that you might want to keep around as a
Introduction to Algorithms by Thomas H. Cormen, Charles
E. Leiserson, Ronald L. Rivest, and Cliff Stein. MIT Press /
You will also be expected to work through several online tutorials
and related readings.