Discrete Structures

Welcome to Discrete Structures for Computer Science



Discrete mathematics introduces you to the essential discrete structures used in Computer Science and how they are applied to your programs.

The various topics include: counting methods, elementary formal logic, set theory, recursive programming, digital logic and combinational circuits, real number representation, regular expressions, and finite automata.

Topics Covered

  • Sets and relations: sets, sequences and strings, relations, functions
  • Common numerical sets, representation of real numbers (bias, mantissa and negative numbers)
  •  Logic and proofs: propositions, conditional propositions and logical equivalence, quantifiers, proofs, mathematical induction
  • Recursive programs: problem solving with well-structured recursive functions, recursive procedures, implementation and efficiency of recursive algorithms
  • Digital logic: Boolean algebra, logic gates and combinatorial circuits, circuit design methodology, reduction to nor/nand gates, circuit minimization, Karnaugh maps including don’t care
  •  Languages: generation vs. recognition, regular expressions, finite-state machines
  • Counting methods: basic principles, permutations and combinations, the pigeonhole principle

Course Format

This class is in-person.