Search for contacts, projects,
courses and publications

Algorithms & Data Structures 2

Description

COURSE OBJECTIVES

Algorithms and data structures are fundamental to computer science; the performance of any software system depends on the efficiency and correctness of the underlying algorithms and data structures. This course will extend the students' knowledge on fundamental algorithms by considering basic and more advanced topics. It will also strengthen the students' ability to design correct and efficient algorithms on their own.

 

COURSE DESCRIPTION
The course covers a variety of topics on algorithms and data structures building upon the material of the first year course “Algorithms and Data Structures”. The course will extend the students' knowledge on fundamental algorithms by focusing on several important topics such as data structures for disjoint sets and union-find, interval trees, graph algorithms such as shortest paths, dynamic programming, max-flow/min-cut, introduction to NP completeness. LEARNING METHODS Lectures, exercise labs, homework sets on algorithmic problem solving

 

EXAMINATION INFORMATION
The course grade is determined by the results of homework assignments, a midterm exam, and a final exam.

 

PREREQUISITES
Algorithms & Data Structures, Discrete Structures

 

REFERENCES

  • Introduction to Algorithms, 3rd edition, by T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, MIT Press, 2009.

People

 

Papadopoulou E.

Course director

Mantas I.

Assistant

Additional information

Semester
Fall
Academic year
2020-2021
ECTS
3
Language
English
Education
Bachelor of Science in Informatics, Elective course, Lecture, 3rd year