Department of Computer Science

SUNY Stony Brook

In Spring 1996, I taught my Analysis of Algorithms course via EngiNet, the SUNY Stony Brook distance learning program. Each of my lectures that semester was videotaped, and the tapes made available to off-site students. I found it an enjoyable experience.

As an experiment in using the Internet for distance learning, we have digitized the complete audio of all 23 lectures, and have made this available on the WWW. We partitioned the full audio track into sound clips, each corresponding to one page of lecture notes, and linked them to the associated text.

In a real sense, listening to all the audio is analogous to sitting through
a one-semester college course on algorithms!
Properly compressed, the full semester's audio requires less than 300 megabytes
of storage,
which is much less than I would have imagined.
The *entire* semesters lectures, over thirty hours of audio files,
fit comfortably on
The Algorithm Design Manual CD-ROM,
which also includes a hypertext version of the book and a substantial amount
of software.
All exercise numbers refer to Corman, Leiserson, and Rivest's
*Introduction to Algorithms*, the textbook I used that particular year.

The sound quality is amazingly good, considering it was me that they were taping. Unfortunately, the Shockwave format we used is only supported under Windows and Macintoshes, so the sound cannot be heard under UNIX. On certain browsers, a new window is opened for each sound bite, so be sure to close these windows before they cause trouble.

Because of space requirements, we did not digitize much of the corresponding video, which would have made the presentation even more interesting. Still, I hope you find that these audio lectures expand your understanding of both algorithm design and educational multimedia. The full video tapes themselves are also available.

- Lecture 1 - analyzing algorithms
- Lecture 2 - asymptotic notation
- Lecture 3 - recurrence relations
- Lecture 4 - heapsort
- Lecture 5 - quicksort
- Lecture 6 - linear sorting
- Lecture 7 - elementary data structures
- Lecture 8 - binary trees
- Lecture 9 - catch up
- Lecture 10 - tree restructuring
- Lecture 11 - backtracking
- Lecture 12 - introduction to dynamic programming
- Lecture 13 - dynamic programming applications
- Lecture 14 - data structures for graphs
- Lecture 15 - DFS and BFS
- Lecture 16 - applications of DFS and BFS
- Lecture 17 - minimum spanning trees
- Lecture 18 - shortest path algorthms
- Lecture 19 - satisfiability
- Lecture 20 - integer programming
- Lecture 21 - vertex cover
- Lecture 22 - techniques for proving hardness
- Lecture 23 - approximation algorithms and Cook's theorem
- Index
- About this document ...

** Next:** Lecture 1 - analyzing
**Up:** Main Page

Mon Jun 2 09:21:39 EDT 1997