Course Description
Introduction to analysis of finite collections and mathematical foundations of sequential machines, computer system design, data structures, and algorithms. Includes sets and logic, subscripts, arrays, number systems, counting, recursion, graph theory, trees, nets, and Boolean algebra.
Prerequisite(s)
MATH 1814 with a grade of C or better or appropriate assessment score
IAI Number
CS-915
M1-905
IAI Title
Discrete Structures
Discrete Mathematics
Topical Outline
- First Examples of Puzzles and Patterns
- Number Puzzles and Sequences
- Truth-Tellers, Liars, and Propositional Logic
- Predicates
- Implications
- Validity of Arguments
- Mathematical Writing
- Proofs about Numbers
- Mathematical Induction
- Contradiction and the Pigeonhole Principle
- Representation of Numbers
- Set Definitions and Operations
- More Operations on Sets
- Proving Set Properties
- Boolean Algebra
- Logic Circuits
- Introduction to Combinatorics
- Basic Rules for Counting
- Combinations and the Binomial Theorem
- Binary Sequences
- Recursive Counting
- Solving Recurrence Relations
- Introduction to Probability
- Sum and Product Rules for Probability
- Probability in Games of Chance
- Expected Value in Games of Chance
- Graph Theory
- Isomorphism and Planarity
- Graphs in Puzzles and Games
- Binary Trees
- Hamilton Cycles and the TSP
At the end of this course, students will be able to:
- Apply classical problem-solving strategies in varying circumstances
- Use mathematical theory of discrete systems as it applies to computer programming
- Manipulate sets, sequences, and matrices and perform corresponding operations
- Solve basic counting and probability problems
- Apply various methods of proof (including induction)
- Solve problems using recursive and explicit algorithms
- Identify the costs and benefits of recursion
- Represent the concept of relations in various ways (matrix, ordered pairs, digraphs)
- Apply the concept of function growth to compute and compare the complexity of simple algorithms
- Apply several classical algorithms related to applications of trees and graphs