CSCI 6220/4030 Randomized Algorithms, Fall 2019


Randomized Algorithms are the state of the art in contemporary algorithm design. They are usually simple, sometimes even easy to analyze, and they work well in practice. This course provides an introduction to basic concepts in the design and analysis of randomized algorithms.

Course Logistics

A more detailed version of the syllabus is available as an archival pdf.

Instructor: Alex Gittens (gittea at rpi dot edu)

Lectures: MTh 10am-11:50am; Greene 120

Office Hours: MTh 12pm-1pm, or by appointment; Lally 316

Course Text: (Recommended, not required) Probability and Computing, by M. Mitzenmacher and E. Upfal.

Grading Criteria:

Students are expected to have writing supplies on hand in each class to complete the in-class pop quizzes. If you are an athlete or for some other reason are not able to attend each class, make alternative arrangements with the instructor in the first two weeks of the course.

Letter grades will be computed from the semester average. Lower-bound cutoffs for A, B, C and D grades are 90%, 80%, 70%, and 60%, respectively. These bounds may be moved lower at the instructors discretion.


We will largely follow Mitzenmacher and Upfal, replacing the more ML-focused content with alternative material.

Lecture Schedule


All assignments must be typed (preferably in LaTeX) and are due at the start of class (defined as the first 10 minutes). Late assignments will not be accepted, unless you contact the instructor at least two days before the due date to receive a deferral. Deferrals will be granted at the instructor’s discretion, of course.


In the following teams, you will present theoretical and empirical evaluations of modern randomized algorithms that arose in either your own research, or a paper of your choice. See the project page for more details and deadlines.

Undergrads Grads
Samvit, Chang Ju Sola, Colin, Manqing, Rufeng
Adam, Brandon, Jacob Georgios, Dong, Kevin
Frederik, James, Nick Jessie, Daniel, Feimi, Harrison