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