Discrete Mathematics and Graph Theory course aims to provide students with fundamental mathematical knowledge and analytical skills essential for computer science and information technology.
The course equips students with core concepts of propositional and predicate logic, relations, Boolean algebra, and graph theory, enabling them to analyze problems logically and apply mathematical reasoning to algorithm design and practical computing applications.
By completing this course, students gain a solid theoretical foundation for advanced subjects such as data structures, algorithms, artificial intelligence, and computer networks.

Course Contents

 Part I: Discrete Mathematics

1.  Logical Foundations
Propositional logic, predicate logic, logical inference, and methods of proof.

  1. Relations and Ordered Structures
    Relations, equivalence relations, partial orders, Hasse diagrams, and lattices.
  2. Boolean Algebra
    Boolean algebra, Boolean functions, logic circuits, and Karnaugh map simplification.

Part II: Graph Theory

  1. Introduction to Graph Theory
    Basic concepts of graphs, graph representations, and applications of graph theory in computing.
  2. Graph Traversal and Search, Breadth-first search (BFS), depth-first search (DFS), connectivity, and path-finding algorithms.
  3. Trees and Spanning Trees
    Properties of trees, minimum spanning trees, and algorithms such as Prim’s and Kruskal’s.
  4. Shortest Path Problems
    Shortest path models and algorithms including Dijkstra, Bellman–Ford, and Floyd–Warshall.

Course Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Identify and classify fundamental problems in digital image processing and propose suitable solutions.
  • Implement and evaluate algorithms for basic digital image processing tasks.
  • Analyze image processing problems systematically from both theoretical and practical perspectives.
  • Read and understand technical documentation in English related to digital image processing.
  • Formulate ideas, define requirements, and model solutions for basic digital image processing applications.
  • Design, implement, and develop software systems for digital image processing problems.
  • Work effectively in teams during laboratory work and project-based assignments.