Algorithms Information and Course Materials on the Net

Algorithms Course Materials on the Net

Note this site is still very much . Suggestions and corrections can be made by emailing me at

Lower Level Undergraduate Courses (Or more precisely, these seem to be classes that concentrate on learning standard algorithms, as opposed to learning techniques for designing and analyzing algorithms for new problems.)

Introduction to Algorithms, Spring 96, Seth Teller, M.I.T. Class handouts, assignments with solutions

COS 226: Data Structures and Algorithms, Spring 1996, Robert Sedgewick, Princeton Lecture notes and problem sets

CS2604 Data Structures and File Processing, Stephen Edwards, Virginia Tech Course notes and assignments

ICS 161 Design and Analysis of Algorithms, Winter 1996, by David Eppstein, UC Irvine Lecture notes of undergraduate algorithms.

CMSC 251, Samir Khuller, University of Maryland Class handouts, homework with solutions

COMP260 Algorithms, Isabel Cruz, Tufts University PostScript class notes.

WR3 Algorithmics Lecture notes.

Upper Level Undergraduate and Introductory Graduate Courses

CS4104 Data and Algorithm Analysis, Fall 96, Cliff Shaffer, Virginia Tech Course notes, assignments, algorithm visualizations

22C:021 Algorithms and Data Structures, Ted Herman, Fall 96, U. of Iowa Lecture notes, homewworks and solutions

David Mount's home page with links to postscript lecture notes, University of Maryland

CSCI 3104, Spring 1996, Karl Winklmann, University of Colorado at Boulder Lecture notes, sample exams and solutions

CSC204, Michael Elphick, University of Newcastle Lecture notes covering algorithm design, algorithm complexity, introduction do NP-completeness.

CS 681 Fall 1995, Monika Rauch Henzinger, Cornell Postscript lecture notes, homeworks with solutions, midterm exams with solutions.

CS 548, Steven Skienna, SUNY Stony Brook Lecture notes, midterms, homework assignments.

CS5114 Theory of Algorithms, Spring 96, Lenwood S. Heath, Virginia Tech Postscript course notes

COSC 105 - Algorithms and Data Structures, Neal Young, Dartmouth Problem sets with solutions, and some exams.

CIS 435 Advanced Algorithms and Data Structures, Dina Kravets, New Jersey Institute of Technology Lecture notes.

CS124 Data Structures and Algorithms, H.T. Kung, Havard University Handouts, assignments with solutions, and midterm solutions.

CS577 Introduction to Algorithms, Anne Condon, University of Wisconsin. Lecture notes, and homework assignments.

CS3104 Algorithms, Spring 1996, Andrzej Ehrenfeucht and Karl Winklmann, University of Colorado Lecture Notes

CS 2151: Introduction to Algorithms, Kirk Pruhs, University of Pittsburgh, problem sets, exams with solutions.

Samir Khuller, University of Maryland Postscript lecture notes with an emphasis on graph theoretic algorithms.

CS138 Computer Algorithms, Mani Chandy, Cal. Tech. Sequential algorithms, distributed algorithms, and assorted topics. Lecture notes, problem sets with solutions.

Algorithms 300 (1996), Gordon Royle, University of Western Australia, Lecture notes.

CS 161: Data Structures and Algorithms, Leonidas Guibas, Stanford Course handouts in PostScript format.

ICS311 Algorithms and Data Structures, Kazuo Sugihara, University of Hawaii Lecture notes.

ICS621 Analysis of Algorithms, University of Hawaii Introduction, lecture notes, and handouts.

CS 466/666, Ming Li, University of Waterloo, Lecture notes, exams and midterms with solutions.

CSCI 570: Analysis of Algorithms, Doug Ierardi, USC Handouts, exams, and assignent sets.

COT 5405 Analysis of Algorithms, University of Florida Homework assignments and solutions, exams, and PostScript lecture notes, including dynamic programming, greedy approach, graph algorithms, and NP-Completeness.

CS660 Combinatorial Algorithms, Roger Whitney, San Diego State University Lecture notes.

CS303 Design and Analysis of Algorithms, Ashwin Rao, USC.

Advanced or Specialized Graduate Courses

Design of greedy algorithms, Caltech Includes matroid characterization.

Samir Khuller, University of Maryland Computational Geometry. Lecture notes, homeworks with solutions.

Michel X. Goemans, MIT Postscript lecture notes on online algorithms, randomized algorithms, network algorithms, linear programming, and approximation algorithms.

CS662 Parallel Algorithms, Roger Whitney, San Diego State University Lecture notes and assignments.

CS361A Advanced Algorithms and Data Structures, Rajeev Motwani, Stanford University Advanced data structures and approximations algorithms for NP-hard problems, PostScript handouts, lecture notes, and homework assignmets.

2D1440 Advanced Algorithms, Johan Hastad, KTH LaTex and PostScript lectue notes concentrating on numerical algorithms.

CS138b Distributed Algorithms, Mani Chandy, Cal. Tech. Distributed algorithms. Lecture notes, problem sets with solutions.

CPS838, Eric Torng, Michigan State University Parallel Algorithms. Homeworks with solutions and lecture

Other Algorithms Related Resources that Might Be Useful:

15-850(C), Algorithms in the "Real World", Spring 96, CMU Course material

Selected Topics in Algorithms, Jeff Achter and Roberto Tamassia, Brown University Covers recurrence relations, priority queues, AVL trees, geometric algorithms, priority-first searching for weighted graphs, relations, parallel algorithms and public-key cryptography

List of algorithm courses available on the Web, maintained at Temple University

Algorithms resources on the Web, State University New York at Stony Brook

Ernesto Martin's pointers Link to algorithms related resources on the Web

Animated Graph Algorithms Animations, written in Java, of graph algorithms that helps you understand those algorithms better.

Computational Geometry Home Page, Jeff Erickson, Duke University A compendium of web resources on Computational Geometry.

David Eppstein, UC Irvine Computational geometry algorithm resources.

A compendium of NP optimization problems A preliminary version of the catalog of NP optimization problems.

Elcectronic Textbook of Cal. Tech. Archetypes "Electronic Textbook" Table of Contents

Hit count since April 4, 1996:

Last Modified Sept. 24, 1996 by Kirk Pruhs. Special thanks to Chi Lin and Sylvain Lauzac for their assistance.