Skip to main content

(CS 206) Discrete Mathematics II

Continuation of discrete mathematics concepts with a focus on advanced proof techniques, predicate logic, algorithm complexity, graphs, trees, and fundamental data structures (arrays, linked lists, stacks, queues, and deques).

Credit hours 3.0 lecture
Prerequisites CS 202 and CS 205 both w/ B- or better
Offered Winter, spring
Programs Computer Science (BS), Computer Science Minor

Course Learning Outcomes

  1. Understand and apply predicate logic notation and complete proofs using predicate logic.
  2. Identify recursive algorithms that have closed-form solutions and derive those solutions.
  3. Analyze algorithmic complexity using Big O notation.
  4. Apply the binomial theorem in relevant mathematical contexts.
  5. Understand the relationship between functions in mathematics and in programming.
  6. Identify and classify different types of functions and relations.
  7. Utilize standard mathematical functions as implemented in common programming languages.
  8. Represent functions using ordered-pair, array, and cycle notation.
  9. Compute the reachability matrix for directed graphs and implement graphs in programming languages.
  10. Explore the connections between set theory and formal logic.
  11. Differentiate between arrays and linked lists, and implement fundamental data structures such as stacks and queues.
  12. Understand and apply bitwise operators available in common programming languages.
  13. Solve problems related to trees and graph theory in computer science contexts.