This course will focus on a few great ideas in theoretical computer science that power modern computing applications. We will cover both classical ideas in algorithm design and more contemporary ideas from optimization and their applications. We will also study new computation models, such as online learning and communication complexity motivated by current large-scale applications. We will examine the role of randomness in algorithm design and theoretical computer science more generally. We will also cover modern topics such as error-correcting codes and their role in reliable information processing and transmission.
Lecture Times
- Days: Monday and Wednesday
- Time: 10:40am - 12:00pm
- Location: Arch Bldg N101
Course Instructors
Teaching Assistants
Daniel Braga
Graduate TA
dbraga@princeton.edu
Ilya Maier
Graduate TA
imaier@princeton.edu
Fangqi Dong
Graduate TA
fangqidong@princeton.edu
Sabrina Van
UCA
sv1903@princeton.edu
Charlie Yang
UCA
cy6358@princeton.edu
Office Hours Calendar
Instructors generally hold office hours on consistent days, but occasional changes may occur.