# Advanced Topics in Algorithms and Complexity

## 198:596, Spring 2020

WARNING: THIS COURSE IS NOT THE MASTERS LEVEL CS 596 COURSE ON MATHEMATICAL FOUNDATIONS FOR COMPUTER SCIENCE OFFERED IN FALL

This is an advanced PhD level course that will cover recent results in theoretical computer science. The required background is what is covered in CS 513/538 and MATH 581/582.

## Course Info

Instructor: Swastik Kopparty (swastik.kopparty@gmail.com)
Class Time and Place: Fridays 10:20 am - 1:20 pm, in BBB (Livingston Campus)
Office Hours: Wednesdays 1:30-2:30pm in Hill 432
Prerequisites: graduate level combinatorics/probability, algorithms and mathematical maturity; undergraduate level linear algebra
No required text book.

## Syllabus

This course will cover assorted recent results in complexity theory and algorithms. We will see topics such as:

• Boolean formulas, circuits and lower bounds
• Fourier analysis of Boolean functions and applications
• Data structure lower bounds
• Algebraic methods
• Pseudorandomness
• Communication complexity

There will be 2-3 problem sets. Students will be expected to scribe one or two lectures.

Latex files for scribes: definitions, main file, guidelines

## Lecture Schedule

• January 24: Boolean circuits and formulas (notes: part 1, part 2)
• January 31: Nechiporuk's formula lower bound, certificate complexity, decision trees (notes)
• February 7: degree, approximate degree, sensitivity, block sensitivity (notes)
• February 14: Fourier basics, learning large Fourier coefficients, learning decision trees
• February 21: AC0, the switching lemma
• February 28: L2 and pointwise polynomial approximations of AC0 functions over the reals
• March 6: Data structures, pairwise independent hashing, set membership
• March 13: (NO CLASS, coronavirus)
• March 20: (NO CLASS, spring break)
• March 27: Set membership, lower bounds for polynomial evaluation data structures ((notes: part 1, part 2)
• April 3: Kedlaya Umans data structure for polynomial evaluation (notes)
• April 10: Determinant in NC, Matching in RNC (notes)
• April 17: Matching in deterministic quasi-NC (notes)
• April 24: Long paths in graphs (notes)
• May 1: Learning noisy parities (notes)