Discrete Mathematics II
Overview
1. Cardinality of Sets
2. Advanced Counting
- Recurrence Relations
- Generating Functions
- Inclusion-Exclusion
3. Relations
- Equivalence Relations
- Partial Orders
4. Graphs
- Graph Isomorphism
- Connectivity
- Paths and Circuits
- Planarity
- Colouring
5. Trees
- Tree Traversal
- Spanning Trees
6. (Optional) Algorithms and Complexity
- Worst Case and Average Case Time Complexity of an Algorithm
Lectures, problem sessions, tutorial sessions and assignments
Assessment will be carried out in accordance with ÁñÁ«ÊÓƵ Evaluation policy. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following:
Weekly quizzes | 0-40% |
Term tests | 20-70% |
Assignments | 0-20% |
Attendance | 0-5% |
Participation | 0-5% |
Tutorials | 0-10% |
Final exam | 30-40% |
Total | 100% |
Upon completion of this course, successful students will be able to:
- determine whether or not two sets have the same cardinality.
- determine whether a set is countable or uncountable.
- apply Cantor’s diagonalization argument to show that a set is uncountable.
- create a recurrence relation to model a problem.
- solve recurrence relations iteratively.
- solve linear homogeneous and nonhomogeneous recurrence relations with constant coefficients.
- apply the inclusion-exclusion principle to solve counting problems.
- solve counting problems related to the number of onto functions from one finite set to another.
- count the number of derangements of a given arrangement.
- derive the generating function determined by a sequence.
- describe the sequence represented by a generating function.
- use ordinary generating functions to solve counting problems.
- use a generating function to solve a recurrence relation.
- determine if a relation is an equivalence relation.
- determine the equivalence classes of an equivalence relation.
- describe the relationship between partitions and equivalence classes.
- use Stirling numbers of the second kind to count the number of partitions of a set of n elements.
- determine if a relation is a partial order.
- determine if a partial order is a total order, lexicographic order, or a lattice.
- identify maximal and minimal elements, greatest and least elements of a partial order, and when a partial order is bounded.
- draw a Hasse diagram of a poset.
- describe properties of a graph using the vocabulary of graph theory.
- represent a graph using adjacency and incidence matrices.
- determine whether or not a pair of graphs are isomorphic.
- use operations on graphs to create new graphs.
- find different paths or circuits of a graph.
- describe the connectivity of a graph.
- determine whether or not a graph has an Euler or Hamilton path or circuit.
- model and solve problems with a graph.
- use Dijkstra’s algorithm to find the shortest path between pairs of vertices in a weighted graph.
- find a planar rendering of a planar graph.
- use Euler's formula to find conditions of planarity.
- use Kuratowski's theorem to determine when a graph is not planar.
- find the chromatic number of a graph.
- solve scheduling/conflict problems using graph colouring.
- use the terminology of trees to describe their properties.
- model a problem using a decision tree.
- construct a binary tree to represent a given prefix system.
- apply Huffman coding to construct an optimal prefix code to encrypt and decrypt strings of characters.
- find the representation of a tree traversal using preorder, inorder and postorder forms.
- use a binary tree to represent and evaluate an expression in prefix, postfix or infix notation.
- use a depth-first or breadth-first search to produce a spanning tree.
- use Prim’s and Kruskal’s algorithm to construct a minimum spanning tree for a weighted graph.
Optional topics:
- compare the time complexity of recursive and iterative algorithms that solve a problem.
- form a binary search tree using a recursive algorithm and analyze the algorithm.
- use a loop invariant to prove that a program segment is correct.
- describe an algorithm that generates the permutations of a set.
- determine a big-O estimate of divide-and-conquer recurrence algorithms.
- describe the average and worst-case complexity of algorithms.
Consult the ÁñÁ«ÊÓƵ Bookstore for the latest required textbooks and materials. Example textbooks and materials may include:
Rosen, H.R., Discrete Mathematics and Its Applications, current edition, McGraw Hill.
Grimaldi, R.P, Discrete and Combinatorial Mathematics: An Applied Introduction, current edition, Pearson.
Requisites
Course Guidelines
Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester / year of the course, consider the previous version as the applicable version.
Course Transfers
These are for current course guidelines only. For a full list of archived courses please see
Institution | Transfer Details for MATH 2230 |
---|---|
Alexander College (ALEX) | ALEX CPSC 215 (3) |
Coquitlam College (COQU) | COQU MACM 201 (3) |
Kwantlen Polytechnic University (KPU) | KPU MATH 1XXX (3) |
Langara College (LANG) | LANG CPSC 2XXX (3) |
Simon Fraser University (SFU) | SFU MACM 201 (3) |
Thompson Rivers University (TRU) | TRU MATH 2220 (3) |
Trinity Western University (TWU) | TWU MATH 340 (3) |
University of British Columbia - Okanagan (UBCO) | UBCO COSC_O 2nd (3) |
University of British Columbia - Vancouver (UBCV) | UBCV CPSC_V 2nd (3) |
University of Northern BC (UNBC) | UNBC CPSC 242 (3) |
University of the Fraser Valley (UFV) | UFV MATH 225 (3) |
University of Victoria (UVIC) | UVIC MATH 222 (1.5) |
Vancouver Community College (VCC) | VCC MATH 2120 (3) |
Course Offerings
Winter 2025
CRN | Days | Instructor | Status | More details |
---|---|---|---|---|
CRN
15620
|
Tue Thu | Instructor Last Name
Henschell
Instructor First Name
Dan
|
Course Status
Open
|
MATH 2230 001 - Students must also register in one of MATH 2230 T01 or T02