SylabUZ

Generate PDF for this page

Graphs and networks in computer science - course description

General information
Course name Graphs and networks in computer science
Course ID 11.9-WE-INFD-GaNiCS-Er
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies Second-cycle Erasmus programme
Beginning semester winter term 2021/2022
Course information
Semester 1
ECTS credits to win 5
Course type obligatory
Teaching language english
Author of syllabus
  • dr inż. Grzegorz Łabiak
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 30 2 - - Credit with grade
Laboratory 30 2 - - Credit with grade

Aim of the course

  • Skills and competencies in the area of the basic notions of the graph theory and the most important (especially for applications in the computer science) graph algorithms
  • Skills of applying the graph algorithms to solving the real life problems and software implementation of the graph algorithms
  • Competencies in the area of Petri nets as a model of concurrent processes

Prerequisites

  • Principles of programming
  • Theoretical foundations of computer science

Scope

Introduction to the graph theory. History of the area. Applications of the graph theory in computer science and software.

Directed and undirected graphs. Examples, definitions of the main notions of the graph theory. Important classes of graphs.

Ways of representing of the graphs in data structures - matrices and lists.

The main graph search algorithms: BFS, DFS. Selected applications of the graph search algorithms (topological sorting, finding the strongly connected components).

Eulerian paths, conditions of existence, methods of finding. Hamiltonian paths, conditions of existence. Applications.

Program evaluation and review technique, critical path method.

Minimal spanning trees, application, algorithms of constructing.

Shortest paths in the graphs (Dijkstra's, Bellman-Ford, Floyd-Warshall algorithms).

Maksimum flow in the flow networks, Ford–Fulkerson algorithm.

Graph coloring and its applications. Greedy algorithms of graph coloring.

Computational complexity of the graph algorithms. NP-hard graph problems, travelling salesman problem as an example. Heuristic and approximation algorithms for the NP-hard problems.

Binary decision diagrams: BDD, ROBDD, other modifications. BDD as an effcient way of representing the Boolean functions.

Elements of the Petri net theory: main notions, behavioral properties, methods of analysis, main applications.

Teaching methods

Lecture: conventional lecture, discussions, presenting of the selected algorithms by the students
Laboratory: computer laboratory exercises

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Lecture – the passing condition is to obtain a positive mark from the final test.

Laboratory – the passing condition is to obtain positive marks from all laboratory exercises to be planned during the semester.

Calculation of the final grade: lecture 60% + laboratory 40%

Recommended reading

  1. Robin Wilson: Introduction to graph theory. Pearson Education Limited, 1996 (or other editions).
  2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Introduction to Algorithms. MIT Press and McGraw-Hill, 1990 (or other editions).
  3. Marek Kubale (Ed.), Graph Colorings. American Mathematical Soc., 2004

Further reading

  1. Narsing Deo: Graph Theory with Application to Engineering and Computer Science, Prentice-Hall, Englewood Cliffs, N.J., 1974
  2. Reinhard Diestel: Graph theory. Electronic edition, Springer Verlag New York, 2000.
  3. Wolfgang Reisig: A Primer in Petri Net Design. Springer-Verlag, 1992.

Notes


Modified by dr inż. Grzegorz Łabiak (last modification: 12-09-2021 21:32)