University of Information Technology

Discrete Structure II

Course Description

This course includes Discrete Structure II. Discrete structure is the largest portion of core knowledge for computer science students. The purpose of this course is to provide the mathematical foundation for computer science courses such as algorithms, automata theory and formal languages, compiler design, and cryptography. This course generally covers the topics: graph theory, number theory, and complexity of algorithms.

This course is designed in the part of Calculus to develop the topics of vector geometry, complex number, integral calculus, differential equations and mathematical models. Upon completion, students should be able to select and use appropriate models and techniques for finding solutions to derivative-related problems with and without technology.

Intended Learning Outcomes (ILO)

After taking this course, the student should be able to

  • Understand the basics of discrete probability and apply in problem solving
  • Understand and apply advanced counting techniques to the representation and characterization of relational concepts.
  • Use the inclusion-exclusion principle for set analysis.
  • Identify n-ary relationships and primary keys.
  • Use projection and join operators.
  • Compute reflexive, symmetric, and transitive closures.
  • Determine equivalence relations.
  • Determine the equivalence classes of an equivalence relation;
  • Develop an understanding of how graph and tree concepts are used to solve problems arising in the computer science.

Text and References Books


  1. Discrete Mathematics and Its Applications, 7th Edition, Kenneth Rosen.


  1. Discrete Mathematics for Computing, Grassroots Sertes, 2nd Edition, Peter Grossman.
  2. Discrete Mathematics with applications, 4th Edition, Susanna. S.Epp.

Assessment System

Evaluation Marks Percentage
Class Participation 10 Marks 10%
Tutorial 10 Marks 10%
Assignments 10 Marks 10%
Final Examination 70 Marks 70%