**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.

. 7th ed. W. H. Freeman and Company, 2014.*Mathematical Structures for Computers Science*Rosen, K.

. 7th. Ed. McGraw-Hill, 2007.*Discrete Mathematics and its Applications*