Randomization is the power of tossing coins. Randomization and
probabilistic techniques play a vital
role in the design and analysis
of simple and efficient algorithms, with applications in diverse areas
ranging from combinatorial optimization and machine learning to
communication networks.
This lecture course aims to introduce and explain some of the
probabilistic tools and paradigms used
in randomized algorithms and
their analyses. The course is designed to present the concepts by
giving
numerous applications ranging from simple algorithms that find
the median of a given list of numbers
to the analysis of data
structures.
Where:  E1.7 Room 001 (Lectures) 

When:  Tuesdays 14  16 (Lectures) 
Tutorial:  Thursdays 18  20, E1.4 Room 022 
Credits:  This lecture is an advanced course with integrated
exercise sessions (2+1). 
Exam:  27th July 2010 (Oral exam) 
Assumes:  Basic knowledge of algorithms and discrete probability. 
Materials:  Most of the topics covered in the course can be found in:

Lectures:  See
here for the list of topics covered. 

Problem Sets: 
You are supposed to work on the problem sets individually.
