Design and Analysis of Algorithms (MAE581): Διαφορά μεταξύ των αναθεωρήσεων

Από Wiki Τμήματος Μαθηματικών
Χωρίς σύνοψη επεξεργασίας
Γραμμή 1: Γραμμή 1:
[[Undergraduate Courses Outlines]] - [https://math.uoi.gr  Department of Mathematics]
=== General ===
=== General ===
{| class="wikitable"
{| class="wikitable"

Αναθεώρηση της 01:23, 2 Ιουλίου 2022

Undergraduate Courses Outlines - Department of Mathematics

General

School

School of Science

Academic Unit

Department of Mathematics

Level of Studies

Undergraduate

Course Code

MAE641

Semester

6

Course Title

Design and Analysis of Algorithms

Independent Teaching Activities

Lectures, laboratory exercises, tutorials, quiz (Weekly Teaching Hours: 3, Credits: 6)

Course Type

Special Background

Prerequisite Courses -
Language of Instruction and Examinations

Greek

Is the Course Offered to Erasmus Students

Yes

Course Website (URL)

http://www.cs.uoi.gr/~charis/algo641/
http://ecourse.uoi.gr/course/view.php?id=538

Learning Outcomes

Learning outcomes

This course aims at introducing to students the philosophy of fundamental algorithmic background and techniques. After successfully passing this course the students will be able to:

  • Understand basic algorithmic techniques
  • Analyze complex algorithms
  • Design new algorithmic tools
  • Combine already-known techniques for solving new algorithmic problems
General Competences
  • Search for, analysis and synthesis of data and information, with the use of the necessary technology
  • Working independently
  • Team work
  • Project planning and management.

Syllabus

  • Fundamental concepts of design and analysis of algorithms
  • Analysis of algorithms, Asymptotical growing functions
  • Typical running times and data structures (lists, arrays, queues, stacks)
  • Stable matching, correctness, priority queue
  • «Divide & Conquer» technique, sorting, recursive formulations
  • Graph algorithms: BFS, DFS, connectedness, topological ordering
  • Greedy algorithms: interval scheduling & shortest paths (Dijkstra)
  • Minimum spanning trees(Prim & Kruskal algorithms), Huffman coding
  • Dynamic programming: maximum flow, interval scheduling, and Knapsack
  • Further Topics: computational complexity and ΝΡ-completeness.

Teaching and Learning Methods - Evaluation

Delivery

Lectures

Use of Information and Communications Technology
  • Use of projector and interactive board during lectures.
  • Course website maintenance. Announcements and posting of teaching material (lecture slides and notes, programs).
  • Announcement of assessment marks via the ecourse platform by UOI.
Teaching Methods
Activity Semester Workload
Lectures 39
Working independently 78
Team work 33
Course total 150
Student Performance Evaluation

Final written examination (70%)

  • Design and analyze algorithms

Exercises (30%)

  • Design and analyze algorithms

Attached Bibliography

  • [KT] J. Kleinberg and E. Tardos, Σχεδιασμός Αλγορίθμων, ελληνική έκδοση, Εκδόσεις Κλειδάριθμος, 2008
  • [CLRS] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Εισαγωγή στους Αλγορίθμους, ελληνική έκδοση, Πανεπιστημιακές Εκδόσεις Κρήτης, 2012.
  • [DPV] S. Dasgupta, C. Papadimitriou, and U. Vazirani, Αλγόριθμοι, ελληνική έκδοση,Εκδόσεις Κλειδάριθμος, 2008