1473 lines
78 KiB
HTML
1473 lines
78 KiB
HTML
<p><img src="./TCS-banner.png" alt="banner" /> # Awesome Theoretical
|
||
Computer Science <a href="https://awesome.re"><img
|
||
src="https://awesome.re/badge-flat.svg" alt="Awesome" /></a> The
|
||
interdisciplinary of Mathematics and Computer Science, distinguished by
|
||
proof and logic technique.</p>
|
||
<hr />
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#broad_intros">Broad Intros</a>
|
||
<ul>
|
||
<li><a href="#broad_intros_lecture_notes">Lecture Notes</a> | <a
|
||
href="#broad_intros_lecture_videos_playlists">Lecture Videos
|
||
Playlists</a> | <a href="#broad_intros_books">Books</a> | <a
|
||
href="#broad_intros_handbooks">Handbooks</a></li>
|
||
</ul></li>
|
||
<li><a href="#theory_of_computation">Theory of Computation</a>
|
||
<ul>
|
||
<li><a href="#theory_of_computation_introductory">Introductory</a>
|
||
<ul>
|
||
<li><a href="#theory_of_computation_introductory_lecture_notes">Lecture
|
||
Notes</a> | <a href="#theory_of_computation_introductory_mooc">MOOC</a>
|
||
| <a href="#theory_of_computation_introductory_books">Books</a> | <a
|
||
href="#theory_of_computation_introductory_puzzles_and_problem_sets">Puzzles
|
||
and Problem Sets</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity">Computational
|
||
Complexity</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_introductory">Introductory</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_introductory_lecture_videos_playlists">Lecture
|
||
Videos Playlists</a> | <a
|
||
href="#theory_of_computation_computational_complexity_introductory_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#theory_of_computation_computational_complexity_introductory_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_communication_complexity">Communication
|
||
Complexity</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_communication_complexity_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#theory_of_computation_computational_complexity_communication_complexity_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_circuit_complexity">Circuit
|
||
Complexity</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_circuit_complexity_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_quantum_complexity">Quantum
|
||
Complexity</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_quantum_complexity_lecture_videos_playlists">Lecture
|
||
Videos Playlists</a> | <a
|
||
href="#theory_of_computation_computational_complexity_quantum_complexity_lecture_notes">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_proof_complexity">Proof
|
||
Complexity</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computational_complexity_proof_complexity_lecture_notes">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#theory_of_computation_computability_theory">Computability
|
||
Theory</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computability_theory_books">Books</a>
|
||
<ul>
|
||
<li><a
|
||
href="#theory_of_computation_computability_theory_books_introductory">Introductory</a>
|
||
| <a
|
||
href="#theory_of_computation_computability_theory_books_advanced">Advanced</a>
|
||
| <a
|
||
href="#theory_of_computation_computability_theory_books_monograph">Monograph</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#logic">Logic</a>
|
||
<ul>
|
||
<li><a href="#logic_computational_complexity">Computational
|
||
Complexity</a>
|
||
<ul>
|
||
<li><a href="#logic_computational_complexity_books">Books</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#programming_language_theory">Programming Language
|
||
Theory</a>
|
||
<ul>
|
||
<li><a href="#programming_language_theory_basics">Basics</a>
|
||
<ul>
|
||
<li><a href="#programming_language_theory_basics_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#programming_language_theory_basics_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#programming_language_theory_introductory">Introductory</a>
|
||
<ul>
|
||
<li><a
|
||
href="#programming_language_theory_introductory_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#programming_language_theory_formal_verification">Formal
|
||
Verification</a>
|
||
<ul>
|
||
<li><a
|
||
href="#programming_language_theory_formal_verification_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#programming_language_theory_formal_verification_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#programming_language_theory_type_theory">Type Theory</a>
|
||
<ul>
|
||
<li><a
|
||
href="#programming_language_theory_type_theory_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#programming_language_theory_type_theory_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#programming_language_theory_functional_programming">Functional
|
||
Programming</a>
|
||
<ul>
|
||
<li><a
|
||
href="#programming_language_theory_functional_programming_lecture_notes">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#algorithms">Algorithms</a>
|
||
<ul>
|
||
<li><a href="#algorithms_general">General</a>
|
||
<ul>
|
||
<li><a href="#algorithms_general_lecture_videos">Lecture Videos</a> | <a
|
||
href="#algorithms_general_lecture_notes">Lecture Notes</a> | <a
|
||
href="#algorithms_general_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#algorithms_lower_bounds">Lower Bounds</a>
|
||
<ul>
|
||
<li><a href="#algorithms_lower_bounds_lecture_videos_playlists">Lecture
|
||
Videos Playlists</a> | <a
|
||
href="#algorithms_lower_bounds_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#algorithms_randomization__probability">Randomization &
|
||
Probability</a>
|
||
<ul>
|
||
<li><a
|
||
href="#algorithms_randomization__probability_lecture_notes">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="#algorithms_approximation">Approximation</a>
|
||
<ul>
|
||
<li><a href="#algorithms_approximation_lecture_notes">Lecture Notes</a>
|
||
| <a href="#algorithms_approximation_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#algorithms_parameterized">Parameterized</a>
|
||
<ul>
|
||
<li><a href="#algorithms_parameterized_lecture_videos_playlist">Lecture
|
||
Videos Playlist</a> | <a
|
||
href="#algorithms_parameterized_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#algorithms_learning-augmented">Learning-augmented</a>
|
||
<ul>
|
||
<li><a href="#algorithms_learning-augmented_lecture_notes">Lecture
|
||
Notes</a> | <a href="#algorithms_learning-augmented_big_list">Big
|
||
List</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#informationcoding_theory">Information/Coding Theory</a>
|
||
<ul>
|
||
<li><a href="#informationcoding_theory_lecture_notes">Lecture Notes</a>
|
||
| <a href="#informationcoding_theory_workshops">Workshops</a> | <a
|
||
href="#informationcoding_theory_conferences">Conferences</a></li>
|
||
</ul></li>
|
||
<li><a href="#cryptography">Cryptography</a>
|
||
<ul>
|
||
<li><a href="#cryptography_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#machine_learning_theory">Machine Learning Theory</a>
|
||
<ul>
|
||
<li><a href="#machine_learning_theory_lecture_notes">Lecture Notes</a> |
|
||
<a href="#machine_learning_theory_books">Books</a> | <a
|
||
href="#machine_learning_theory_workshops">Workshops</a> | <a
|
||
href="#machine_learning_theory_other">Other</a></li>
|
||
</ul></li>
|
||
<li><a href="#game_theory">Game Theory</a>
|
||
<ul>
|
||
<li><a href="#game_theory_lecture_notes">Lecture Notes</a> | <a
|
||
href="#game_theory_books">Books</a> | <a
|
||
href="#game_theory_workshops">Workshops</a></li>
|
||
</ul></li>
|
||
<li><a href="#math_and_logic">Math and Logic</a>
|
||
<ul>
|
||
<li><a href="#math_and_logic_general">General</a>
|
||
<ul>
|
||
<li><a href="#math_and_logic_general_lecture_videos_playlist">Lecture
|
||
Videos Playlist</a> | <a href="#math_and_logic_general_books">Books</a>
|
||
| <a href="#math_and_logic_general_lecture_notes">Lecture Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="#math_and_logic_tcs_toolkit">TCS Toolkit</a>
|
||
<ul>
|
||
<li><a
|
||
href="#math_and_logic_tcs_toolkit_lecture_videos_playlists">Lecture
|
||
Videos Playlists</a> | <a
|
||
href="#math_and_logic_tcs_toolkit_lecture_notes">Lecture Notes</a> | <a
|
||
href="#math_and_logic_tcs_toolkit_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#math_and_logic_discrete_mathematics">Discrete
|
||
Mathematics</a>
|
||
<ul>
|
||
<li><a href="#math_and_logic_discrete_mathematics_general">General</a>
|
||
<ul>
|
||
<li><a
|
||
href="#math_and_logic_discrete_mathematics_general_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#math_and_logic_discrete_mathematics_general_books">Books</a> | <a
|
||
href="#math_and_logic_discrete_mathematics_general_mooc">MOOC</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="#math_and_logic_discrete_mathematics_probabilistic_method">Probabilistic
|
||
Method</a>
|
||
<ul>
|
||
<li><a
|
||
href="#math_and_logic_discrete_mathematics_probabilistic_method_lecture_notes">Lecture
|
||
Notes</a> | <a
|
||
href="#math_and_logic_discrete_mathematics_probabilistic_method_lecture_videos_playlist">Lecture
|
||
Videos Playlist</a> | <a
|
||
href="#math_and_logic_discrete_mathematics_probabilistic_method_books">Books</a></li>
|
||
</ul></li>
|
||
<li><a href="#math_and_logic_discrete_mathematics_graph_theory">Graph
|
||
Theory</a>
|
||
<ul>
|
||
<li><a
|
||
href="#math_and_logic_discrete_mathematics_graph_theory_lecture_videos_playlist">Lecture
|
||
Videos Playlist</a></li>
|
||
</ul></li>
|
||
<li><a href="#math_and_logic_discrete_mathematics_other">Other</a></li>
|
||
</ul></li>
|
||
<li><a href="#math_and_logic_transition_to_pure_rigour_math">Transition
|
||
To Pure Rigour Math</a></li>
|
||
</ul></li>
|
||
<li><a href="#physics">Physics</a>
|
||
<ul>
|
||
<li><a href="#physics_lecture_notes">Lecture Notes</a> | <a
|
||
href="#physics_books">Books</a> | <a
|
||
href="#physics_monographs">Monographs</a></li>
|
||
</ul></li>
|
||
<li><a href="#philosophy">Philosophy</a>
|
||
<ul>
|
||
<li><a href="#philosophy_lecture_notes">Lecture Notes</a> | <a
|
||
href="#philosophy_books">Books</a> | <a
|
||
href="#philosophy_papers">Papers</a></li>
|
||
</ul></li>
|
||
<li><a href="#surveys__monographs">Surveys & Monographs</a></li>
|
||
<li><a href="#community">Community</a>
|
||
<ul>
|
||
<li><a href="#community_conferences__workshops">Conferences &
|
||
Workshops</a>
|
||
<ul>
|
||
<li><a
|
||
href="#community_conferences__workshops_aggregators">Aggregators</a> |
|
||
<a href="#community_conferences__workshops_live">Live</a> | <a
|
||
href="#community_conferences__workshops_archived">Archived</a></li>
|
||
</ul></li>
|
||
<li><a href="#community_magazines__newsletter">Magazines &
|
||
Newsletter</a></li>
|
||
<li><a href="#community_associations">Associations</a></li>
|
||
<li><a href="#community_blogs">Blogs</a>
|
||
<ul>
|
||
<li><a href="#community_blogs_aggregators">Aggregators</a> | <a
|
||
href="#community_blogs_selected_posts_and_essays">Selected Posts and
|
||
Essays</a></li>
|
||
</ul></li>
|
||
<li><a href="#community_jobs">Jobs</a></li>
|
||
<li><a href="#community_online_communities">Online Communities</a></li>
|
||
</ul></li>
|
||
<li><a href="#other">Other</a>
|
||
<ul>
|
||
<li><a href="#other_podcasts">Podcasts</a> | <a
|
||
href="#other_popular_science">Popular Science</a> | <a
|
||
href="#other_cheat_sheets">Cheat Sheets</a></li>
|
||
</ul></li>
|
||
<li><a href="#related_lists">Related Lists</a></li>
|
||
</ul>
|
||
<hr />
|
||
<h1 id="broad-intros">Broad Intros<a name=broad_intros></a></h1>
|
||
<h2 id="lecture-notes">Lecture
|
||
Notes<a name=broad_intros_lecture_notes></a></h2>
|
||
<ul>
|
||
<li><a href="https://introtcs.org/public/index.html">Barak. Introduction
|
||
to TCS</a> - A modern, brief, and accessible text which introduces
|
||
theoretical computer science for undergrads. It includes topics not
|
||
usually included in standard undergrad text-books. ## Lecture Videos
|
||
Playlists<a name=broad_intros_lecture_videos_playlists></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLCqUsBXxq16yBaN_hpo7dY2l9N-ZLtI-X">Yanofsky.
|
||
Theoretical Computer Science</a> - undergrad introduction to theory of
|
||
computation</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLKzLTB8HeSUIuln-o1mbXfTr8HmIhiGEg">Anil
|
||
Ada. Great Ideas in Theoretical Computer Science. CMU</a> - A series of
|
||
lectures on selected notable topics in theoretical computer
|
||
science.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLm3J0oaFux3aafQm568blS9blxtA_EWQv">O’Donnell.
|
||
Great Ideas in Theoretical Computer Science. CMU</a> - A series of
|
||
lectures on selected notable topics in theoretical computer science. ##
|
||
Books<a name=broad_intros_books></a></li>
|
||
<li><a
|
||
href="https://www.math.ias.edu/files/Book-online-Aug0619.pdf">Wigderson.
|
||
Mathematics and Computation: A Theory Revolutionizing Technology and
|
||
Science</a> - A sweeping survey of complexity theory, emphasizing the
|
||
field’s insights and challenges. It explains the ideas and motivations
|
||
leading to key models, notions, and results.</li>
|
||
<li><a href="http://nature-of-computation.org/">Moore & Mertens. The
|
||
Nature of Computation</a> - It spans complexity of mazes and games;
|
||
optimization in theory and practice; randomized algorithms, interactive
|
||
proofs, and pseudorandomness; Markov chains and phase transitions; and
|
||
of quantum computing. It provides accessible explanations ##
|
||
Handbooks<a name=broad_intros_handbooks></a></li>
|
||
<li><a
|
||
href="https://www.routledge.com/Algorithms-and-Theory-of-Computation-Handbook-Volume-1-General-Concepts/Atallah-Blanton/p/book/9781138113930">Atallah
|
||
& Blanton. Algorithms and Theory of Computation Handbook: General
|
||
Concepts and Techniques</a> - A complete comprehensive encyclopediac
|
||
handbook which surveys all related areas to theoretical computer
|
||
science.</li>
|
||
<li><a
|
||
href="https://www.routledge.com/Algorithms-and-Theory-of-Computation-Handbook-Volume-2-Special-Topics/Atallah-Blanton/p/book/9780367384845">Atallah
|
||
& Blanton. Algorithms and Theory of Computation Handbook: Special
|
||
Topics and Techniques</a> - A complete comprehensive encyclopediac
|
||
handbook which surveys all related areas to theoretical computer
|
||
science.</li>
|
||
<li><a
|
||
href="https://mitpress.mit.edu/books/handbook-theoretical-computer-science-volume">Handbook
|
||
of Theoretical Computer Science. Volume A: Algorithms and Complexity</a>
|
||
- A complete comprehensive encyclopediac handbook which surveys all
|
||
related areas to theoretical computer science.</li>
|
||
<li><a
|
||
href="https://mitpress.mit.edu/books/handbook-theoretical-computer-science-2-vol-set">Handbook
|
||
of Theoretical Computer Science. Volume B: Formal Methods and
|
||
Semantics</a> - A complete comprehensive encyclopediac handbook which
|
||
surveys all related areas to theoretical computer science. # Theory of
|
||
Computation<a name=theory_of_computation></a> ##
|
||
Introductory<a name=theory_of_computation_introductory></a> ### Lecture
|
||
Notes<a name=theory_of_computation_introductory_lecture_notes></a></li>
|
||
<li><a href="https://cs.uwaterloo.ca/~watrous/ToC-notes/">Watrous.
|
||
Introduction to The Theory of Computing</a> - undergrad introduction to
|
||
theory of computation ###
|
||
MOOC<a name=theory_of_computation_introductory_mooc></a></li>
|
||
<li><a
|
||
href="https://www.udacity.com/course/intro-to-theoretical-computer-science--cs313">Intro
|
||
to Theoretical Computer Science</a> - It teaches basic concepts in
|
||
theoretical computer science, such as NP-completeness, and what they
|
||
imply for solving tough algorithmic problems.</li>
|
||
<li><a
|
||
href="https://www.udacity.com/course/computability-complexity-algorithms--ud061">Computability,
|
||
Complexity & Algorithms. Georgia Institute of Technology</a> - It
|
||
focuses on the big fundamental questions of computing, and how
|
||
understanding the power and limitations of algorithms helps us develop
|
||
the tools to make real-world computers smarter, faster and safer. ###
|
||
Books<a name=theory_of_computation_introductory_books></a></li>
|
||
<li><a
|
||
href="https://www.cengage.com/c/introduction-to-the-theory-of-computation-3e-sipser/9781133187790/">Sipser.
|
||
Introduction to Theory of Computation</a> - A standard text for
|
||
introducing theory of computation for undergrads.</li>
|
||
<li><a
|
||
href="https://www.pearson.com/us/higher-education/program/Hopcroft-Introduction-to-Automata-Theory-Languages-and-Computation-3rd-Edition/PGM64331.html">Hopcroft,
|
||
Motwani & Ullman. Introduction to Automata Theory, Languages, and
|
||
Computation</a> - Introductory undergrad textbook for automata,
|
||
languages and theory of computation topics. ### Puzzles and Problem
|
||
Sets<a name=theory_of_computation_introductory_puzzles_and_problem_sets></a></li>
|
||
<li><a
|
||
href="https://onlinelibrary.wiley.com/doi/book/10.1002/0471224642">Zhu
|
||
& Ko. Problem Solving in Automata, Languages, and Complexity</a> - A
|
||
problem-set text for automata, languages, and complexity. ##
|
||
Computational
|
||
Complexity<a name=theory_of_computation_computational_complexity></a>
|
||
###
|
||
Introductory<a name=theory_of_computation_computational_complexity_introductory></a>
|
||
#### Lecture Videos
|
||
Playlists<a name=theory_of_computation_computational_complexity_introductory_lecture_videos_playlists></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLm3J0oaFux3YL5vLXpzOyJiLtqLp6dCW2">O’Donnell.
|
||
Undergrad Complexity Theory. Fall 2019 (15-455)</a> (<a
|
||
href="https://www.cs.cmu.edu/~odonnell/15455-s17/">Homework</a>) -
|
||
Undergraduate course on computational complexity theory; It follows the
|
||
same spirit of Sipser’s part III.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLm3J0oaFux3b8Gg1DdaJOzYNsaXYLAOKH">O’Donnell.
|
||
Graduate Complexity Theory</a> - It covers most of what is believed to
|
||
be known to get started in complexity theory research. #### Lecture
|
||
Notes<a name=theory_of_computation_computational_complexity_introductory_lecture_notes></a></li>
|
||
<li><a href="http://www.ams.org/books/pcms/010/">Rudich & Wigderson.
|
||
Computational Complexity Theory</a> - 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<a name=theory_of_computation_computational_complexity_introductory_books></a></li>
|
||
<li><a href="https://theory.cs.princeton.edu/complexity/book.pdf">Arora
|
||
& Barak. Computational Complexity: A Modern Approach</a> - A golden
|
||
standard textbook, Surveying computational complexity theory for
|
||
graduate students and researchers.</li>
|
||
<li><a
|
||
href="http://www.wisdom.weizmann.ac.il/~oded/cc-book.html">Goldreich.
|
||
Computational Complexity: A Conceptual Perspective</a> - A grad
|
||
introduction to computation complexity theory, emphasizing the idea
|
||
behind concepts of complexity theory.</li>
|
||
<li><a
|
||
href="http://www.wisdom.weizmann.ac.il/~oded/bc-book.html">Goldreich. P,
|
||
NP, and NP-Completeness: The Basics of Computational Complexity</a> - A
|
||
very gentle introduction to some fundamental ideas of computational
|
||
complexity like NP-completeness and P vs NP.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9783540674191">Ogihara
|
||
& Hemaspaandra. The Complexity Theory Companion</a> - An accessible,
|
||
algorithmically oriented, research-centered, up-to-date guide to some of
|
||
the most interesting techniques of complexity theory.</li>
|
||
<li><a
|
||
href="https://www.pearson.com/us/higher-education/program/Papadimitriou-Computational-Complexity/PGM94583.html">Papadimitriou.
|
||
Computational Complexity</a> - 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<a name=theory_of_computation_computational_complexity_communication_complexity></a>
|
||
#### Lecture
|
||
Notes<a name=theory_of_computation_computational_complexity_communication_complexity_lecture_notes></a></li>
|
||
<li><a href="https://cs-people.bu.edu/mbun/courses/591_F19/">Mark Bun.
|
||
CS591 Communication Complexity</a> - 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<a name=theory_of_computation_computational_complexity_communication_complexity_books></a></li>
|
||
<li><a
|
||
href="https://www.cambridge.org/core/books/communication-complexity/5F44993E3B2597174B71D3F21E748443">Rao
|
||
& Yehudayoff. Communication Complexity and Applications</a> - An
|
||
excellent and very readable introductory textbook to the field of
|
||
communication complexity. ### Circuit
|
||
Complexity<a name=theory_of_computation_computational_complexity_circuit_complexity></a>
|
||
####
|
||
Books<a name=theory_of_computation_computational_complexity_circuit_complexity_books></a></li>
|
||
<li><a href="https://www.springer.com/gp/book/9783642245077">Jukna.
|
||
Boolean Function Complexity: Advances and Frontiers</a> - A modern
|
||
textbook surveying circuit complexity.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9783540594369">Clote &
|
||
Kranakis. Boolean Functions and Computation Models</a> - An introduction
|
||
to circuit complexity, boolean functions, and computation models. ###
|
||
Quantum
|
||
Complexity<a name=theory_of_computation_computational_complexity_quantum_complexity></a>
|
||
#### Lecture Videos
|
||
Playlists<a name=theory_of_computation_computational_complexity_quantum_complexity_lecture_videos_playlists></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLZGjbQcY0aI7Yqwbwp-lsf1tTPyvkQG6h">Uni
|
||
Paderborn. Quantum Complexity Theory. Winter 2020</a> - CS Masters level
|
||
lectures on topics including Boson sampling, quantum interactive proofs,
|
||
and quantum merlin arthur. #### Lecture
|
||
Notes<a name=theory_of_computation_computational_complexity_quantum_complexity_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://www.henryyuen.net/fall2020/complexity_of_entanglement_notes.pdf">Henry
|
||
Yuen. The Complexity of Entanglement. Fall 2020</a> - Focuses on cutting
|
||
edge topics in quantum information that relate to Complexity of
|
||
Entanglement. - see this <a
|
||
href="https://www.henryyuen.net/classes/fall2020/">class</a> also ###
|
||
Proof
|
||
Complexity<a name=theory_of_computation_computational_complexity_proof_complexity></a>
|
||
#### Lecture
|
||
Notes<a name=theory_of_computation_computational_complexity_proof_complexity_lecture_notes></a></li>
|
||
<li><a href="https://www.cs.mcgill.ca/~robere/comp598/index.html">Robert
|
||
Robere. Proof Complexity: Algorithms and Lower Bounds</a> - An
|
||
introduction to modern proof complexity, emphasizing its connections
|
||
with computational complexity and algorithms in optimization. ##
|
||
Computability
|
||
Theory<a name=theory_of_computation_computability_theory></a> ###
|
||
Books<a name=theory_of_computation_computability_theory_books></a> ####
|
||
Introductory<a name=theory_of_computation_computability_theory_books_introductory></a></li>
|
||
<li><a
|
||
href="https://www.cambridge.org/highereducation/books/computability/E8F085FDBECB8280F7723D71C1D2EE1C">Cutland.
|
||
Computability: An Introduction to Recursive Function Theory</a> -
|
||
Intuitively, It explains the idea of a computable function: a function
|
||
whose values can be calculated in an effective or automatic way.</li>
|
||
<li><a
|
||
href="https://www.routledge.com/Computability-Theory/Cooper-Cooper/p/book/9781584882374">Cooper.
|
||
Computability Theory</a> - A concise, comprehensive, and authoritative
|
||
introduction to contemporary computability theory, techniques, and
|
||
results.</li>
|
||
<li><a
|
||
href="https://www.amazon.com/Computability-Unsolvability-Prof-Martin-Davis/dp/0486614719">Davis.
|
||
Computability and Unsolvability</a> - In this classic text, Dr. Davis
|
||
provides a clear introduction to computability, at an advanced
|
||
undergraduate level, that serves the needs of specialists and
|
||
non-specialists alike. ####
|
||
Advanced<a name=theory_of_computation_computability_theory_books_advanced></a></li>
|
||
<li><a href="https://www.springer.com/gp/book/9783540666813">Soare.
|
||
Recursively Enumerable Sets and Degree</a> - It gives a complete account
|
||
of the theory of r.e degrees. The definitions, results and proofs are
|
||
always clearly motivated and explained before the formal presentation;
|
||
the proofs are described with remarkable clarity and conciseness.</li>
|
||
<li><a
|
||
href="https://archive.org/details/classicalrecursi0000odif">Odifreddi.
|
||
Classical Recursion Theory: The Theory of Functions and Sets of Natural
|
||
Numbers</a> - An impressive presentation of classical recursion theory.
|
||
It is highly recommended to everyone interested in recursion theory.
|
||
####
|
||
Monograph<a name=theory_of_computation_computability_theory_books_monograph></a></li>
|
||
<li><a href="https://mitpress.mit.edu/books/computability">Copeland,
|
||
Posy & Shagrir (editors). Computability: Turing, Gödel, Church, and
|
||
Beyond</a> - Computer scientists, mathematicians, and philosophers
|
||
discuss the conceptual foundations of the notion of computability as
|
||
well as recent theoretical developments. # Logic<a name=logic></a> ##
|
||
Computational Complexity<a name=logic_computational_complexity></a> ###
|
||
Books<a name=logic_computational_complexity_books></a></li>
|
||
<li><a href="https://www.springer.com/gp/book/9783319001180">Pudlák.
|
||
Logical Foundations of Mathematics and Computational Complexity: A
|
||
Gentle Introduction</a> - Presents a wide range of results in logic and
|
||
computational complexity. # Programming Language
|
||
Theory<a name=programming_language_theory></a> ##
|
||
Basics<a name=programming_language_theory_basics></a> ### Lecture
|
||
Notes<a name=programming_language_theory_basics_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://www.cl.cam.ac.uk/teaching/2425/FoundsCS/materials.html">Cambridge
|
||
Foundations of CS</a> - It teaches programming and presents some
|
||
fundamental principles of computer science, especially algorithm design.
|
||
### Books<a name=programming_language_theory_basics_books></a></li>
|
||
<li>Structure and Interpretation of Computer Programs - <a
|
||
href="https://ocw.mit.edu/courses/6-001-structure-and-interpretation-of-computer-programs-spring-2005/pages/syllabus/">MIT
|
||
OCW</a>, <a
|
||
href="https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html">HTML
|
||
book</a>, <a
|
||
href="https://www.youtube.com/playlist?list=PL7BcsI5ueSNFPCEisbaoQ0kXIDX9rR5FF">Byford’s
|
||
playlist</a>, <a
|
||
href="https://github.com/source-academy/sicp?tab=readme-ov-file">Javascript
|
||
book</a>, <a
|
||
href="https://wizardforcel.gitbooks.io/sicp-in-python/content/index.html">Python
|
||
book</a>, <a
|
||
href="https://romanbird.github.io/sicp/#e682e189-1f90-4713-9dfe-35c92b7d1cdf">Berkeley
|
||
for self-study</a>, and <a href="https://cs61a.org/">Berkeley 2024</a> -
|
||
Fundamental principles of computer programming in Scheme, including
|
||
recursion, abstraction, modularity, and programming language design and
|
||
implementation. ##
|
||
Introductory<a name=programming_language_theory_introductory></a> ###
|
||
Books<a name=programming_language_theory_introductory_books></a></li>
|
||
<li><a href="https://softwarefoundations.cis.upenn.edu/">Pierce.
|
||
Software Foundations. Pennsylvania</a> - A broad introduction series to
|
||
the mathematical underpinnings of reliable software. It’s composed of
|
||
proof scripts for the Coq proof assistant. It’s is intended for a broad
|
||
range of readers, With no specific background assumed. ## Formal
|
||
Verification<a name=programming_language_theory_formal_verification></a>
|
||
### Lecture
|
||
Notes<a name=programming_language_theory_formal_verification_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://sites.google.com/cs.washington.edu/cse-505-18au/home">UW
|
||
CSE505 18au Principles of PL</a> - Techniques for thinking crisply about
|
||
programming languages, write some fascinating programs, and discuss
|
||
various design tradeoffs. ###
|
||
Books<a name=programming_language_theory_formal_verification_books></a></li>
|
||
<li><a href="http://adam.chlipala.net/frap">Chlipala. Formal Reasoning
|
||
About Programs</a> - A book introducing both machine-checked proof with
|
||
Coq Proof Assistant and approaches to formal reasoning about program
|
||
correctness.</li>
|
||
<li><a href="https://lean-lang.org/documentation/">Lean Proof
|
||
Assistant</a> - Lean Proof Assistant. ## Type
|
||
Theory<a name=programming_language_theory_type_theory></a> ### Lecture
|
||
Notes<a name=programming_language_theory_type_theory_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://raw.githubusercontent.com/michaelt/martin-lof/master/pdfs/Bibliopolis-Book-retypeset-1984.pdf">Martin-Löf.
|
||
Intuitionistic Type Theory</a> - Notes by Giovanni Sambin of a series of
|
||
type theory lectures given in Padua, June 1980. ###
|
||
Books<a name=programming_language_theory_type_theory_books></a></li>
|
||
<li><a
|
||
href="https://www.cse.chalmers.se/research/group/logic/book/book.pdf">Bengt.
|
||
Programming in Martin-Löf’s Type Theory</a> - This book describes
|
||
different type theories (theories of types, polymorphic and monomorphic
|
||
sets, and subsets) from a computing science perspective.</li>
|
||
<li><a href="https://homotopytypetheory.org/book">The Univalent
|
||
Foundations Program Institute for Advanced Study. Homotopy Type Theory:
|
||
Univalent Foundations of Mathematics</a> - The present book is intended
|
||
as a first systematic exposition of the basics of univalent foundations,
|
||
and a collection of examples of this new style of reasoning — but
|
||
without requiring the reader to know or learn any formal logic, or to
|
||
use any computer proof assistant. ## Functional
|
||
Programming<a name=programming_language_theory_functional_programming></a>
|
||
### Lecture
|
||
Notes<a name=programming_language_theory_functional_programming_lecture_notes></a></li>
|
||
<li><a href="https://haskell.mooc.fi">Helsinki. Haskell MOOC</a> - An
|
||
online course on functional programming with Haskell programming
|
||
language, and a live interactive Telegram community.</li>
|
||
<li><a href="https://www.cs.cornell.edu/courses/cs3110/2024sp">Cornell.
|
||
Functional Programming in Ocaml</a> - A modern course on data structures
|
||
and functional programming using OCaml. #
|
||
Algorithms<a name=algorithms></a> ##
|
||
General<a name=algorithms_general></a> ### Lecture
|
||
Videos<a name=algorithms_general_lecture_videos></a></li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/">Demaine/Ku/Soloman.
|
||
Introduction to Algorithms. MIT</a> - A first course on basic algorithms
|
||
and data structures. — added by Erik himself!</li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/">Demaine/Devadas/Lynch.
|
||
Design and Analysis of algorithms. MIT</a> - A second course on
|
||
algorithms and data structures. — added by Erik himself!</li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/6-851-advanced-data-structures-spring-2012/">Erik
|
||
Demaine. Advanced Data Structures. MIT</a> - It covers major results and
|
||
current directions of research in data structure. ### Lecture
|
||
Notes<a name=algorithms_general_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/courses/archive/fall15/cos521/">Arora.
|
||
Advanced Algorithm Design</a> - Notably uses ideas such as randomness,
|
||
approximation, high dimensional geometry. Faces uncertainty, approaches
|
||
to handle big data, handling intractability, heuristic approaches,
|
||
..etc. ### Books<a name=algorithms_general_books></a></li>
|
||
<li><a
|
||
href="https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming">Knuth.
|
||
The Art of Computer Programming</a> - A legendary series by Donald Knuth
|
||
on design and analysis of algorithms. ## Lower
|
||
Bounds<a name=algorithms_lower_bounds></a> ### Lecture Videos
|
||
Playlists<a name=algorithms_lower_bounds_lecture_videos_playlists></a></li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-890-algorithmic-lower-bounds-fun-with-hardness-proofs-fall-2014/">Demaine.
|
||
Algorithmic Lower Bounds: Fun with Hardness Proofs</a> - A class taking
|
||
a practical approach to proving problems can’t be solved efficient. ###
|
||
Books<a name=algorithms_lower_bounds_books></a></li>
|
||
<li><a href="https://hardness.mit.edu/">Demaine, Gasarch &
|
||
Hajiaghayi. Computers and Intractability: A Guide to Algorithmic Lower
|
||
Bounds</a> - 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.</li>
|
||
<li><a
|
||
href="https://www.routledge.com/Games-Puzzles-and-Computation/Hearn-Demaine/p/book/9781568813226">Demaine.
|
||
Games, Puzzles, and Computation</a> - It shows that games and puzzles
|
||
can serve as powerful models of computation, Offering a new way of
|
||
thinking about computation. ## Randomization &
|
||
Probability<a name=algorithms_randomization__probability></a> ###
|
||
Lecture
|
||
Notes<a name=algorithms_randomization__probability_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://web.stanford.edu/class/archive/cs/cs265/cs265.1232/">Mary
|
||
Wootters. Randomized Algorithms and Probabilistic Analysis. Stanford</a>
|
||
- 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.</li>
|
||
<li><a
|
||
href="https://www.cs.ox.ac.uk/people/elias.koutsoupias/pc2018-19/">Koutsoupias.
|
||
Probability and Computing. Oxford</a> - Introduction to probabilistic
|
||
methods in computer science.</li>
|
||
<li>Harvey. <a href="https://www.cs.ubc.ca/~nickhar/Book1.pdf">First</a>
|
||
and <a href="https://www.cs.ubc.ca/~nickhar/Book2.pdf">Second</a> Course
|
||
in Randomized Algorithms. Columbia. - Respectively, undergrad and grad
|
||
courses for probabilistic methods in algorithms.</li>
|
||
<li><a
|
||
href="https://homes.cs.washington.edu/~jrl/teaching/cse525sp19/">Lee.
|
||
Randomized Algorithms and Probabilistic Analysis. Washington.</a> -
|
||
Topics include Discrete probability, High-dimensional geometry and
|
||
statistics, Information and entropy, and Markov chains and convergence
|
||
to equilibrium.</li>
|
||
<li><a
|
||
href="https://www.cs.yale.edu/homes/aspnes/classes/469/notes.pdf">Aspnes.
|
||
Notes on Randomized Algorithms</a> - Supplemental notes to the standard
|
||
books by Mitzenmacher & Upfals, and Motwani & Raghavan. ##
|
||
Approximation<a name=algorithms_approximation></a> ### Lecture
|
||
Notes<a name=algorithms_approximation_lecture_notes></a></li>
|
||
<li><a href="https://courses.engr.illinois.edu/cs583/fa2021/">Chekuri.
|
||
Approximation Algorithmis Illinois</a> - A broad introduction to results
|
||
and techniques with an emphasis on fundamental problems and widely
|
||
applicable tools. Also more advanced and specialized topics.</li>
|
||
<li><a
|
||
href="https://www.cs.jhu.edu/~mdinitz/classes/ApproxAlgorithms/Spring2021/">Dinitz.
|
||
Approximation Algorithms. Johns Hopkins</a> - It includes greedy, local
|
||
search, dynamic programming, randomized rounding, tree embeddings, and
|
||
semidefinite programming.</li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/afs/cs/academic/class/15854-f05/www/">Gupta
|
||
& Ravi. Approximation Algorithms. CMU</a> - It includes convex
|
||
programming-based, randomness, and metric methods. ###
|
||
Books<a name=algorithms_approximation_books></a></li>
|
||
<li><a href="https://www.designofapproxalgs.com/">Williamson &
|
||
Shmoys. The Design of Approximation Algorithms</a> - It includes greedy,
|
||
local search algorithms, dynamic programming, linear and semidefinite
|
||
programming, and randomization.</li>
|
||
<li><a
|
||
href="https://u.pcloud.link/publink/show?code=XZpzNWXZSCkVs6BKd5RzyNhoRzfJCJoaqSok">Du
|
||
& Ko. Design and Analysis of Approximation Algorithms</a> - A
|
||
technique-oriented approach provides a unified view. It includes
|
||
detailed algorithms, proofs, analyses, examples, and applications from
|
||
research papers.</li>
|
||
<li><a
|
||
href="https://u.pcloud.link/publink/show?code=XZgHNWXZkdvT8L18drSSgLP9vqBIDmbPreD7">Vijay
|
||
Vazirani. Approximation Algorithms</a> ##
|
||
Parameterized<a name=algorithms_parameterized></a> ### Lecture Videos
|
||
Playlist<a name=algorithms_parameterized_lecture_videos_playlist></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLzdZSKerwrXpr6hWq1s63a42YbkocAK1Q">Parametarized
|
||
Algorithms by Warsaw</a> ###
|
||
Books<a name=algorithms_parameterized_books></a></li>
|
||
<li>Fedor Fomin. Parametrized Algorithms - Modern comprehensive
|
||
explanation of recent tools and techniques with exercises, for graduate
|
||
students. ##
|
||
Learning-augmented<a name=algorithms_learning-augmented></a> ### Lecture
|
||
Notes<a name=algorithms_learning-augmented_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://stellar.mit.edu/S/course/6/sp19/6.890/materials.html">Indyk
|
||
& Daskalakis. Learning-augmented Algorithms. MIT</a> ### Big
|
||
List<a name=algorithms_learning-augmented_big_list></a></li>
|
||
<li><a href="https://algorithms-with-predictions.github.io/">Algorithms
|
||
with Predictions</a> # Information/Coding
|
||
Theory<a name=informationcoding_theory></a> ## Lecture
|
||
Notes<a name=informationcoding_theory_lecture_notes></a></li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~madhusudan/courses/Spring2020/">Madhu
|
||
Sudan. Essential Coding Theory</a> - 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.</li>
|
||
<li>Scott Aaronson. Quantum Information Science. <a
|
||
href="https://www.scottaaronson.com/qclec.pdf">Part I</a> & <a
|
||
href="https://www.scottaaronson.com/qisii.pdf">Part II</a> - 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<a name=informationcoding_theory_workshops></a></li>
|
||
<li><a href="https://simons.berkeley.edu/programs/inftheory2015">Simons
|
||
Institute. Information Theory Program</a> - 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<a name=informationcoding_theory_conferences></a></li>
|
||
<li><a
|
||
href="https://sites.google.com/view/compression-computation-2022/program">Compression+Computation
|
||
2022</a> - It bridges the gap of Theoretical Computer Science and
|
||
Bioinformatics communities, On new data compression techniques, and
|
||
computation over compressed data. #
|
||
Cryptography<a name=cryptography></a> ##
|
||
Books<a name=cryptography_books></a></li>
|
||
<li><a
|
||
href="https://link.springer.com/book/10.1007/978-3-319-57048-8">Lindell.
|
||
Tutorials on the Foundations of Cryptography</a> - Advanced tutorials
|
||
appropriate for self-study by experienced researchers,</li>
|
||
<li><a
|
||
href="https://www.wisdom.weizmann.ac.il/~oded/book1.html">Goldreich.
|
||
Modern Cryptography, Probabilistic Proofs and Pseudorandomness</a> - An
|
||
introduction to the interwoven domains of cryptography, proofs and
|
||
randomness.</li>
|
||
<li><a href="http://www.wisdom.weizmann.ac.il/~oded/rnd.html">Goldreich.
|
||
Randomized Methods in Computation</a> - The aim of the current course is
|
||
to make the students familiar with some of randomized methods. # Machine
|
||
Learning Theory<a name=machine_learning_theory></a> ## Lecture
|
||
Notes<a name=machine_learning_theory_lecture_notes></a></li>
|
||
<li><a href="https://home.ttic.edu/~avrim/MLT20/">Blum. An Introduction
|
||
to the Theory of Machine Learning. TTIC</a> - The basic theory
|
||
underlying machine learning and the process of generalizing from
|
||
data.</li>
|
||
<li><a href="https://mjt.cs.illinois.edu/dlt/">Telgarsky. Deep Learning
|
||
Theory. Illinois</a> - 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.</li>
|
||
<li><a href="http://www.jennwv.com/courses/F11.html">Vaughan. CS260:
|
||
Machine Learning Theory</a> - A broad overview of the theoretical
|
||
foundations underlying common machine learning algorithms.</li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/~rlivni/cos511/cos511.html">Livni.
|
||
COS 511 Theoretical Machine Learning. Princeton</a> - 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.</li>
|
||
<li><a href="https://people.csail.mit.edu/moitra/408b.html">Moitra.
|
||
Theoretical Foundations for Deep Learning. MIT</a> - 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?</li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/courses/archive/spring15/cos598D/">Arora.
|
||
Overcoming Intractability in Machine Learning</a> - 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<a name=machine_learning_theory_books></a></li>
|
||
<li><a
|
||
href="https://mitpress.mit.edu/books/introduction-computational-learning-theory">Vazirani
|
||
& Kearns. An Introduction to Computational Learning Theory</a> -
|
||
Emphasizing issues of computational efficiency, It introduces a number
|
||
of central topics in computational learning theory.</li>
|
||
<li><a
|
||
href="https://www.cambridge.org/core/books/understanding-machine-learning/3059695661405D25673058E43C8BE2A6">Shalev-Shwartz.
|
||
Understanding Machine Learning: From Theory to Algorithms</a> - It
|
||
provides an extensive theoretical account of the fundamental ideas
|
||
underlying machine learning and the mathematical derivations that
|
||
transform these principles into practical algorithms. ##
|
||
Workshops<a name=machine_learning_theory_workshops></a></li>
|
||
<li><a href="https://simons.berkeley.edu/programs/dl2019">Simons
|
||
Institute. Foundations of Deep Learning Program</a> - Aligning and
|
||
focusing theoretical and applied researchers on the common purpose of
|
||
building empirically relevant theoretical foundations of deep learning.
|
||
Specifically, the intention was to identify and make progress on
|
||
challenges that, on one hand, are key to guiding the real-world use of
|
||
deep learning and, on the other hand, can be approached using
|
||
theoretical methodology.</li>
|
||
<li><a
|
||
href="https://simons.berkeley.edu/programs/datascience2018">Simons
|
||
Institute. Foundations of Data Science</a> - Identifying a set of core
|
||
techniques and principles that form a foundation for the subject.</li>
|
||
<li><a
|
||
href="https://simons.berkeley.edu/programs/machinelearning2017">Foundations
|
||
of Machine Learning</a> - Aims to grow the reach and impact of computer
|
||
science theory within machine learning.</li>
|
||
<li><a
|
||
href="https://unsupervised.cs.princeton.edu/deeplearningtutorial.html">Toward
|
||
Theoretical Understanding of Deep Learning</a></li>
|
||
<li><a href="https://simons.berkeley.edu/talks/tbd-288">A Brief
|
||
Introduction to Theoretical Foundations of Machine Learning and Machine
|
||
Teaching</a> - Formal methods and machine learning can inform each other
|
||
from deductive and inductive reasoning perspectives. This talk aims to
|
||
facilitate the dialogue between the two communities by establishing some
|
||
fundamental concepts in learning theory. ##
|
||
Other<a name=machine_learning_theory_other></a></li>
|
||
<li><a href="https://www.cs.cmu.edu/~avrim/Talks/mlt.pdf">Blum. Intro
|
||
Machine Learning Theory</a>.</li>
|
||
<li><a href="https://www.cs.cmu.edu/~mblum/search/AGTML35.pdf">Blum,
|
||
et.al. Machine Learning, Game Theory, and Mechanism Design for a
|
||
Networked World</a>.</li>
|
||
<li><a
|
||
href="https://cs229.stanford.edu/proj2012/AgrawalJaiswal-WhenMachineLearningMeetsAIandGameTheory.pdf">Agrawal
|
||
& Jaiswal. When Machine Learning Meets AI and Game Theory</a>. #
|
||
Game Theory<a name=game_theory></a> ## Lecture
|
||
Notes<a name=game_theory_lecture_notes></a></li>
|
||
<li><a href="https://arxiv.org/abs/1801.00734">Tim Roughgarden.
|
||
Complexity Theory, Game Theory, and Economics: The Barbados Lectures</a>
|
||
- 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.</li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/cs6840/2012sp/">Eva
|
||
Tardos. Algorithmic Game Theory</a> - 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.</li>
|
||
<li><a
|
||
href="https://chekuri.cs.illinois.edu/teaching/spring2008/agt.htm">Chekuri.
|
||
Topics in Algorithms: Algorithmic Game Theory</a> - 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.</li>
|
||
<li><a href="https://ml2.inf.ethz.ch/courses/agt/">Penna. Algorithmic
|
||
Game Theory</a> - 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.</li>
|
||
<li><a href="http://cs.brown.edu/courses/cs1951k/lectures/">Brown.
|
||
Resources list for game theory</a> - 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.</li>
|
||
<li><a
|
||
href="https://feifang.info/advanced-topics-in-machine-learning-and-game-theory-fall-2021/">Fang.
|
||
Advanced Topics in Machine Learning and Game Theory</a> - A
|
||
graduate-level course covering the topics at the intersection of machine
|
||
learning and game theory.</li>
|
||
<li><a href="http://www.haifeng-xu.com/cs6501sp21/index.htm">Xu. Topics
|
||
in Learning and Game Theory</a> - A graduate level course covering
|
||
topics at the interface between machine learning and game theory.</li>
|
||
<li><a href="https://timroughgarden.github.io/fob21/">Tim Roughgarden.
|
||
Foundations of Blockchains</a> - 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 <a
|
||
href="https://www.youtube.com/playlist?list=PLEGCF-WLh2RLOHv_xUGLqRts_9JxrckiA">Lecture
|
||
Videos</a>. ## Books<a name=game_theory_books></a></li>
|
||
<li><a
|
||
href="https://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/lectures-game-theory-computer-scientists">Apt
|
||
& Grädel. Lectures in Game Theory for Computer Scientists</a> -
|
||
Games provide mathematical models for interaction, and numerous tasks in
|
||
computer science can be formulated in game-theoretic terms.</li>
|
||
<li><a
|
||
href="https://www.cambridge.org/core/books/algorithmic-game-theory/0092C07CA8B724E1B1BE2238DDD66B38#fndtn-information">Eva
|
||
Tardos & et.al. Algorithmic Game Theory</a> - Basic chapters on
|
||
algorithmic methods for equilibria, mechanism design and combinatorial
|
||
auctions are followed by chapters on important game theory applications
|
||
such as incentives and pricing, cost sharing, information markets and
|
||
cryptography and security. ##
|
||
Workshops<a name=game_theory_workshops></a></li>
|
||
<li><a href="https://simons.berkeley.edu/programs/economics2015">Simons
|
||
Institute. Economics and Computation Program</a> - 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.</li>
|
||
<li><a href="https://simons.berkeley.edu/programs/games2022">Simons
|
||
Institute. Learning and Games Program</a> - 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.</li>
|
||
<li><a
|
||
href="https://simons.berkeley.edu/events/openlectures2015-fall-1">Eva
|
||
Tardos. Learning and Efficiency in Games</a> - How to quantify the
|
||
impact of strategic user behavior on overall performance in games
|
||
including traffic routing as well as online auctions. # Math and
|
||
Logic<a name=math_and_logic></a> ##
|
||
General<a name=math_and_logic_general></a> ### Lecture Videos
|
||
Playlist<a name=math_and_logic_general_lecture_videos_playlist></a></li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/lecture-slides/">Lehman,
|
||
Leighton & Meyer. Mathematics for Computer Science</a> - An
|
||
introduction to discrete mathematics oriented toward computer science
|
||
and engineering. - <a
|
||
href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/readings/MIT6_042JS15_textbook.pdf">Companion
|
||
Textbook</a> ### Books<a name=math_and_logic_general_books></a></li>
|
||
<li><a
|
||
href="https://www.pearson.com/us/higher-education/product/Graham-Concrete-Mathematics-A-Foundation-for-Computer-Science-2nd-Edition/9780134389981.html">Knuth,
|
||
Graham & Patashnik. Concrete Mathematics: A Foundation for Computer
|
||
Science</a> - 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.</li>
|
||
<li><a href="http://i.stanford.edu/~ullman/focs.html">Aho & Ullman.
|
||
Foundations of Computer Science</a> - A classic math-oriented
|
||
introduction to computer science.</li>
|
||
<li><a
|
||
href="https://textbooks.open.tudelft.nl/textbooks/catalog/book/13">Tu
|
||
Delft. Delftse Foundations of Computation</a> - A textbook for a one
|
||
quarter introductory course in theoretical computer science.</li>
|
||
<li><a href="https://www.springer.com/series/5517">Comprehensive
|
||
Mathematics for Computer Scientists</a> - A series dedicated to math
|
||
topics and their relevance to computer science.</li>
|
||
<li><a
|
||
href="https://www.maa.org/press/maa-reviews/handbook-of-logic-and-proof-techniques-for-computer-science">Krantz.
|
||
Handbook of Logic and Proof Techniques for Computer Science</a> - A
|
||
concise offered as an accessible reference on mathematical logic for the
|
||
professional computer scientist.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9783030422172">Makinson.
|
||
Sets, Logic and Maths for Computing</a> - It presents a careful
|
||
selection of the material most needed by students in their first two
|
||
years studying computer science.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9781493932221">Yves
|
||
Nievergelt. Logic, Mathematics, and Computer Science: Modern Foundations
|
||
with Practical Applications</a> - 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.</li>
|
||
<li><a
|
||
href="https://link.springer.com/book/10.1007/978-3-030-64811-4">Lacona.
|
||
LOGIC: Lecture Notes for Philosophy, Mathematics, and Computer
|
||
Science</a> - Suitable for undergraduate introductions to logic and
|
||
early graduate courses on logic.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9781447141280">Ben-Ari.
|
||
Mathematical Logic for Computer Science</a> - Semantic tableaux are used
|
||
because they are theoretically sound and easy to understand.</li>
|
||
<li><a href="https://pimbook.org/">Jeremy Kun. A Programmer’s
|
||
Introduction to Mathematics</a> - Uses your familiarity with ideas from
|
||
programming and software to teach mathematics.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9783030420772">Vince.
|
||
Foundation Mathematics for Computer Science: A Visual Approach</a> - 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.</li>
|
||
<li><a
|
||
href="https://www.springer.com/gp/book/9783319911540">Oberguggenberger
|
||
& Ostermann. Analysis for Computer Scientists: Foundations, Methods,
|
||
and Algorithms</a> - Presents an algorithmic approach to mathematical
|
||
analysis, with a focus on modelling and on the applications of analysis.
|
||
### Lecture Notes<a name=math_and_logic_general_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://www.math.uni.wroc.pl/~mpal/academic/2013/lecture_notes.pdf">Paluszynski.
|
||
Calculus for Computer Scientists</a> - calculus lecture notes taught for
|
||
undergrad computer science students ## TCS
|
||
Toolkit<a name=math_and_logic_tcs_toolkit></a> ### Lecture Videos
|
||
Playlists<a name=math_and_logic_tcs_toolkit_lecture_videos_playlists></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLm3J0oaFux3ZYpFLwwrlv_EHH9wtH6pnX">O’Donnell.
|
||
CS Theory Toolkit</a> - It covers a large number of the math/CS topics
|
||
that you need to know for reading and doing research in Computer Science
|
||
Theory - alternatively: <a
|
||
href="https://www.bilibili.com/video/BV1Ry4y1e7zR">bilibili</a></li>
|
||
<li><a
|
||
href="https://home.ttic.edu/~madhurt/courses/toolkit2021/index.html">Madhur
|
||
Tulsiani. Mathematical Toolkit</a> - Things prof. Madhur wish he knew in
|
||
first year of grad school.</li>
|
||
<li><a
|
||
href="https://www.tifr.res.in/~prahladh/teaching/2020-21/toolkit/">Harsha
|
||
& Strivastava. Toolkit for Theoretical Computer Science. Tata
|
||
Institute</a> ### Lecture
|
||
Notes<a name=math_and_logic_tcs_toolkit_lecture_notes></a></li>
|
||
<li><a href="https://web.stanford.edu/class/cs168/">Gregory Valiant. The
|
||
Modern Algorithmic Toolbox. Stanford</a> - It covers hashing, dimension
|
||
reduction, linear and convex programming, gradient descent and
|
||
regression, sampling and estimation, compressive sensing,
|
||
linear-algebraic techniques (principal components analysis, singular
|
||
value decomposition, spectral techniques), and an intro to differential
|
||
privacy.</li>
|
||
<li><a href="https://yuanz.web.illinois.edu/teaching/B609fa16/">Zhou. A
|
||
Theorist’s Toolkit. Illinois</a> - It covers a large number of the
|
||
math/CS topics that you need to know for reading and doing research in
|
||
Computer Science Theory.</li>
|
||
<li><a href="https://www.cs.cmu.edu/~odonnell/toolkit13/">O’Donnell. A
|
||
Theorist’s Toolkit. CMU</a> - It covers a large number of the math/CS
|
||
topics that you need to know for reading and doing research in Computer
|
||
Science Theory.</li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/courses/archive/fall07/cos597D/Site/lectopics.html">Arora.
|
||
Thinking Like a Theorist. Princeton</a> - It covers a large number of
|
||
the math/CS topics that you need to know for reading and doing research
|
||
in Computer Science Theory.</li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/courses/archive/fall02/cs597D/">Arora.
|
||
A Theorist’s Toolkit. Princeton</a> - Aimed primarily at first and
|
||
second year graduate students who plan to do research in theoretical
|
||
computer science. We will introduce probabilistic, algebraic,
|
||
combinatorial, and algorithmic methods useful in proofs.</li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/18-409-topics-in-theoretical-computer-science-an-algorithmists-toolkit-fall-2009/">Kelner.
|
||
Topics in Theoretical Computer Science: An Algorithmist’s Toolkit.
|
||
MIT</a> - It covers a collection of geometric techniques that apply
|
||
broadly in modern algorithm design.</li>
|
||
<li><a
|
||
href="https://www.cs.purdue.edu/homes/hmaji/teaching/Spring%202023/CS-58500-Spring-2023.html">Maji
|
||
& Valiant. Theoretical Computer Science Toolkit. Purdue</a> ###
|
||
Books<a name=math_and_logic_tcs_toolkit_books></a></li>
|
||
<li><a
|
||
href="https://web.vu.lt/mif/s.jukna/EC_Book_2nd/index.html">Jukna.
|
||
Extremal Combinatorics</a> - Combinatorial techniques written largely
|
||
with an eye to their applications in TCS, and mostly in complexity ##
|
||
Discrete Mathematics<a name=math_and_logic_discrete_mathematics></a> ###
|
||
General<a name=math_and_logic_discrete_mathematics_general></a> ####
|
||
Lecture
|
||
Notes<a name=math_and_logic_discrete_mathematics_general_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://www.cs.yale.edu/homes/aspnes/classes/202/notes.pdf">Aspnes.
|
||
Notes on Discrete Mathematics</a> - Fall 2017 of the Yale course CPSC
|
||
202a, Mathematical Tools for Computer Science.</li>
|
||
<li><a
|
||
href="https://www.cs.cornell.edu/courses/cs2802/2020fa/cs2802-20f-notes.html">Halpern.
|
||
CS 2802: Discrete Structures - Honors. 2020. Cornell</a> - Honors
|
||
lecture notes on discrete math - <a
|
||
href="https://www.cs.cornell.edu/courses/cs2802/2020fa/cs2802-20f-homework.html">Homework</a>
|
||
####
|
||
Books<a name=math_and_logic_discrete_mathematics_general_books></a></li>
|
||
<li><a
|
||
href="https://www.taylorfrancis.com/books/handbook-discrete-combinatorial-mathematics-kenneth-rosen-douglas-shier-wayne-goddard/e/10.1201/9781315156484">Rosen.
|
||
Handbook of Discrete and Combinatorial Mathematics</a> - A complete
|
||
survey of roughly all topics of discrete math and their relevance to
|
||
computing and communication engineering.</li>
|
||
<li><a
|
||
href="https://www.mheducation.com/highered/product/discrete-mathematics-applications-rosen/M9780073383095.html">Rosen.
|
||
Discrete Mathematics and Its Applications</a> - A canonical discrete
|
||
math textbook, accessible for even high school students.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9783030583750">Rosenberg
|
||
& Trystram. Understand Mathematics, Understand Computing: Discrete
|
||
Mathematics That All Computing Students Should Know</a> - It endows the
|
||
reader with an operational conceptual and methodological understanding
|
||
of discrete mathematics for computing</li>
|
||
<li><a href="https://www.springer.com/gp/book/9780387941158">Gries &
|
||
Schneider. A Logical Approach to Discrete Math</a> - It attempts to
|
||
change the way we teach logic to beginning students. Instead of teaching
|
||
logic as a subject in isolation, we regard it as a basic tool and show
|
||
how to use it. ####
|
||
MOOC<a name=math_and_logic_discrete_mathematics_general_mooc></a></li>
|
||
<li><a
|
||
href="https://www.coursera.org/specializations/discrete-mathematics">Introduction
|
||
to Discrete Mathematics for Computer Science. UC San-Diego</a> - Learn
|
||
the language of Computer Science. Learn the math that defines computer
|
||
science, and practice applying it through mathematical proofs and Python
|
||
code. ### Probabilistic
|
||
Method<a name=math_and_logic_discrete_mathematics_probabilistic_method></a>
|
||
#### Lecture
|
||
Notes<a name=math_and_logic_discrete_mathematics_probabilistic_method_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/18-226-probabilistic-methods-in-combinatorics-fall-2022/pages/syllabus/">Yufei.
|
||
Probabilistic Methods in Combinatorics. MIT</a> and <a
|
||
href="https://yufeizhao.com/gtacbook/">Yufei’s Graph Theory book</a> -
|
||
Showing some combinatorial object exists and prove that a certain random
|
||
construction works with positive probability. The course focuses on
|
||
methodology as well as combinatorial applications. #### Lecture Videos
|
||
Playlist<a name=math_and_logic_discrete_mathematics_probabilistic_method_lecture_videos_playlist></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PL2BdWtDKMS6nRF72s3TOGyBqXwMVHYiLU">Luke
|
||
Postle. Probablistic Methods. Waterloo</a> ####
|
||
Books<a name=math_and_logic_discrete_mathematics_probabilistic_method_books></a></li>
|
||
<li><a
|
||
href="https://www.wiley.com/en-us/The+Probabilistic+Method%2C+4th+Edition-p-9781119061953">Alon
|
||
& Spencer. The Probabilistic Method</a> - A standard reference for
|
||
researchers in probabilistic methods in combinatorics. Shows also
|
||
connections to theoretical computer science. ### Graph
|
||
Theory<a name=math_and_logic_discrete_mathematics_graph_theory></a> ####
|
||
Lecture Videos
|
||
Playlist<a name=math_and_logic_discrete_mathematics_graph_theory_lecture_videos_playlist></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PL2BdWtDKMS6mplieDd_vls0TBX9Fq2jht">Graph
|
||
Theory by Waterloo</a> ###
|
||
Other<a name=math_and_logic_discrete_mathematics_other></a></li>
|
||
<li><a href="https://www.springer.com/gp/book/9783319030371">Mariconda
|
||
& Tonolo. Discrete Calculus: Methods for Counting</a> - An
|
||
introduction to combinatorics, finite calculus, formal series,
|
||
recurrences, and approximations of sums. Readers will find also deep
|
||
insights into a range of less common topics rarely considered within a
|
||
single book. ## Transition To Pure Rigour
|
||
Math<a name=math_and_logic_transition_to_pure_rigour_math></a></li>
|
||
<li>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. #
|
||
Physics<a name=physics></a> ## Lecture
|
||
Notes<a name=physics_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/courses/archive/spring11/cos116/lectures.php">Arora.
|
||
The Computational Universe</a> - 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<a name=physics_books></a></li>
|
||
<li><a
|
||
href="https://www.taylorfrancis.com/books/feynman-computation-anthony-hey/e/10.1201/9780429500459">Feynman.
|
||
Feynman And Computation: Exploring The Limits Of Computers</a></li>
|
||
<li>Feynman’s Course on Computation - See also Preskill’s update 40
|
||
years later <a href="https://arxiv.org/abs/2106.10522">here</a> ##
|
||
Monographs<a name=physics_monographs></a></li>
|
||
<li><a
|
||
href="https://link.springer.com/book/10.1007/978-3-030-45109-7">Susskind.
|
||
Three Lectures on Complexity and Black Holes</a> - Important connections
|
||
between thermodynamics and complexity are proposed and discussed.
|
||
Pedagogically written, serves as a fundamental introduction to black
|
||
holes and their complex physical interpretation #
|
||
Philosophy<a name=philosophy></a> ## Lecture
|
||
Notes<a name=philosophy_lecture_notes></a></li>
|
||
<li><a
|
||
href="https://stellar.mit.edu/S/course/6/fa11/6.893/index.html">6.893
|
||
Philosophy and Theoretical Computer Science. MIT</a> - It examines the
|
||
relevance of modern theoretical computer science to traditional
|
||
questions in philosophy, and conversely, what philosophy can contribute
|
||
to theoretical computer science. ##
|
||
Books<a name=philosophy_books></a></li>
|
||
<li><a
|
||
href="https://web.stanford.edu/group/cslipublications/cslipublications/site/1575863278.shtml">Knuth.
|
||
Things a Computer Scientist Rarely Talks About</a> - A general
|
||
illustration of relations between faith and science.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9783319532783">Floyd &
|
||
Bokulich. Philosophical Explorations of the Legacy of Alan Turing:
|
||
Turing 100</a> - Turing’s place in the history and philosophy of
|
||
science. ## Papers<a name=philosophy_papers></a></li>
|
||
<li><a href="https://www.scottaaronson.com/papers/philos.pdf">Aaronson.
|
||
Why Should Philosophers Care About Computational Complexity Theory</a> -
|
||
It argues that computational complexity theory leads to new perspectives
|
||
on the nature of mathematical knowledge and other philosophical
|
||
questions.</li>
|
||
<li><a
|
||
href="https://www.researchgate.net/publication/227171743_Is_Quantum_Mechanics_Falsifiable_A_computational_perspective_on_thefoundations_of_Quantum_Mechanics">Aharonov
|
||
& Vazirani, Is Quantum Mechanics Falsifiable? A Computational
|
||
Perspective on the Foundations of Quantum Mechanics</a> - It describes
|
||
how quantum mechanics can be tested in the limit of high complexity
|
||
regime by extending the usual scientific paradigm to include.</li>
|
||
<li><a
|
||
href="https://academic.oup.com/philmat/article/27/3/381/5613215">Walter
|
||
Dean. Computational Complexity Theory and the Philosophy of
|
||
Mathematics</a> - It highlights the significance of complexity theory
|
||
relative to questions traditionally asked by philosophers of mathematics
|
||
while also attempting to isolate some new ones.</li>
|
||
<li><a
|
||
href="https://plato.stanford.edu/entries/computational-complexity/">Stanford
|
||
Encyclopedia of Philosophy. Computational Complexity Theory</a> - The
|
||
foundations of complexity theory, and its potential significance on
|
||
philosophy of computer science, philosophy of mathematics and
|
||
epistemology.</li>
|
||
<li><a href="https://www.jstor.org/stable/40247755">Philip Davis. Toward
|
||
a Philosophy of Computation</a> - Philosophical implication of
|
||
mathematization and computerization of the world. # Surveys &
|
||
Monographs<a name=surveys__monographs></a></li>
|
||
<li><a
|
||
href="https://link.springer.com/book/10.1007/978-3-319-22156-4">Sommaruga
|
||
& Strahm. Turing’s Revolution: The Impact of His Ideas about
|
||
Computability</a> - A collection of historical, technical and
|
||
philosophical papers.</li>
|
||
<li><a
|
||
href="https://mitpress.mit.edu/9780262045308/ideas-that-created-the-future/">Harry
|
||
Lewis. Ideas That Created the Future: Classic Papers of Computer
|
||
Science</a> - Classic papers by thinkers ranging from Aristotle and
|
||
Leibniz to Norbert Wiener and Gordon Moore that chart the evolution of
|
||
computer science.</li>
|
||
<li><a
|
||
href="https://rd.springer.com/book/10.1007/978-3-540-85221-6">Building
|
||
Bridges I</a>, <a
|
||
href="https://link.springer.com/book/10.1007/978-3-662-59204-5">Building
|
||
Bridges II</a>, <a
|
||
href="https://link.springer.com/book/10.1007/978-3-642-13580-4">Fete of
|
||
Combinatorics and Computer Science</a> - Collected works in celebration
|
||
of Laszlo Lovasz, Connecting discrete math with computer science.</li>
|
||
<li><a
|
||
href="https://www.researchgate.net/profile/Lance-Fortnow/publication/220530495_A_Short_History_of_Computational_Complexity/links/0deec52bd7ab603fef000000/A-Short-History-of-Computational-Complexity.pdf">Fortnow
|
||
& Homer. A Short History of Computational Complexity</a> - A
|
||
historical overview of computational complexity.</li>
|
||
<li><a href="http://www.wisdom.weizmann.ac.il/~oded/sst.html">Goldreich.
|
||
Providing Sound Foundations for Cryptography: On the Work of Shafi
|
||
Goldwasser and Silvio Micali</a> - It explains the remarkable work of
|
||
Shafi and Silvio and their works’ implications on foundations of
|
||
cryptography. # Community<a name=community></a> ## Conferences &
|
||
Workshops<a name=community_conferences__workshops></a> ###
|
||
Aggregators<a name=community_conferences__workshops_aggregators></a></li>
|
||
<li><a
|
||
href="https://www.lix.polytechnique.fr/~hermann/conf.php">Hermann’s
|
||
Conferences in TCS</a> - TCS Conferences collected in one table.</li>
|
||
<li><a href="https://cstheory-events.org/">CS Theory Events
|
||
Aggregator</a> - An aggregator for CS theory workshops and schools.</li>
|
||
<li><a href="https://dmatheorynet.blogspot.com/">Theory
|
||
Announcements</a> - DMANET spreads information on conferences,
|
||
workshops, seminars etc. relating to discrete mathematics and
|
||
algorithms.</li>
|
||
<li><a href="https://cstheory.stackexchange.com/a/7901/57686">Salamon’s
|
||
List</a> - Selected Conferences. ###
|
||
Live<a name=community_conferences__workshops_live></a></li>
|
||
<li><a href="https://simons.berkeley.edu/">Simons’ Institute</a> -
|
||
Programs, Events, and workshops, that aim toward maximizing impact and
|
||
engagement across the theoretical computer science community.</li>
|
||
<li><a href="https://www.youtube.com/user/TCSplusSeminars">TCS+</a> - A
|
||
series of online seminars in theoretical computer science. The goal is
|
||
to make engaging talks accessible to the widest possible audience.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/channel/UCWFp4UWNiOv71j0sPbdNiqw">CMU
|
||
Theory</a> - 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<a name=community_conferences__workshops_archived></a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLn0nrSd4xjjYCkOxtYqozyDuwt-4sC2L6">Turing
|
||
Laureates Lectures</a> and <a
|
||
href="https://www.youtube.com/playlist?list=PLn0nrSd4xjjaSLBSzmno-3Ods6FJE9nlO">Turing
|
||
Laureates Interviews</a> - ACM Turing Award Laureates delivers a lecture
|
||
before a forum of their choice on a subject of their choice.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/channel/UCzBw287tly0c2lE6a-9XymA">Computational
|
||
Complexity</a> - Collection of workshops. ## Magazines &
|
||
Newsletter<a name=community_magazines__newsletter></a></li>
|
||
<li><a href="https://eatcs.org/index.php/on-line-issues">EATCS
|
||
Bulletin</a> - Surveys, tutorials, conferences reports, events, open
|
||
problems and solutions, PhD Theses, and entertaining contributions.</li>
|
||
<li><a href="https://dl.acm.org/loi/sigact">SIGACT News</a> - ACM’s
|
||
official theoretical computer science news feed.</li>
|
||
<li><a href="https://www.nowpublishers.com/TCS">Foundations and Trends
|
||
in Theoretical Computer Science</a> - 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.</li>
|
||
<li><a
|
||
href="https://www.quantamagazine.org/tag/computational-complexity">Quanta
|
||
Magazine</a> - Features breakthroughs in the field, written in an
|
||
accessible style for non-experts. ##
|
||
Associations<a name=community_associations></a></li>
|
||
<li><a href="https://sigact.org/">ACM’s SIGACT</a></li>
|
||
<li><a href="https://www.eatcs.org/">European Association of TCS</a> ##
|
||
Blogs<a name=community_blogs></a> ###
|
||
Aggregators<a name=community_blogs_aggregators></a></li>
|
||
<li><a href="https://theory.report/">Theory of Computing Blog
|
||
Aggregator</a> - A blog Aggregator for all blogs related to TCS. ###
|
||
Selected Posts and
|
||
Essays<a name=community_blogs_selected_posts_and_essays></a></li>
|
||
<li><a
|
||
href="https://omereingold.wordpress.com/cs-163-the-practice-of-theory-research/">Omer
|
||
Reingold. The Practice of Theory Research</a> - A research methods
|
||
course, concentrating on the how rather than the what. It focuses on
|
||
research practices common for computer science theory research.</li>
|
||
<li><a
|
||
href="https://theorydish.blog/2021/04/15/toc-a-personal-perspective-2021/">Omer
|
||
Reingold. TOC: a Personal Perspective (2021)</a> - 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.</li>
|
||
<li><a href="https://www.cs.cmu.edu/~mblum/research/pdf/grad.html">Blum.
|
||
You and Your Research: An Advice to a Beginning Graduate Student</a> -
|
||
Manuel Blum, A very popular figure in TCS, gives research advices for
|
||
juniors.</li>
|
||
<li><a
|
||
href="https://link.springer.com/chapter/10.1007%2F978-1-4612-5695-3_58">Dijkstra.
|
||
The Three Golden Rules for Successful Scientific Research</a> - A note
|
||
devoted to three rules that must be followed if you want to be
|
||
successful in scientific research.</li>
|
||
<li><a
|
||
href="http://www.wisdom.weizmann.ac.il/~oded/essays.html">Goldreich.
|
||
Essays and Opinions</a> - Personal Essays by Oded Goldreich. They are
|
||
very unique in their conceptual message of TCS and its community.</li>
|
||
<li><a
|
||
href="https://windowsontheory.org/2015/11/03/advice-for-the-budding-theorist/">Barak.
|
||
Advice for The Budding Theorist</a> - Tips for anyone interested in
|
||
theoretical computer science.</li>
|
||
<li><a href="https://thmatters.wordpress.com/surveys/">Barak. Surveys
|
||
For Students</a> - Surveys for high-school, undergraduate, and even
|
||
researchers.</li>
|
||
<li><a href="https://www.boazbarak.org/informal/">Barak. Non-technical
|
||
or Less-technical Writings and Talks</a> - Posts oriented more for a
|
||
less-technically matured audience.</li>
|
||
<li><a
|
||
href="https://rjlipton.wpcomstaging.com/2022/01/26/a-list-of-most-theory-blogs/">Lipton
|
||
& Regan</a> - A list of theory blogs for computer science.</li>
|
||
<li><a
|
||
href="https://www2.eecs.berkeley.edu/bears/CS_Anniversary/karp-talk.html">Karp.
|
||
A Personal View of Computer Science at Berkeley</a> - Karp addresses: In
|
||
1968 computer science at Berkeley was problematic, with two departments
|
||
working independently to develop programs, and his personal
|
||
reflections.</li>
|
||
<li><a
|
||
href="https://www.cs.virginia.edu/~robins/YouAndYourResearch.html">Hamming.
|
||
You and Your Research</a> - 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.</li>
|
||
<li><a href="https://www.nature.com/articles/426389a">Weinberg. Four
|
||
Golden Lessons</a> - Lessons for students and researchers given by
|
||
Steven Weinberg.</li>
|
||
<li><a
|
||
href="http://assets.press.princeton.edu/chapters/gowers/gowers_VIII_6.pdf">Princeton’s
|
||
Companion. Advice to a Young Mathematician</a> - 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.</li>
|
||
<li><a href="https://terrytao.wordpress.com/career-advice/">Terry.
|
||
Career Advice</a> - 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.</li>
|
||
<li><a
|
||
href="https://igorpak.wordpress.com/2022/10/26/how-to-start-a-paper/">Igor
|
||
Pak. How to Start a Paper</a> - Why should you introduce a conceptual
|
||
preliminary motivating the story of your paper. ##
|
||
Jobs<a name=community_jobs></a></li>
|
||
<li><a
|
||
href="https://www.cs.princeton.edu/~smattw/masters/masters.html">Rubinstein
|
||
& Weinberg. Research Masters in TCS</a> - A list of master programs
|
||
in TCS.</li>
|
||
<li><a href="https://cstheory-jobs.org">CS Theory Jobs</a> - TCS Jobs
|
||
announcements.</li>
|
||
<li><a href="http://grigory.us/blog/posts/">Yaroslavtsev. Hires
|
||
spreadsheet 2022</a> - A crowdsourced spreadsheet created to collect
|
||
information about theory hires in year 2022. ## Online
|
||
Communities<a name=community_online_communities></a></li>
|
||
<li><a href="https://cstheory.stackexchange.com/">TCS Stack Exchange</a>
|
||
- Research-oriented Q&A of theoretical computer science.</li>
|
||
<li><a href="https://www.reddit.com/r/theoreticalcs">TCS Subreddit</a>-
|
||
Theoretical computer science’s subreddit. # Other<a name=other></a> ##
|
||
Podcasts<a name=other_podcasts></a></li>
|
||
<li>Lex Fridman - <a
|
||
href="https://www.youtube.com/watch?v=2BdBfsXbST8">Donald Knuth 1</a> |
|
||
<a href="https://www.youtube.com/watch?v=EE1R8FYUJm0">Donald Knuth 2</a>
|
||
| <a href="https://www.youtube.com/watch?v=zNdhgOk4-fE">Silvio
|
||
Micali</a> | <a
|
||
href="https://www.youtube.com/watch?v=KllCrlfLuzs">Richard Karp</a> | <a
|
||
href="https://www.youtube.com/watch?v=uX5t8EivCaM">Scott Aaronson 1</a>
|
||
| <a href="https://www.youtube.com/watch?v=nAMjv0NAESM">Scott Aaronson
|
||
2</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLUFeA6y-5sFmXMJv2uAmMig3Urgfkg_2O">Berkeley
|
||
in the 80s</a> - Interviews with eminent figures in Berkeley.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLgKuh-lKre134Psz9KECgjuwJ47l3IvqW">Simons’
|
||
Theory Shorts</a> - Short accessible videos which populate theory of
|
||
computation.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLn0nrSd4xjjbCHzgtvc9HDRU80HHaD0Lr">ACM
|
||
ByteCast</a> - Researchers, practitioners and innovators who are at the
|
||
intersection of research and practice, sharing their experiences,
|
||
lessons, visions for the future. ## Popular
|
||
Science<a name=other_popular_science></a></li>
|
||
<li><a href="https://dl.acm.org/toc/xrds/2012/18/3">The Legacy of Alan
|
||
Turing: Pushing the Boundaries of Computation (Volume 18, Issue 3,
|
||
Spring 2012). ACM, XRDS</a> - ACM’s students magazine special issue for
|
||
theory of computation.</li>
|
||
<li><a href="https://goldenticket.fortnow.com">Fortnow. The Golden
|
||
Ticket: P, NP, and the Search for the Impossible</a> - A nontechnical
|
||
introduction to P-NP, its rich history, and its algorithmic implications
|
||
for everything we do with computers and beyond.</li>
|
||
<li><a
|
||
href="https://link.springer.com/book/10.1007/978-3-319-62680-2">Ausiello.
|
||
The Making of a New Science: A Personal Journey Through the Early Years
|
||
of Theoretical Computer Science</a> - A story about people, pioneers
|
||
with diverse backgrounds and characters who established a new
|
||
field.</li>
|
||
<li><a
|
||
href="https://assets.cambridge.org/97805211/99568/frontmatter/9780521199568_frontmatter.pdf">Aaronson.
|
||
Quantum Computing Since Democritus</a> - 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.</li>
|
||
<li><a
|
||
href="http://www.daviddeutsch.org.uk/books/the-fabric-of-reality/">Deutsch.
|
||
The Fabric of Reality: The Science of Parallel Universes and Its
|
||
Implications</a> - 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.</li>
|
||
<li><a
|
||
href="https://mitpress.mit.edu/books/turing-novel-about-computation">Papadimitriou.
|
||
Turing: A Novel About Computation</a> - The world of computation
|
||
according to Turing, an interactive tutoring program, as told to
|
||
star-crossed lovers: a novel.</li>
|
||
<li><a
|
||
href="https://link.springer.com/book/10.1007/978-3-662-05642-4">Teuscher.
|
||
Alan Turing: Life and Legacy of a Great. Springer</a> - Essays which
|
||
spans the entire rich spectrum of Turing’s life, research work and
|
||
legacy.</li>
|
||
<li><a href="http://www.charlespetzold.com/AnnotatedTuring/">Petzold.
|
||
The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper
|
||
on Computability and the Turing Machine</a> - A Guided Tour through Alan
|
||
Turing’s Historic Paper on Computability and the Turing Machine.</li>
|
||
<li><a href="https://www.springer.com/gp/book/9780387982694">Shasha
|
||
& Lazere. Out of their Minds: The Lives and Discoveries of 15 Great
|
||
Computer Scientists</a> - Interviews with era’s greatest scientists
|
||
about their inspirations, discoveries, and personal interests. ## Cheat
|
||
Sheets<a name=other_cheat_sheets></a></li>
|
||
<li><a
|
||
href="https://www.cosy.sbg.ac.at/~held/teaching/aads/TCS-cheat_sheet.pdf">TCS
|
||
Cheat Sheet</a> - A sheet of notes containing essential toolboxes needed
|
||
by any theoretical computer scientist.</li>
|
||
<li><a href="http://www.lkozma.net/inequalities_cheat_sheet/">Useful
|
||
Inequalities Cheat Sheet</a> # Related
|
||
Lists<a name=related_lists></a></li>
|
||
<li><a
|
||
href="https://github.com/tayllan/awesome-algorithms">Algorithms</a>.</li>
|
||
<li><a href="https://github.com/rossant/awesome-math">Mathematics</a> -
|
||
Freely available lecture notes on mathematics.</li>
|
||
<li><a href="https://ncatlab.org/nlab/show/mathematics">nLab</a> &
|
||
<a href="https://github.com/jozefg/learn-tt">Gratzer</a> - Logic, Math,
|
||
Proof Assistants, and Type Theory.</li>
|
||
<li><a
|
||
href="https://github.com/sobolevn/awesome-cryptography">Cryptography</a>.</li>
|
||
<li><a
|
||
href="https://github.com/desireevl/awesome-quantum-computing">Quantum
|
||
Computing</a>.</li>
|
||
<li><a href="https://github.com/ossu/math">Math</a> and <a
|
||
href="https://github.com/ossu/computer-science">CS</a> curricula by <a
|
||
href="https://github.com/ossu">Open Source Society University</a>.</li>
|
||
</ul>
|
||
<p><a
|
||
href="https://github.com/mostafatouny/awesome-theoretical-computer-science">theoreticalcomputerscience.md
|
||
Github</a></p>
|