Design and Analysis of Algorithms
COMP 482 / ELEC 420
Fall 2011

[Rice University]

A person well-trained in computer science knows how to deal with algorithms: how to construct them, manipulate them, understand them, analyze them. This knowledge prepares him for much more than writing good computer programs; it is a general-purpose mental tool which will be a definite aid to his understanding of other subjects, whether they be chemistry, linguistics, or music, etc. The reason for this may be understood in the following way: It has often been said that a person does not really understand something until he can teach it to a computer, i.e., express it as an algorithm.

Donald Knuth

What is this course?

Algorithms are the engines of a great majority of systems, natural and artificial alike. This course explores a variety of algorithms and the mathematics used to reason about algorithms. This course emphasizes understanding and reasoning about algorithms, but also includes some implementation.

Expected background

You should have had an introduction to some algorithms, data structures, logic, algorithmic correctness, and algorithmic efficiency, such as offered in COMP 182 or the old COMP 280.

You should know the basics of probability, as taught in courses such as STAT 310 or STAT 331.


Announcements Check the OWL-Space Announcements regularly.
Class TTh 10:50am-12:05pm in Duncan Hall 1064