Professor: Panagiota Fatourou
Office: Κ223, Computer Science Department, Voutes Campus
Office Hours: Monday at 12:00 - 14:00
E-mail Address: rg.cou.dsc@urutaf
Telephone: +30 2810 393549
Lesson's e-mail address: rg.cou.dsc@b042yh

Teaching Schedule

Day Time Classroom
Monday 14:00 - 16:00 A 113
Wednesday 14:00 - 16:00 A 113

Assistive Lectures' Schedule

Day Time Classroom
Friday 16:00 - 18:00 A 113

Course Summary

The course focuses on the study of basic data structures, i.e. arrays, stacks, queues, lists, trees, etc., as well as on more complex data structures such as balanced trees, graphs and others. In addition, the technique of hashing will be taught, as well as data structures for the implementation of dynamic dictionaries, simple sets and sets with special operations. Selected topics on sorting and basic techniques of algorithm design will be also taught.

Learning Outcomes

  • Modeling a problem through proper abstraction.
  • Designing or choose the appropriate data structures for specific programming problems.
  • Programming in a modular way using data abstractions.
  • Implementing and evaluate different data structures.
  • Studying basic algorithmic techniques.
  • Studying formal proofs of correctness.


CS100 (Introduction in Computer Science) and CS150 (Programming) are prerequisite courses for this course. Successful completion of CS118 (Discreet Mathematics) will be also helpful. Students that have not succeeded on the courses mentioned above, do not have the required background to attend the course.