Teaching

Below are some of the graduate-level courses I've developed and taught. The websites contain useful links and materials.

Spectral Graph Theory

Tel Aviv University, Fall 2020/21

course website

​

​

Seminar on Algebraic Curves and Riemann Surfaces

Tel Aviv University, Fall 2019/20

course website

​

​

Topics in Coding Theory: Locality and Interaction

Tel Aviv University, Fall 2019/20

course website

​

​

Introduction to Algebraic-Geometric Codes

Tel Aviv University, Spring 2019

course website

​

​

Abstract Algebra in Theoretical Computer Science

Tel Aviv University, Fall 2018/19

course website

​

​

Reasoning About Computation

Princeton University 2017

co-taught with Mark Braverman

​

​

Randomness-Extractors Theory

California Institute of Technology (Caltech) 2016

course website

​

​

Algebraic Geometry for Theoretical Computer Science

Weizmann Institute of Science 2014/5

course website

​

​

A Taste of Circuit Complexity Pivoted at NEXP not in ACC (and more)

Weizmann Institute of Science 2012/3

course blog

lecture notes

​

​

Pseudorandomness and Derandomization

Weizmann Institute of Science 2012

course blog