3 credits
Fall 2025 Lecture Lower DivisionThis course introduces discrete mathematical structures and finite-state machines. Students will learn how to use logical and mathematical formalisms to formulate and solve problems in computer engineering. Topics include formal logic, proof techniques, recurrence relations, sets, combinatorics, relations, functions, algebraic structures, and finite-state machines.
Learning Outcomes1Define, reason about, and operate on sets using basic set operations and Recursive definition. [1,7]
2Represent and verify entailment arguments in predicate logic, both syntactically and semantically. [1,3,7]
3Argue carefully using a variety of informal proof techniques, including mathematical induction. [1,3,7]
4Count in a wide range of settings including permutations, combinations, countable infinities, and recurrence equations. [1,7]
5Define and reason about functions and binary relations and work with their useful properties. [1]
6Have an ability to define finite-state automata and regular expressions for languages, and relate these formalisms using non-determinism. [1,7]
7Formulate algorithmic problems as decision problems and reason about their decidability and scalable solvability. [1,7]