Overview of the material of the course
We will be covering portions of the following chapters:
- Chapter 1: Logic
- strip away meaning in order to concentrate on form
- translate English into the symbolism of logic (formalize
what is often left imprecise)
- logical reasoning cannot help but stand you in good stead
- Chapter 2: Proofs, Recursion, and Analysis of Algorithms
- Direct versus indirect proofs, especially for proving
logical arguments (from chapter 1).
- Mathematical induction, leading to recursion
- Determining the quality of algorithms, by recursion.
- Chapter 3: Sets
- Elementary aspects of set theory
- Counting elements of sets: why some infinities are bigger
than others.
- The similarity between logic and set theory will be more
apparent later
- Chapter 5: Graphs and Trees
- Graphs and Trees capture information in many different
contexts (e.g. a family tree, a unix file system)
- How can we manipulate information stored in a graph?
- Chapter 6: Graph algorithms
- shortest path, minimal spanning tree, etc.
- Constructing optimal graphs
- Chapter 7: Boolean Algebras and Computer Logic
- Operations in logic and set theory are specific cases of
Boolean Algebras
- There is a nice correspondence between boolean
expressions, truth functions (or tables), and logic
networks (which carry out logical functions for
technological applications)
- We simplify, or optimize, logic networks
- Binary arithmetic is a particular special application of
this section
- Chapter 8: Finite State Machines
- Regular expressions
- We build machines that recognize expressions (strings of
characters), and optimize the machines.