Theoretical Computer Science (TCS) is a subset of computer science that focuses on the more abstract, mathematical aspects of computing. Its main purpose is to understand the nature of computation, to provide rigorous frameworks for designing and analyzing algorithms, and to determine the inherent limitations of efficient computation. Common sub-topics include algorithms and data structures, complexity theory, automata theory, cryptography, and other mathematical models of computation.
Theoretical Computer Science is a broad topic and courses of it have different prerequisites based on the specific topic. Common background requirements include Computer Programming, Probability Theory and Statistics, and Linear Algebra.
Carnegie Mellon University
Spring 2023
This course provides an initial dive into complexity theory, exploring computations bound by resources like time, space, and energy. Emphasis is placed on low complexity classes.
No concepts data
+ 29 more conceptsStanford University
Spring 2022
CS 168 provides a comprehensive introduction to modern algorithm concepts, covering hashing, dimension reduction, programming, gradient descent, and regression. It emphasizes both theoretical understanding and practical application, with each topic complemented by a mini-project. It's suitable for those who have taken CS107 and CS161.
No concepts data
+ 57 more conceptsStanford University
Fall 2019
This course emphasizes SAT and SMT technology and its applications, offering an understanding of theoretical foundations and how to implement a small theory solver. Applications of SAT/SMT technology in the context of verification are also covered. The advanced topics and lack of specified prerequisites suggest this is a high-level course.
No concepts data
+ 20 more conceptsUC Berkeley
Fall 2013
This course investigates the mathematical principles behind data and information analysis. It brings together concepts from statistics, optimization, and computer science, with a focus on large deviation inequalities, and convex analysis. It's tailored towards advanced graduate students who wish to incorporate these theories into their research.
No concepts data
+ 20 more conceptsUC Berkeley
Fall 2021
This course explores the role of randomness in computation and pseudorandomness, focusing on the applications in error-correcting codes, expander graphs, randomness extractors, and pseudo-random generators. The course will also address the question of derandomization of small-space computation. Prerequisites are unspecified, but the course content suggests a high level of expertise.
No concepts data
+ 26 more concepts