Course Learning Outcomes
- Use the Pigeonhole principle to solve some existence problems in combinatorics.
- Identify the difference between existence, counting, and optimization problems.
- Identify the difference between combinations and arrangements.
- Solve an enumeration problem using generating functions.
- Analyze the steps of a procedure by using recurrence relations.
- Solve the routing problems using graph theory.
- Develop a binary search tree to solve a discrete optimization problem.