Textbooks
- Algorithms - Design and Analysis
- Introduction to Algorithms - by Cormen, Leiserson, Rivest and Stein.
- Algorithms - by Dasgupta, Papadimitriou, Vazirani.
- Computational Complexity
- Computational Complexity: A Modern Approach - by Arora and Barak.
- Algebraic Complexity Theory
- A selection of lower bounds in arithmetic circuit complexity - by Ramprasad Saptharishi.
Courses
- Introduction to Theoretical Computer Science
- Harvard, Fall 2019 - by Boaz Barak.
- CMU, Spring 2020 - by Ryan O’Donnell.
- Arithmetic Circuit Complexity/Algebraic Complexity Theory
- IITK, Spring 2019 - by Nitin Saxena.
- TIFR, Fall 2017 - by Ramprasad Saptharishi.
- Computational Number Theory & Algebra
- IITK, Spring 2020 - by Nitin Saxena.
- TIFR, Spring 2019 - by Ramprasad Saptharishi.
- MIT, Spring 2012 - by Madhu Sudan.
Posts and Essays
- How I Learned to Stop Worrying - Radhika Nagpal
- Who Can Name the Bigger Number? - Scott Aaronson
Blogs
- Gödel’s Lost Letter and P=NP - by Dick Lipton and Ken Regan.
- Shtetl-Optimized - by Scott Aaronson.
- Computational Complexity - by Lance Fortnow and William Gasarch.
- Theory Matters - currently maintained by Shuchi Chawla.
- Windows on Theory - mostly by Boaz Barak.
- Theory Annoucements.
- Quanta Magazine.
- Study Hacks Blog - by Cal Newport.