Advanced Algorithmic Topics (ΠΛ3): Διαφορά μεταξύ των αναθεωρήσεων
Χωρίς σύνοψη επεξεργασίας |
|||
(7 ενδιάμεσες αναθεωρήσεις από τον ίδιο χρήστη δεν εμφανίζεται) | |||
Γραμμή 1: | Γραμμή 1: | ||
[[ | * [[Προηγμένα Θέματα Αλγορίθμων (ΠΛ3)|Ελληνική Έκδοση]] | ||
{{Course-Graduate-Top-EN}} | |||
{{Menu-OnAllPages-EN}} | |||
=== General === | === General === | ||
Γραμμή 50: | Γραμμή 52: | ||
! Learning outcomes | ! Learning outcomes | ||
| | | | ||
The goal of this course is the deeper understanding of the design and analysis of algorithms and address specific classes of problems and algorithms to solve them as well as the introduction of students to critical thinking and research process. A detailed examination of advanced methods of analysis and design of algorithms is done during the course. The analysis of an algorithm studies ways of finding its complexity. For the design of an algorithm for a problem we discuss basic design methods such as: greedy methods, dynamic programming, backtracking, recursion, exhaustive search of solution space, and branch and bound. We examine algorithms for problem categories such as sorting, searching, selection, graphs processing, integers and polynomials arithmetic, algorithms in matrices, and string handling algorithms. Complexity classes such as P, NP, NP-complete are defined. Some specific topics are also presented. After completing the course the student: | |||
* Can analyze an algorithm | |||
* Can select the most effective algorithm between algorithms for solving a problem. | |||
* Has a good understanding of design methods and can design efficient algorithms for solving a problem. | |||
* Knows algorithms to solve basic categories of problems and can use them as a building block for the design of other algorithms. | |||
|- | |- | ||
! General Competences | ! General Competences | ||
| | | | ||
* Independent work | |||
* Bibliographic search | |||
* Complexity analysis of an algorithm | |||
* Effective selection of an algorithm to solve a problem | |||
* Design of efficient algorithms for the solution of a problem | |||
|} | |} | ||
=== Syllabus === | === Syllabus === | ||
* Complexity of algorithms | |||
* Asymptomatic complexity | |||
* Complexity analysis of algorithms | |||
* Methods of algorithm design (divide and conquer greedy method, dynamic programming, backtracking, recursion, exhaustive search, branch and bound, etc.) | |||
* Problems categories and corresponding algorithms (sorting, searching, selection, graph algorithms, sorting networks, matrix algorithms, integers and polynomials arithmetic, string processing, computational geometry, etc.) | |||
* Complexity classes P, NP, NP-complete, etc. | |||
* Specific topics | |||
=== Teaching and Learning Methods - Evaluation === | === Teaching and Learning Methods - Evaluation === | ||
Γραμμή 67: | Γραμμή 83: | ||
! Delivery | ! Delivery | ||
| | | | ||
Face to face | |||
|- | |- | ||
! Use of Information and Communications Technology | ! Use of Information and Communications Technology | ||
| | | | ||
Yes | |||
|- | |- | ||
! Teaching Methods | ! Teaching Methods | ||
Γραμμή 82: | Γραμμή 98: | ||
| 39 | | 39 | ||
|- | |- | ||
| | | Self study | ||
| | | 78 | ||
|- | |- | ||
| | | Exercises | ||
| | | 70.5 | ||
|- | |- | ||
| Course total | | Course total | ||
Γραμμή 94: | Γραμμή 110: | ||
! Student Performance Evaluation | ! Student Performance Evaluation | ||
| | | | ||
Final examination (40%) comprised of: | |||
* questions about the design and analysis of algorithms and their properties | |||
* questions requiring critical thinking | |||
Exercises: design, analysis, implementation, algorithm properties (30%). Presentations of related issues (30%). | |||
|} | |} | ||
Γραμμή 100: | Γραμμή 119: | ||
<!-- In order to edit the bibliography, visit the webpage --> | <!-- In order to edit the bibliography, visit the webpage --> | ||
<!-- https://wiki.math.uoi.gr/index.php/%CE%A0%CF%81%CF%8C%CF%84%CF%85%CF%80%CE%BF: | <!-- https://wiki.math.uoi.gr/index.php/%CE%A0%CF%81%CF%8C%CF%84%CF%85%CF%80%CE%BF:MAM167-Biblio --> | ||
{{ | {{MAM167-Biblio}} |
Τελευταία αναθεώρηση της 05:17, 16 Ιουνίου 2023
- Ελληνική Έκδοση
- Graduate Courses Outlines
- Outline Modification (available only for faculty members)
- Department of Mathematics
- Save as PDF or Print (to save as PDF, pick the corresponding option from the list of printers, located in the window which will popup)
General
School | School of Science |
---|---|
Academic Unit | Department of Mathematics |
Level of Studies | Graduate |
Course Code | ΠΛ3 |
Semester | 1 |
Course Title | Advanced Algorithmic Topics |
Independent Teaching Activities | Lectures (Weekly Teaching Hours: 3, Credits: 7.5) |
Course Type | Specialization |
Prerequisite Courses |
Undergraduate courses in Data structures and Algorithms (optionally a course in Discrete mathematics) |
Language of Instruction and Examinations |
Greek |
Is the Course Offered to Erasmus Students | Yes (in English) |
Course Website (URL) | See eCourse, the Learning Management System maintained by the University of Ioannina. |
Learning Outcomes
Learning outcomes |
The goal of this course is the deeper understanding of the design and analysis of algorithms and address specific classes of problems and algorithms to solve them as well as the introduction of students to critical thinking and research process. A detailed examination of advanced methods of analysis and design of algorithms is done during the course. The analysis of an algorithm studies ways of finding its complexity. For the design of an algorithm for a problem we discuss basic design methods such as: greedy methods, dynamic programming, backtracking, recursion, exhaustive search of solution space, and branch and bound. We examine algorithms for problem categories such as sorting, searching, selection, graphs processing, integers and polynomials arithmetic, algorithms in matrices, and string handling algorithms. Complexity classes such as P, NP, NP-complete are defined. Some specific topics are also presented. After completing the course the student:
|
---|---|
General Competences |
|
Syllabus
- Complexity of algorithms
- Asymptomatic complexity
- Complexity analysis of algorithms
- Methods of algorithm design (divide and conquer greedy method, dynamic programming, backtracking, recursion, exhaustive search, branch and bound, etc.)
- Problems categories and corresponding algorithms (sorting, searching, selection, graph algorithms, sorting networks, matrix algorithms, integers and polynomials arithmetic, string processing, computational geometry, etc.)
- Complexity classes P, NP, NP-complete, etc.
- Specific topics
Teaching and Learning Methods - Evaluation
Delivery |
Face to face | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Use of Information and Communications Technology |
Yes | ||||||||||
Teaching Methods |
| ||||||||||
Student Performance Evaluation |
Final examination (40%) comprised of:
Exercises: design, analysis, implementation, algorithm properties (30%). Presentations of related issues (30%). |
Attached Bibliography
- Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (επίσης μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης)
- Δομές δεδομένων, αλγόριθμοι και εφαρμογές c++, Sahnii Sartaj, Εκδόσεις α. Τζιόλα
- Αλγόριθμοι σε C++, μέρη 1-4: θεμελιώδεις έννοιες, δομές δεδομένων, ταξινόμηση, αναζήτηση, Robert Sedgewick, Εκδόσεις Κλειδάριθμος
- Αλγοριθμοι σε C, μέρη 1-4: θεμελιώδεις έννοιες, δομές δεδομένων, ταξινόμηση, αναζήτηση, Robert Sedgewick, Εκδόσεις Κλειδάριθμος
- Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-Wesley
- Clifford A. Shaffer, Data Structures and Algorithm Analysis, ebook, http://people.cs.vt.edu/shaffer/Book/
- A. Aho, J. Hopcroft, J. Ullman, (1983). Data Structures and Algorithms, Addison-Wesley.
- Baase, S., Computer Algorithms - Introduction to Design and Analysis, Second Edition, , Addison Wesley, Reading, Massachusetts, 1988.
- Knuth, D., The Art of Computer Programming - Vol. 1 Fundamental Algorithm, Addison Wesley, Reading, Massachusetts, 1973.
- Knuth, D., The Art of Computer Programming - Vol. 2 SemiNumerical Algorithm, Addison Wesley, Reading, Massachusetts, 1973.
- Knuth, D., The Art of Computer Programming - Vol. 3 Sorting and Searching, Addison Wesley, Reading, Massachusetts, 1973.