CS590R: Randomized Algorithms and Probabilistic Techniques in CS- Spring 2004
Professor
Gopal Pandurangan
Office: CS 128
Office hours: by appointment
Lectures
Tue, Thu: 10.30-11:45am;
Room: CS G066
About this course
Probabilistic techniques, in general, and randomized algorithms, in particular, play an increasingly
important role in a variety of computer science applications ranging from cryptography and
communication networks to Web search engines, AI reasoning, data mining, and bioinformatics.
This course will serve as an introduction to probability theory in computer
science, in particular to randomized algorithms and to probabilistic analysis of
algorithms. The course introduces basic probability theory and presents applications of randomized algorithms and
probabilistic analysis techniques in areas such as combinatorial optimization, data structures, graph algorithmics,
communication, parallel and distributed computation, cryptography,
biology and more.
Assumes no prior knowledge of probability theory. Prerequisite is (at least) an undergraduate
course in algorithms or approval by instructor.
Textbooks
1. Probabilistic Analysis and Randomized Algorithms by M. Mitzenmacher and E. Upfal.
(Required -- Available from Copymat, Chauncey Mall)
2. Randomized Algorithms by R. Motwani and P. Raghavan. (Recommended)
3. A First Course in Probability by S. Ross. (Useful reference for Probability)
4. Probability and Random Processes by G. Grimmett and D. Stirzaker (reference for more advanced concepts
in probability)
Newsgroup
We plan to use the purdue.class.cs590r newsgroup (on the server news.purdue.edu) for announcements and other postings.
You should subscribe to this newsgroup and check it regularly. Send all general questions (such as clarifications
regarding assignments etc.) to this newsgroup.
WebCT
We will use WebCT
to turn in assignments.