Learning Objectives -- Mat385

By the end of this course, students should be able to:
  1. Basic logic:
    1. Apply formal methods of symbolic propositional and predicate logic.
    2. Describe how formal tools of symbolic logic are used to model algorithms and real-life situations.
    3. Use formal logic proofs and logical reasoning to solve problems such as puzzles.
    4. Describe the importance and limitations of predicate logic.
  2. Sets:
    1. explain basic aspects of sets (elements, subsets, etc.)
    2. understand equivalence relations and how to apply them
    3. develop the link between logic and set theory (abstracted in the notion of a Boolean algebra)
  3. Proof techniques:
    1. Outline the basic structure and examples of each proof technique described in this unit.
    2. Discuss/discover which type of proof is best for a given problem.
    3. Relate the ideas of mathematical induction to recursion and recursively defined structures.
    4. Identify the differences among weak and strong induction and give examples of the appropriate use of each.
  4. Basics of counting:
    1. Understand different classes of numbers, and transfinite numbers (infinities), as well as contexts for their usefulness
    2. Solve (in closed form) a variety of basic recurrence equations.
    3. Analyze a problem to create relevant recurrence equations or to identify important counting questions.
  5. Graphs and trees:
    1. Illustrate by example the basic terminology of graph theory, and some of the properties and special cases of each.
    2. Demonstrate different traversal methods for trees and graphs.
    3. Model problems in computer science using graphs and trees.
    4. Relate graphs and trees to data structures, algorithms, and counting.
  6. Optimization:
    1. Understand the importance of optimization -- the cost of sub-optimal behavior, in different contexts (e.g. algorithms, graph traversal)
    2. Understand how an algorithm can be optimal in one context, whereas in others it becomes sub-optimal.
    3. Practice optimization in the realm of finite-state machines

Website maintained by Andy Long. Comments appreciated.