Curated list of awesome lists
Awesome Theoretical Computer Science
The interdisciplinary of Mathematics and Computer Science; It is distinguished by its emphasis on mathemtical technique and rigour.
Contents
Broad Intros
Books
Handbooks
Theory of Computation
Introductory
Lecture Notes
Lecture Videos Playlists
MOOC
Books
Puzzles and Problem Sets
Computational Complexity
Introductory
Lecture Videos Playlists
Lecture Notes
-
Rudich & Wigderson. Computational Complexity Theory - Three weeks of lectures from the IAS/Park City Mathematics Institute Summer School on computational complexity. Topics include reductions, lower-bounds, average-case complexity, randomness, interactive proof systems, probabilistically checkable proofs, quantum computing, and proof complexity.
Books
-
Arora & Barak. Computational Complexity: A Modern Approach - A golden standard textbook, Surveying computational complexity theory for graduate students and researchers.
-
Goldreich. Computational Complexity: A Conceptual Perspective - A grad introduction to computation complexity theory, emphasizing the idea behind concepts of complexity theory.
-
Goldreich. P, NP, and NP-Completeness: The Basics of Computational Complexity - A very gentle introduction to some fundamental ideas of computational complexity like NP-completeness and P vs NP.
-
Ogihara & Hemaspaandra. The Complexity Theory Companion - An accessible, algorithmically oriented, research-centered, up-to-date guide to some of the most interesting techniques of complexity theory.
-
Papadimitriou. Computational Complexity - Body of knowledge for studying the performance and limitations of computer algorithms. Among topics covered are: reductions and NP-completeness, cryptography and protocols, randomized algorithms, and approximability of optimization problems, circuit complexity, the structural aspects of the P=NP question, parallel computation, and the polynomial hierarchy.
Communication Complexity
Lecture Notes
-
Mark Bun. CS591 Communication Complexity - A graduate course which introduces the fundamental results and techniques in the area and some research frontier questions. Themes include: Communication models and the communication complexity zoo, Information vs. communication, Query-to-communication lifting, and Applications
Books
Circuit Complexity
Books
Quantum Complexity
Lecture Videos Playlists
Lecture Notes
Proof Complexity
Lecture Notes
Computability Theory
Books
Introductory
Advanced
Monograph
Logic
Computational Complexity
Books
Algorithms
Lecture Videos Playlists
Lecture Notes
-
Mary Wootters. Randomized Algorithms and Probabilistic Analysis. Stanford - Key tools of probabilistic analysis, and application of these tools to understand the behaviors of random processes and algorithms. Emphasis is on theoretical foundations, though applications will be discussed in machine learning and data analysis, networking, and systems. Topics include tail bounds, the probabilistic method, Markov chains, and martingales, with applications to analyzing random graphs, metric embeddings, and random walks.
-
Koutsoupias. Probability and Computing. Oxford - Introduction to probabilistic methods in computer science.
- Harvey. First and Second Course in Randomized Algorithms. Columbia. - Respectively, undergrad and grad courses for probabilistic methods in algorithms.
-
Lee. Randomized Algorithms and Probabilistic Analysis. Washington. - Topics include Discrete probability, High-dimensional geometry and statistics, Information and entropy, and Markov chains and convergence to equilibrium.
-
Aspnes. Notes on Randomized Algorithms - Supplemental notes to the standard books by Mitzenmacher & Upfals, and Motwani & Raghavan.
-
Arora. Advanced Algorithm Design - Notably uses ideas such as randomness, approximation, high dimensional geometry. Faces uncertainty, approaches to handle big data, handling intractability, heuristic approaches, ..etc.
Books
-
Demaine, Gasarch & Hajiaghayi. Computers and Intractability: A Guide to Algorithmic Lower Bounds - A sequel to Garey and Johnson's Computers and Intractability: A Guide to NP-Completeness. New topics include Parameterized Complexity, Lower bounds on approximation, Other hardness assumptions (ETH, 3SUM-conjecture, APSP-conjecture, UGC, Others), Online Algorithms, Streaming Algorithms, Polynomial Parity Arguments, and Parallelism.
-
Demaine. Games, Puzzles, and Computation - It shows that games and puzzles can serve as powerful models of computation, Offering a new way of thinking about computation.
-
Knuth. The Art of Computer Programming - A legendary series by Donald Knuth on design and analysis of algorithms.
Information/Coding Theory
Lecture Notes
-
Madhu Sudan. Essential Coding Theory - Some elements of Algorithmic tasks of encoding and decoding and its connections with error-correction; These codes are now tools in the design and analysis of algorithms, and also in many aspects of computational complexity. The focus is on constructions of algorithmic and asymptotic importance. Requires only basic mathematical maturity.
- Scott Aaronson. Quantum Information Science. Part I & Part II - Part I: Presuppose only linear algebra and a bit of classical algorithms. Topics include quantum circuits, density matrices, entanglement entropy, Wiesner’s quantum money, QKD, quantum teleportation, the Bell inequality, interpretations of QM, the Shor 9-qubit code, and the algorithms of Deutsch-Jozsa, Bernstein-Vazirani, Simon, Shor, and Grover. Part II: Perspectives on quantum computing that go beyond the bare quantum circuit model, like Hamiltonians, Stabilizer formalism, Bosons and Fermions, Cluster states, and Matrix product states.
Workshops
-
Simons Institute. Information Theory Program - It aims to strengthen the ties between computation and communication communities. It explores (1) information theoretic techniques in complexity theory and combinatorics, (2) Coding theory and applications, and (3) information theory, machine learning, and big data.
Conferences
-
Compression+Computation 2022 - It bridges the gap of Theoretical Computer Science and Bioinformatics communities, On new data compression techniques, and computation over compressed data.
Cryptography
Books
Machine Learning Theory
Lecture Notes
-
Blum. An Introduction to the Theory of Machine Learning. TTIC - The basic theory underlying machine learning and the process of generalizing from data.
-
Telgarsky. Deep Learning Theory. Illinois - Focuses on simplified proofs over what appears in the literature, and classical perspective of achieving a low test error for binary classification with IID data via standard (typically ReLU) feedforward networks.
-
Vaughan. CS260: Machine Learning Theory - A broad overview of the theoretical foundations underlying common machine learning algorithms.
-
Livni. COS 511 Theoretical Machine Learning. Princeton - Formally define and study various models that have been proposed for learning. The course will present and contrast the statistical, computational and online models for learning. We will present and rigorously analyze some of the most successful algorithms in machine learning that are extensively used today.
-
Moitra. Theoretical Foundations for Deep Learning. MIT - It explores theoretical foundations for deep learning, emphasizing the following themes: (1) Approximation: What sorts of functions can be represented by deep networks, and does depth provably increase the expressive power? (2) Optimization: Essentially all optimization problems we want to solve in practice are non-convex. What frameworks can be used to analyze such problems? (3) Beyond-Worst Case Analysis: Deep networks can memorize worst-case data, so why do they generalize well on real-world data?
-
Arora. Overcoming Intractability in Machine Learning - A seminar course that will focus on the following phenomenon: many problems in machine learning are formally intractable (e.g., NP-hard). Nevertheless they are solved in practice by heuristics. Can we design algorithms with provable guarantees (running time, solution quality)?
Books
Workshops
Conferences
Research Groups
Other
Game Theory
Lecture Notes
-
Tim Roughgarden. Complexity Theory, Game Theory, and Economics: The Barbados Lectures - A mini-course notes of two-fold goals: mini-course is twofold: (i) Explain how complexity theory has helped illuminate several barriers in economics and game theory; and (ii) Illustrate how game-theoretic questions have led to new and interesting complexity theory, including recent several breakthroughs.
-
Eva Tardos. Algorithmic Game Theory - It combines algorithmic thinking with game-theoretic, or, more generally, economic concepts. The course will study a range of topics at this interface. The only prerequisite to the course is mathematical thinking.
-
Chekuri. Topics in Algorithms: Algorithmic Game Theory - A broad graduate-level introduction to: auctions, existence and computation of equilibria in games and markets, algorithmic mechanism design, price of anarchy and price of stability, games relevant to networks and e-commerce. The emphasis will be on conceptual ideas and algorithmic aspects. No familiarity with game theory or economics will be assumed.
-
Penna. Algorithmic Game Theory - The course discusses algorithmic aspects of game theory, such as a general introduction to game theory, auctions, mechanisms, the costs of a central control optimum versus those of an equilibrium under selfish agents, and algorithms and complexity of computing equilibria.
-
Brown. Resources list for game theory - TAs based these notes in large part on the lecture notes and accompanying videos of Tim Roughgarden's CS 364A and CS 364B courses at Stanford, and Jason Hartline's Mechanism Design and Approximation textbook.
-
Fang. Advanced Topics in Machine Learning and Game Theory - A graduate-level course covering the topics at the intersection of machine learning and game theory.
-
Xu. Topics in Learning and Game Theory - A graduate level course covering topics at the interface between machine learning and game theory.
-
Tim Roughgarden. Foundations of Blockchains - The science and technology of blockchain protocols and the applications built on top of them, with an emphasis on fundamental principles rather than specific protocols. - See also Lecture Videos.
Books
Workshops
-
Simons Institute. Economics and Computation Program - The intersection is motivated by applications such as large-scale digital auctions and markets, and fundamental questions such as the computational complexity of Nash equilibria and complexity and approximation in mechanism design. Also, To productively model and study the Internet and its novel computational phenomena, Models and insights can be gained from from game theory and economic theory. The computational point of view, on the other hand, is essential to understand a world in which markets are networked and the default platforms of economic transactions are algorithmic.
-
Simons Institute. Learning and Games Program - The intersection is manifested by (1) Data input to machine learning algorithms are generated by self-interested parties, (2) Machine learning is used to optimize economic systems or acts, (3) Machine learning models used in critical systems are becoming prone to adversarial attacks, and (4) Several machine learning approaches can be framed as finding the equilibrium of a game.
-
Eva Tardos. Learning and Efficiency in Games - How to quantify the impact of strategic user behavior on overall performance in games including traffic routing as well as online auctions.
Physics
Lecture Notes
-
Arora. The Computational Universe - Takes us on a broad sweep of scientific knowledge and related technologies: propositional logic of the ancient Greeks (microprocessors); quantum mechanics (silicon chips); network and system phenomena (internet and search engines); computational intractability (secure encryption); and efficient algorithms (genomic sequencing).
Books
Monographs
Philosophy
Lecture Notes
Books
Papers
Math/Logic Preliminaries
General
Lecture Videos Playlist
Books
-
Knuth, Graham & Patashnik. Concrete Mathematics: A Foundation for Computer Science - An expansion of the Mathematical Preliminaries section in Knuth's classic Art of Computer Programming, but the style of presentation is more leisurely, and individual topics are covered more deeply.
-
Aho & Ullman. Foundations of Computer Science - A classic math-oriented introduction to computer science.
-
Tu Delft. Delftse Foundations of Computation - A textbook for a one quarter introductory course in theoretical computer science.
-
Comprehensive Mathematics for Computer Scientists - A series dedicated to math topics and their relevance to computer science.
-
Krantz. Handbook of Logic and Proof Techniques for Computer Science - A concise offered as an accessible reference on mathematical logic for the professional computer scientist.
-
Makinson. Sets, Logic and Maths for Computing - It presents a careful selection of the material most needed by students in their first two years studying computer science.
-
Yves Nievergelt. Logic, Mathematics, and Computer Science: Modern Foundations with Practical Applications - For lower undergraduates, It introduces the reader to logic, proofs, sets, and number theory, Focusing on foundations. It provides complete details and derivations of formal proofs.
-
Lacona. LOGIC: Lecture Notes for Philosophy, Mathematics, and Computer Science - Suitable for undergraduate introductions to logic and early graduate courses on logic.
-
Ben-Ari. Mathematical Logic for Computer Science - Semantic tableaux are used because they are theoretically sound and easy to understand.
-
Jeremy Kun. A Programmer's Introduction to Mathematics - Uses your familiarity with ideas from programming and software to teach mathematics.
-
Vince. Foundation Mathematics for Computer Science: A Visual Approach - A range of mathematical topics to provide a solid foundation for an undergraduate course in computer science, starting with a review of number systems and their relevance to digital computers, and finishing with differential and integral calculus.
-
Oberguggenberger & Ostermann. Analysis for Computer Scientists: Foundations, Methods, and Algorithms - Presents an algorithmic approach to mathematical analysis, with a focus on modelling and on the applications of analysis.
Lecture Notes
TCS Inspired
Lecture Videos Playlists
Lecture Notes
Discrete Mathematics
Lecture Notes
Books
MOOC
Transition To Pure Rigour Math
- Velleman. How to Prove it: A Structured Approach. - It transitions from solving problems to proving theorems by teaching them the techniques needed to read and write proofs.
Surveys & Monographs
Live Content
Conferences, Workshops, Events, and Talks
Aggregators
Live
-
TCS+ - A series of online seminars in theoretical computer science. The goal is to make engaging talks accessible to the widest possible audience.
-
Oxford-Warwick Complexity Meetings - Online informal talks dedicated to topics of interest in computational complexity theory and related areas. The goal is to serve as a forum for discussion and quick dissemination of results.
-
Simons' Public Lectures - Programs, Events, and workshops, that aim toward maximizing impact and engagement across the theoretical computer science community.
-
CMU Theory - Aims for a mathematical understanding of fundamental issues in Computer Science, and to use this understanding to produce better algorithms, protocols, and systems, as well as identify the inherent limitations of efficient computation.
Archived
Magazines, News, and Monographs
-
EATCS Bulletin - Surveys, tutorials, conferences reports, events, open problems and solutions, PhD Theses, and entertaining contributions.
-
SIGACT News - ACM's official theoretical computer science news feed.
-
Foundations and Trends in Theoretical Computer Science - It provides monographs written by leaders that give tutorial coverage of subjects, research retrospectives as well as survey papers that offer state-of-the-art reviews fall within the scope of the journal.
-
Quanta Magazine - Features breakthroughs in the field, written in an accessible style for non-experts.
Blogs Aggregators
Jobs
Aggregator
-
CS Theory Jobs - TCS Jobs announcements.
-
TCS Job Market - Theoretical Computer Science (TCS) job candidates, including PhD students expecting to graduate by Sep 1, 2023, current postdocs, and current faculty.
Lists
Online Communities
Other Resources
Blog Posts and Essays
-
Omer Reingold. The Practice of Theory Research - A research methods course, concentrating on the how rather than the what. It focuses on research practices common for computer science theory research.
-
Omer Reingold. TOC: a Personal Perspective (2021) - In celebration of 25 years for “TOC: a Scientific Perspective (1996),” by Oded Goldreich and Avi Wigderson. It spots the light on a criticism directed to TCS, that it is not as deep as Math and not as useful as CS.
-
Blum. You and Your Research: An Advice to a Beginning Graduate Student - Manuel Blum, A very popular figure in TCS, gives research advices for juniors.
-
Dijkstra. The Three Golden Rules for Successful Scientific Research - A note devoted to three rules that must be followed if you want to be successful in scientific research.
-
Goldreich. Essays and Opinions - Personal Essays by Oded Goldreich. They are very unique in their conceptual message of TCS and its community.
-
Barak. Advice for The Budding Theorist - Tips for anyone interested in theoretical computer science.
-
Barak. Surveys For Students - Surveys for high-school, undergraduate, and even researchers.
-
Barak. Non-technical or Less-technical Writings and Talks - Posts oriented more for a less-technically matured audience.
-
Lipton & Regan - A list of theory blogs for computer science.
-
Karp. A Personal View of Computer Science at Berkeley - Karp addresses: In 1968 computer science at Berkeley was problematic, with two departments working independently to develop programs, and his personal reflections.
-
Hamming. You and Your Research - Why do so few scientists make significant contributions and so many are forgotten in the long run? The talk is about what Hamming has learned.
-
Weinberg. Four Golden Lessons - Lessons for students and researchers given by Steven Weinberg.
-
Princeton's Companion. Advice to a Young Mathematician - Five contributors draw on their experiences of mathematical life and research, and to offer advice that they might have liked to receive when they were just setting-out on their careers.
-
Terry. Career Advice - A collection of various pieces of advice on academic career issues in mathematics, roughly arranged by the stage of career at which the advice is most pertinent.
-
Igor Pak. How to Start a Paper - Why should you introduce a conceptual preliminary motivating the story of your paper.
Special Magazines and Workshops
Popular Science Books
-
Fortnow. The Golden Ticket: P, NP, and the Search for the Impossible - A nontechnical introduction to P-NP, its rich history, and its algorithmic implications for everything we do with computers and beyond.
-
Ausiello. The Making of a New Science: A Personal Journey Through the Early Years of Theoretical Computer Science - A story about people, pioneers with diverse backgrounds and characters who established a new field.
-
Aaronson. Quantum Computing Since Democritus - It covers an amazing array of topics. Beginning in antiquity with Democritus, it progresses through logic and set theory,computability and complexity theory, quantum computing, cryptography, the information content of quantum states, and the interpretation of quantum mechanics.
-
Deutsch. The Fabric of Reality: The Science of Parallel Universes and Its Implications - The Fabric of Reality presents a startlingly integrated, rational and optimistic world view – the result of taking seriously the deepest ideas of modern science and the philosophy of science.
-
Papadimitriou. Turing: A Novel About Computation - The world of computation according to Turing, an interactive tutoring program, as told to star-crossed lovers: a novel.
-
Teuscher. Alan Turing: Life and Legacy of a Great. Springer - Essays which spans the entire rich spectrum of Turing's life, research work and legacy.
-
Petzold. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine - A Guided Tour through Alan Turing's Historic Paper on Computability and the Turing Machine.
-
Shasha & Lazere. Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists - Interviews with era's greatest scientists about their inspirations, discoveries, and personal interests.
Cheat Sheets
-
TCS Cheat Sheet - A sheet of notes containing essential toolboxes needed by any theoretical computer scientist.
Network Groups
-
SIGACT - Info page of ACM's Special Interest Group on Algorithms and Computation Theory.
-
PolyTCS - A project which promotes massive collaborations to solve theoretical computer science problems.
-
Complexity Network - Hosts collaboration between the three computational complexity groups at Imperial College London, University of Oxford and University of Warwick. It promotes smooth flow of ideas between the three groups and beyond.
-
List of TCS Conferences and Workshops - A list of conferences and workshops in theoretical computer science.
Related Awesome Lists