The course studies a range of topics in the theory of derandomization. The selection of topics ranges from classical results to state-of-the-art research, including material that appears in this year's STOC, FOCS, and CCC conferences. The assumed prerequisites (except from mathematical maturity and excitement for the _led) is a graduate-level course in Computational Complexity, solid background in Probability theory, Linear Algebra, and good knowledge of combinatorics. A solid background on elements of Abstract Algebra is desirable { especially finite fields (if you do not cover this prerequisite there will be enough time for self-study during this class). Here is a sample of topics that we will cover:

- 1) Models of computation and randomness, the main questions in derandomization
- 2) Introduction to pseudorandom objects: k-wise independent distributions, biased distributions, expanders, extractors, and error-correcting codes
- 3) Tools to construct pseudorandom objects: combinatorics, algebra, and Fourier Analysis
- 4) Applications of pseudorandom objects to constructing unconditional PRSs