Upon successful course completion the students are expected to:
1. Be familiar with the bascis concepts needed for the analysis of algorithms.
2. Be able to appply basic techniques for solving recursive relations that appear in the design of algorithms
3. Fully comprehend well-known algorithms and data structures
4. Understand the complexity of various approaches at various domains
5. Analyze the asymptotic performance of algorithms
6. Apply basic algorithm design principles
Course Content (Syllabus)
The course discusses the analysis and design of algorithms and data structures not from a programming, rather an analytic perspective. Topics discussed within the context of the course focus on the evaluation of performance of algorithms, as well as on the comparison of algorithms with respect to their time and space requirements. Identification and description of the theoretical, as well as practical boundaries of algorithms are discussed through an analytical methodology.
Topics covered within the context of the course: concepts and tools for the analysis of algorithms, asymptotic order of function growth, recursive relations, probabilistic analysis and randomized algorithms, dynamic programming, greedy algorithms, amortized analysis, advanced topics in analysis and design of algorithms.
Algorithms, Analysis, Design, Complexity
e-THMMY, a blackboard-like system has been developed by the ECE department and is customized to the needs of the ECE courses. e-THMMY allows instructors to post anouncements, communicate with students, upload lectures, exercises and their solutions, set up and run course projects, while it also offers self-assessment capabilities. e-THMMY also supports a Forum for coursework discussion.
Course Bibliography (Eudoxus)
Τίτλος Συγγράμματος:: «Εισαγωγή στους Αλγορίθμους, Τόμος Ι»(ελληνική μετάφραση)
Συγγραφέας: T. Cormen, C. Leiserson, R. Rivest, and C. Stein
Εκδόσεις: ΙΤΕ-Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο, 2009