What are you going to learn?
Content
Apply the properties of relations, functions, and sequences to complete operations on discrete structures such as sets, functions, relations, and sequences. Verify the correctness of an argument using propositional logic, predicate logic, and truth tables. Construct mathematical proofs using counter-examples, direct proofs, proof by contrapositive, proof by contradiction, case analysis, and mathematical induction. Evaluate Boolean functions and simplify expressions using the properties of Boolean algebra. Apply counting techniques and combinatorics to determine discrete probability. Model relationships using graphs and trees. Model using graphs, directed graphs and trees, basic concepts, properties and definitions. Combinations, permutations. Model computer systems using FSM.
Chapter 1. Logic
Statements and logical Connectives. Truth Tables
Predicates Logics and Quantifiers
Proof Techniques
Introduction. Notation
Operations
Denumerability
Chapter 2. Sets
Chapter 3. Relations and Functions
Binary Relations
Ordering
Functions
Chapter 4. Combinatorics
Counting Principles
Sampling and Selecting
Permutations and Combinations
Chapter 5. Graphs
Introduction
Graphs Terminology
Directed and Undirected Graphs
Trees
Digraphs and Connectivity Problems
Chapter 6. Boolean Algebra and Computer Logic
Introduction
Logic Circuits. Gates
Combinational Circuits
Karnaugh Maps
Chapter 7. Algebraic Structures
Definition
Smigroups, Monoids
Groups
Applications to Error Correcting Codes
Chapter 8. Finite State Machines (FSM)
Definition
State Tables and Graphs
FSM as Transducers and Recognizers
Discussion of Limitations of FSM
Introduction to Formal Languages
Bibliography
Gersting, J L. Mathematical Structures for Computers Science. 7th ed. W. H. Freeman and Company, 2014.
Rosen, K. Discrete Mathematics and its Applications. 7th. Ed. McGraw-Hill, 2007.