22C:196 Randomization in Computer Science

12:30-1:20 MWF Room 132 MLH


Instructor: Sriram V. Pemmaraju
101G MLH, sriram@cs.uiowa.edu, 319-353-2956
Office Hours: 11:00 to 12:20 MW and by appointment.
Course webpage: www.cs.uiowa.edu/~sriram

Randomization has played a power role in computer science over the last 3 decades, both in foundational areas such as algorithms, complexity theory, learning theory, etc. and in applied areas such as networks, data mining, data streaming, etc. In this course we will study:

A more detailed list of topics appears further below in the syllabus.

Required Legalese
This course is run by the College of Liberal Arts and Sciences. This means that class policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found online here.

Prerequisite
Undergraduate algorithms (22C:31 or equivalent) and a probability and statistics course (equivalent of 22C:120 or 22C:130). If you do not have the latter prerequisite, but still want to take the course, please talk to me.

Textbook
Michael Mitzenmacher and Eli Upfal, Probability and Computing: Randomized Algorithms and Probabilistic Analysis, Cambridge University Press, ISBN 0521835402.

We will follow this textbook closely for soem topics. For other topics, we will use material from the following excellent books:

  1. Rajeev Motwani, Prabhakar Raghavan, Randomized Algorithms, Cambridge University Press, ISBN-10: 0521474655, ISBN-13: 978-0521474658.
  2. Noga Alon, Joel Spencer, The Probabilistic Method, Wiley-Interscience, ISBN-10: 0470170204, ISBN-13: 978-0470170205.
I will also post links to relevant papers as we go along, especially for some of the more applied topics.

Detailed List of Topics

Grading
Plus/Minus grading will be used for the course. There are two components that will determine your grade.

Late submissions will not be accepted and in general you will be better off turning in what you have on time rather than seeking extra time to complete your work. There will be no make-up exams in general and exceptions will be rare and only for students whose reasons are included in the University's policy on "Excused Absences from Examinations".

Students with disabilities
I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours.

Academic Dishonesty
Academic dishonesty will not be tolerated. Under no circumstances should you pass off someone else's work as your own. This also applies to code or other material that you might find on the internet. Note that we will routinely use available software systems for detecting software plagiarism, to test any suspicions we might have. If you are unclear about what constitutes academic dishonesty contact your professor or consult the printed policy in the Schedule of Courses and the CLAS Bulletin (online version). We do want students to talk to each other about concepts and ideas that relate to the class. However, it is important to ensure that these discussions do not lead to the actual exchange of written material.

Student Complaints
If you have any complaints or concerns about how the course is being conducted by me or by the TAs please feel free to talk to me. You are also welcome to get in touch the the Computer Science department chair, Prof. Jim Cremer (cremer@cs.uiowa.edu, 319-335-1713, 14D McLean Hall). Consult the college policy on Student Complaints Concerning Faculty Actions (online version) for more information.