Course overview
This course will develop student understanding of aspects of discrete mathematics relevant to computer science and related disciplines, including the following. Logic: propositions, truth tables, quantifiers, theorem and proof. Number systems. Sets, relations, functions. Induction. Algorithms, time complexity, analysis. Counting, permutations and combinations. Graphs, paths and cycles. Boolean algebra, circuit synthesis.
Course learning outcomes
- Find numbers of combinations and permutations of objects
- Understand Boolean algebra and the number systems used in computers
- Verify general formulae using induction
- Use combinatorial techniques to analyse algorithms and graphs
- Differentiate between polynomial and exponential time complexity of algorithms
- Understand processes involving graphs
- Effectively communicate conclusions from the application of discrete mathematical methods