## Discrete Structures Syllabus

**General Information**

Course | B.SC. CSIT |
---|---|

Course Title | Discrete Structures |

Course No | CSC165 |

Nature of the course | Theory + Lab |

Semester | II (Second) |

Full Marks | 60 + 20 + 20 |

Pass Marks | 24 + 8 + 8 |

Credit Hrs. | 3 |

**CHAPTER LIST: ****Discrete Structures**

S.N. | Chapter | Time |
---|---|---|

Unit 1 | Basic Discrete Structures | 7 Hrs |

Unit 2 | Integers and Matrices | 6 Hrs |

Unit 3 | Logic and Proof Methods | 6 Hrs |

Unit 4 | Induction and Recursion | 5 Hrs |

Unit 5 | Counting and Discrete Probability | 9 Hrs |

Unit 6 | Relations and Graphs | 12 Hrs |

**Course Description:** The course covers fundamental concepts of discrete structure like

introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.

**Course Objectives:** The main objective of the course is to introduce basic discrete structures, explore applications of discrete structures in computer science, understand concepts of Counting, Probability, Relations and Graphs respectively.

**Course Contents:**

**Unit 1: Basic Discrete Structures **

**Course Duration: (7 Hrs.)**

1.1. Sets: Sets and Subsets, Power Set, Cartesian Product, Set Operations, Venn Diagram, Inclusion-Exclusion Principle, Computer Representation of Sets

1.2. Functions: Basic Concept, Injective and Bijective Functions, Inverse and Composite Functions, Graph of Functions, Functions for Computer Science (Ceiling Function, Floor Function, Boolean Function, Exponential Function), Fuzzy Sets and Membership Functions, Fuzzy Set Operations

1.3. Sequences and Summations: Basic Concept of Sequences, Geometric and Arithmetic Progression, Single and Double Summation

**Unit 2: Integers and Matrices**

**Course Duration: ****(6 Hrs.)**

2.1. Integers: Integers and Division, Primes and Greatest Common Divisor, Extended Euclidean Algorithm, Integers and Algorithms, Applications of Number Theory (Linear Congruencies, Chinese Remainder Theorem, Computer Arithmetic with Large Integers)

2.2. Matrices: Zero-One Matrices, Boolean Matrix Operations

**Unit 3: Logic and Proof Methods**

**Course Duration: ****(6 Hrs.)**

3.1. Logic: Propositional Logic, Propositional Equivalences, Predicates and Quantifiers, Negation of Quantified Statements, Proof of quantified statements, Nested Quantifiers, Rules of Inferences

3.2. Proof Methods: Basic Terminologies, Proof Methods (Direct Proof, Indirect Proof, Proof by Contradiction, Proof By Contraposition, Exhaustive Proofs and Proof by Cases), Mistakes in Proof

**Unit 4: Induction and Recursion**

**Course Duration: ****(5 Hrs.)**

4.1. Induction: mathematical Induction, Strong Induction and Well Ordering, Induction in General

4.2. Recursive Definitions and Structural Induction, Recursive Algorithms, Proving Correctness of Recursive Algorithms

**Unit 5: Counting and Discrete Probability**

**Course Duration: ****(9 Hrs.)**

5.1. Counting: Basics of Counting, Pigeonhole Principle, Permutations and Combinations, Two Element Subsets, Counting Subsets of a Set, Binomial Coefficients, Generalized Permutations and Combinations, Generating Permutations and Combinations

5.2. Discrete Probability: Introduction to Discrete Probability, Probability Theory, Probability Calculation in Hashing, Expected Value and Variance, Randomized Algorithms

5.3. Advanced Counting: Recurrence Relations, Solving Recurrence Relations (Homogeneous and Non-Homogeneous equations), Introduction to Divide and Conquer Recurrence Relations

**Unit 6: Relations and Graphs**

**Course Duration: ****(12 Hrs.)**

6.1. Relations: Relations and their Properties, N-ary Relations with Applications, Representing Relations, Closure of Relations, Equivalence Relations, Partial Ordering

6.2. Graphs: Graphs Basics, Graph Types, Graph Models, Graph Representation, Graph Isomorphism, Connectivity in Graphs, Euler and Hamiltonian Path and Circuits, Matching Theory, Shortest Path Algorithm (Dijkstra’s Algorithm), Travelling Salesman Problem, Graph Coloring

6.3. Trees: Introduction and Applications, Tree Traversals, Spanning Trees, Minimum Spanning Trees (Kruskal’s Algorithm)

6.4. Network Flows: Graph as Models of Flow of Comodities, Flows, Maximal Flows and Minimal Cuts, The Max Flow-Min Cut Theorem

## Laboratory Works:

The laboratory work consists of implementing the algorithms and concepts discussed in the class.

Student should implement problems with following concepts:

- Set Operations and Boolean Matrix Operations
- Primility Testing, Number Theory Algorithms, and Operations on Integers
- Counting and Some Recursive Algorithms
- Algorithms for Relations, Graphs

## Discrete Structure Books

Text Books:

1. Kenneth H. Rosen, Discrete mathematics and its applications, Seventh Edition McGraw

Hill Publication, 2012.

2. Bernard Kolman, Robert Busby, Sharon C. Ross, Discrete Mathematical Structures, Sixth

Edition Pearson Publications, 2015

3. Joe L Mott, Abraham Kandel, Theodore P Baker, Discrete Mathematics for Computer

Scientists and Mathematicians, Printice Hall of India, Second Edition, 2008

Reference Books:

1. Ken Bogart, Scot Drysdale, Cliff Stein, Discrete Mathematics for Computer Scientists,

First Edition Addison-Wesley, 2010