Advanced Algorithmic Topics (ΠΛ3)

Από Wiki Τμήματος Μαθηματικών

Graduate Courses Outlines - Department of Mathematics

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:

  • 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
  • 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

  • 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

ΧΧΧ

Use of Information and Communications Technology

ΧΧΧ

Teaching Methods
Activity Semester Workload
Lectures 39
ΧΧΧ 000
ΧΧΧ 000
Course total 187.5
Student Performance Evaluation

ΧΧΧ

Attached Bibliography

Πρότυπο:MAM199-Biblio