CS 2800
Mathematical Foundations of Computing
Covers the mathematics that underlies most of computer science. Topics include mathematical induction; logical reasoning and proof techniques; propositional and predicate logic; sets, functions, and relations; graphs; combinatorics and discrete mathematics; basic probability theory; and finite-state machines. These topics are discussed in the context of applications to many areas of computer science.
Topics
- Use logical notation to define and reason about statements expressed in informal language.
- Write mathematical proofs using clear and precise reasoning; recognize when to use various proof techniques; find errors in faulty proofs.
- Precisely state induction hypotheses and write inductive proofs; write and use inductive definitions.
- Reason about fundamental mathematical concepts such as sets, functions, relations, graphs and their properties.| Apply combinatorial reasoning to solve counting problems arising in real-world applications; use the pigeonhole principle to prove statements.
- Use probability concepts and notation such as conditional probability, Bayes rule, random variables, and tail bounds to model and analyze real-world applications; compute associated quantitaties such as probabilities, expectations, variance, covariance, and correlation.
- Prove properties of regular languages and automata; design automata and regular expressions accepting or denoting a certain regular language; prove that a language is not regular.
Official roster learning outcomes
Prerequisites & course information
MATH 1110; CS 1110 or CS 1112; or equivalents.
Sources
Catalogue variants
- Mathematical Foundations of Computing · 4.0 · Undergraduate