Course Identification

Randomized Algorithms
20254071

Lecturers and Teaching Assistants

Prof. Robert Krauthgamer, Prof. Moni Naor
Guy Kornowski

Course Schedule and Location

2025
First Semester
Monday, 14:15 - 17:00, Jacob Ziskind Building, Rm 155
04/11/2024
27/01/2025

Field of Study, Course Type and Credit Points

Mathematics and Computer Science: Lecture; Elective; Regular; 3.00 points

Comments

N/A

Prerequisites

No

Restrictions

30

Language of Instruction

English

Registration by

19/11/2024

Attendance and participation

Expected and Recommended

Grade Type

Numerical (out of 100)

Grade Breakdown (in %)

50%
50%

Evaluation Type

Take-home exam

Scheduled date 1

N/A
N/A
-
N/A

Estimated Weekly Independent Workload (in hours)

2

Syllabus

Algorithms that are randomized, i.e. use coin tosses during their execution, are central in many computational scenarios, and have become a key tool in Theoretical Computer Science and in application areas. The course will cover the development and use of such probabilistic techniques, including some of the following topics: Concentration results; Simulating randomness, in particular limited independence; Load balancing; Routing algorithms; Randomized rounding; Sampling and sublinear algorithms; Algorithms in the data stream model; Communication protocols and the sketching model.

 

Learning Outcomes

Upon successful completion of this course students should be able to:

  1. Analyze probabilistic events and randomized processes.
  2. Design algorithms that use randomness, and analyze their performance.
  3. Make use of basic tools such as first and second moment, concentration bounds, balls and bins, birthday paradox.
  4. Describe and apply algorithmic paradigms that rely on randomness like hashing, sampling, sketching, and streaming.

Reading List

N/A

Website