Teaching

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

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