TCS Resources
When I was starting, these were the resources I found most helpful. After talking with other beginners in the theory community, it seems like this list is pretty much the standard go-to.
When I was starting, these were the resources I found most helpful. After talking with other beginners in the theory community, it seems like this list is pretty much the standard go-to.
Arora and Barak, "Computational Complexity: A Modern Approach": The definitive graduate-level textbook on computational complexity theory.
Sipser, "Introduction to the Theory of Computation": A standard and highly accessible undergraduate text for automata, computability, and complexity.
Motwani and Raghavan, "Randomized Algorithms": The classic textbook on the design and analysis of algorithms that use randomness.
Cormen et al., "Introduction to Algorithms (CLRS)": An essential reference for various algorithms and data structures.
Katz and Lindell, "Introduction to Modern Cryptography": A widely recognized textbook for a comprehensive introduction to modern cryptography.
Goldreich, "Foundations of Cryptography (Vol. 1 & 2)": Oded Goldreich's extensive and foundational two-volume work on the theoretical underpinnings of cryptography. One should note that these books do not have the most updated content.
Goldreich, "Computational Complexity: A Conceptual Perspective": Oded Goldreich's insightful book offers a conceptual approach to computational complexity theory.
Aaronson, "Quantum Computing Since Democritus": Scott Aaronson's book covers the theory of quantum computation along with various aspects of theoretical computer science. Do note that the primary reference for this title is often Nielsen & Chuang, but Aaronson’s work is just more fun to read!
Graham, Knuth, Patashnik, "Concrete Mathematics: A Foundation for Computer Science": This classic textbook by Ronald Graham, Donald Knuth, and Oren Patashnik provides essential mathematical foundations for computer science.
Wigderson, "Mathematics and Computation": Avi Wigderson's extremely thorough book explores the deep connections between mathematics and theoretical computer science.
Nielsen and Chuang, "Quantum Computation and Quantum Information": The seminal textbook for learning quantum computation and quantum information theory.
Alon and Spencer, "The Probabilistic Method": Noga Alon and Joel Spencer's definitive book on the probabilistic method in combinatorics and theoretical computer science.
Ryan O'Donnell's "CS Theory Toolkit": A collection of lecture notes from Carnegie Mellon University covering essential mathematical tools for TCS.
Oded Goldreich's Lecture Notes: A vast repository of in-depth course notes on complexity, cryptography, and foundations from a leading researcher.
John Watrous's Lecture Notes on Quantum Information Theory: A widely recommended resource for learning quantum computation.
Mark Zhandry's "Recent Developments in Program Obfuscation": This course focuses on the techniques of program obfuscation.
Mark Zhandry's "Quantum Cryptography": This course explores the principles and applications of cryptography based on quantum mechanics.
Electronic Colloquium on Computational Complexity (ECCC): An online archive of research reports in computational complexity for rapid dissemination.
arXiv (cs.CC, cs.DS, cs.LO, cs.CR): The primary preprint server for new research in computational complexity, data structures, logic, and cryptography in computer science.
IACR Cryptology ePrint Archive (ePrint): The definitive online archive of cryptographic research papers, often publishing preprints before formal publication.
ACM Symposium on Theory of Computing (STOC): Proceedings from one of the two top-tier annual conferences in theoretical computer science.
IEEE Symposium on Foundations of Computer Science (FOCS): Proceedings from the other premier annual academic conference in the field.
IACR Conferences (CRYPTO, EUROCRYPT, TCC): The main annual conferences of the International Association for Cryptologic Research (IACR), covering the best of cryptography.
Shtetl-Optimized: The popular and insightful blog of Scott Aaronson, focusing on quantum computing and complexity theory.
Gödel's Lost Letter and P=NP: A long-running blog by Ken Regan and Dick Lipton on developments in complexity theory.
Windows On Theory: Boaz Barak's research blog, covering topics in computational complexity, cryptography, and machine learning foundations.
Computational Complexity Blog: Lance Fortnow's blog, co-authored with Bill Gasarch, discusses various aspects of computational complexity theory.
Oded Goldreich's "my choices": A collection of Oded Goldreich's personal selections of interesting works in theoretical computer science.
Theoretical Computer Science Stack Exchange: A question-and-answer site for students and researchers in TCS.
Cryptography Stack Exchange: A question-and-answer site specifically for cryptography and cryptanalysis.
The Complexity Zoo: An extensive and well-organized wiki cataloging hundreds of computational complexity classes.
Error-Correcting Codes Zoo: An encyclopedic resource dedicated to various error-correcting codes, their properties, and applications.
Theory of Computing Blog Aggregator: A single feed that compiles recent posts from many prominent TCS blogs.
SIGACT: The official website of the ACM Special Interest Group on Algorithms and Computation Theory: With news and conference information.
IACR: The International Association for Cryptologic Research: The official website of a non-profit scientific organization dedicated to furthering research in cryptology and related fields, featuring news, publications, and conference information.