I have (co) taught the following courses / lectures:
Harvard CS127: Cryptography - Spring 2018.
Harvard CS229r / MIT 6.S898: Proofs, beliefs and algorithms through the lens of Sum of Squares - Fall 2016 - graduate course/seminar on the Sum of Squares algorithm.
Winter school on the Sum of Squares algorithm - January 2017, San Diego.
Addis Coder 2016 -summer course on algorithms and coding for high school students in Ethiopia, August 2016, co taught with Timnit Gebru, Jelani Nelson and a wonderful team of TA’s. (I taught week 3 of the course; lecture notes for my lecture, in Jupyter notebook format, are available here. )
Lecture on the Rossman-Servedio-Tan circuit depth hierarchy for average-case complexity - guest lecture in Dana Moshkovitz’s advanced complexity course, May 12, 2015.
Sum of squares upper bounds, lower bounds, and open questions - seminar series at MIT, Mondays 2pm-5pm.
Summer course on the Sum of Squares method - in the Swedish Summer School of Computer Science, July 2014.
MIT 6.889 BU CAS CS 937: New Developments in Cryptography - co taught with Shafi Goldwasser, Leo Reyzin, Yael Kalai, and Salil Vadhan
Princeton COS 433 - Cryptography - Spring 2010
Princeton COS 522 - (graduate) Computational Complexity - Spring 2009
Preceptor in Princeton COS 226 - Algorithms and Data Structures - Fall 2008.
Princeton COS 433 - Cryptography - Fall 2007
Princeton COS 522 - (graduate) Computational Complexity - Spring 2007
Princeton COS 522 - (graduate) Computational Complexity - Spring 2006
Princeton COS 433 - Cryptography - Fall 2005
I maintained the home page for Gil Kalai and Avi Wigderson’s course on Mathematical Methods in Computer Science at the Hebrew University.
I maintained the home page for Nati Linal and Avi Wigderson’s course on Expander Graphs and Their Applications at the Hebrew University. Note: these lecture notes have been superseded by this excellent survey by Hoory, Linial and Wigderson.
I once gave a crash course on the Java programming language. Notes for it (in Hebrew) can be found here.