Semester 8


Course: Design and Analysis of Algorithms



Course Code: ΜΚ37
Course Level: Undergratuate
Obligatory/Elective: Obligatory
Semester: 8
Division: Division of Computers
Group: Main Course
ECTS Credits: 5
Hours Per Week: 4
Website: eclass.uowm.gr/courses/ICTE332/
Language: Greek
Content:

Analysis of Algorithms. Complexity of Algorithms. Asymptotic Analysis. Design of Algorithms. Recursive Algorithms. Master Theorem. Divide‐and‐Conquer Algorithms. Dynamic Programming. Greedy Algorithms. Probabilistic Algorithms. Graph and Network Algorithms. Computational Complexity. P and NP classes. NP‐completeness.

Learning Outcomes:

Upon successful completion of this course, students will: 

  • to perform analysis of algorithms
  • to study algorithms in terms of their complexity
  • to perform asymptotic analysis of algorithms
  • to design and implement recursive and greedy algorithms
  • to design and implement algorithms by applying the principles of dynamic programming,
  • to understand and apply algorithms for graphs and networks
  • to understand the P and NP classes
Pre-requirements:

-

Teaching Methods:

Lectures, labs

Validation:

Exercises (30%), Written final exams (100%)

Suggested Books:
  1. Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein, Εισαγωγή στους αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, Έκδοση: 1η/2016
  2. Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Αλγόριθμοι, Εκδόσεις Κλειδάριθμος, Έκδοση: 1η/2009
  3. Παναγιώτης Μποζάνης, Αλγόριθμοι, Εκδόσεις Τζιόλα, Έκδοση: 2η/2017
  4. Jon Kleinberg, Eva Tardos, Σχεδιασμός αλγορίθμων, Εκδόσεις Κλειδάριθμος, Έκδοση: 1η/2009
  5. Anany Levitin, Ανάλυση και σχεδίαση αλγορίθμων, Εκδόσεις Τζιόλα, Έκδοση: 3η/2018
  6. Κωνσταντίνος Παπαρρίζος, Ανάλυση και σχεδίαση αλγορίθμων, Εκδόσεις Τζιόλα, Έκδοση: 1η/2010
Lecturer: Ploskas Nikolaos