CS 262 (Section 1): Randomized Algorithms and Applications, Spring 2009

David Scot Taylor
212 MacQuarrie Hall
Assistant Professor
Dept. of Computer Science
San Jose State University
Phone: (408) 924-5124 (email works better)
Email: taylor "at" cs.sjsu.edu

My office hours for Spring 2009 : Tue/Thur 8:20-9:00, (the last 10 minutes in MH222), 11:50-12:30, 14:45-15:30, or by appointment.
I will also have office hours on Friday, 5/15, from 11 a.m. until noon.

Section 1: MH 234, Tue/Thur 13:30-14:45

Course Website

The course website can be found at http://www.cs.sjsu.edu/faculty/taylor/term/spring09/CS262/. This site contains a link to this greensheet, a schedule of classes thus far, and a tentative schedule of future class topics, along with other information and announcements.

Prerequisite Courses
The official course prerequisites are CS154 or CS155 or their equivalents, though CS154 will not be so closely related. CS255 would be best of all. An A or A+ in CS146 with instructor's permission may also suffice, please see me. I expect that you understand asymptotic notation and analysis, algorithm analysis, and have some familiarity with algorithm design.

Textbooks and References
The required textbook is:
Probability and Computing : Randomized Algorithms and Probabilistic Analysis
Michael Mitzenmacher and Eli Upfal
Cambridge University Press, 2005, 0-521-83540-2.

You can find a link to errata at the author's homepage: http://www.eecs.harvard.edu/~michaelm/. The first printing has 5 pages of errata, so this is worth printing out.

A handy (but not required) book for background material is:
Introduction to Algorithms, 2nd Edition
Cormen, Leiserson, Rivest, and Stein
ISBN: 0-262-03293-7 MIT Press, 2001
(The 1st Edition is just as good for background information.)

The most widely used book on the topic is:
Randomized Algorithms
Rajeev Motwani and Prabhakar Raghavan
Cambridge University Press, 1995, ISBN: 0-521-47465-5.
It is a very good book, but a bit difficult. I am trying the Mitzenmacher/Upfal book for the first time, it is supposed to be more approachable.

Additionally, it may be helpful to have some book to use as a probability reference.

Course Objectives

Course Requirements and Grading

Topics
The material we will cover in this course is not set in stone. I have used this textbook once before, but in the past have generally concentrated on provable randomized algorithm much more than heuristics. The initial plan is to cover most of the first 7 chapters, but we may drop some of those topics in order to cover other, more applied techniques. (The topics already mentioned on day one (Markov Chains, Hidden Markov Models, Genetic Algorithms, Hash Functions, Monte Carlo Simulations, and Simulated Annealling) could already be enough to fill a semester, but we will still start with the theoretical underpinnings of randomized algorithms.) Generally, the less students speak up, the faster I go, and the less they understand, which leads me to...

Class Participation
Class participation and feedback are very important to keep the course interesting. If I am covering material too slowly or quickly, or if I am not clearly explaining things, you must let me know. I prefer an interactive learning environment. If you disagree with something I say, speak up. Argue with me in front of the class. It will make the class better, and right or wrong, constructive interaction will not not hurt your grade. If you are correct, clearly my mistake should be corrected. If you are incorrect, probably I have not explained something clearly anyway, and at least half of the class is confused by it. Point it out right then and there.

Please come to office hours. They are for you.

I was hired to teach you. You were not admitted give me somebody to listen to my ramblings.

Academic Honesty

No homework assignment answers should be gotten from the web, or from previous courses. All collaboration must be reported. Students caught cheating may fail the course and should expect to be reported appropriately.

If you would like to include in your homework any material you have submitted, or plan to submit, for another class, please note that SJSU's Academic Integrity policy S04-12 requires approval by instructors.

For further greensheet information please see http://www.cs.sjsu.edu/greensheetinfo/index.html