Lesson plan / ANALYSIS OF ALGORITHMS

Lesson Information

Course Credit 3.0
Course ECTS Credit 5.0
Teaching Language of Instruction İngilizce
Level of Course Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of Course Compulsory
Mode of Delivery Face-to-face
Does the course require compulsory or optional work experience? Z
Course Coordinator
Instructor (s)
Course Assistant

Purpose and Content

The aim of the course The primary goals of the course are: • to become proficient in the application of fundamental algorithm design techniques (e.g., divide and conquer, greedy algorithms, dynamic programming), • to gain familiarity with the main theoretical tools used in the analysis of algorithms (e.g., recurrences, probability theory, etc.) • to study and analyze different algorithms for many of the most common types of “standard” algorithmic problems (e.g., sorting, searching, graph problems), and • to introduce students to some of the prominent subfields of algorithmic study (e.g., cryptography, computational geometry, randomized algorithms, data structures, etc.) in which they may wish to pursue further study
Course Content Introduction to fundamental techniques for designing and analyzing algorithms, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; data structures; dynamic programming; graph algorithms; and randomized algorithms. The study of algorithms is a significant part of the foundation for the discipline of computer science. Over the past several decades, research in algorithmic computer science has advanced at a rapid pace its contributions have had a profound impact on almost every area of science and industry. In this graduate-level course, we aim to provide an introduction to the study of algorithms that is both broad and deep.

Weekly Course Subjects

1Analyzing algorithms 1-32 1/25 " Asymptotic notation
2" Recurrence relations 53-64 2/1 Sorting Heapsort
3Quicksort 153-167 HW1 IN/HW2 OUT 2/8 " Linear Sorting
4Data structures 200-215 PROJECTS OUT 2/15 Binary search trees 244-245
5Red-Black trees: insertion 262-272 2/22 " Red-Black trees: deletion 272-277 HW2 IN
6Backtracking HW3 OUT
7Elements of dynamic programming 301-314 3/7 " Examples of dynamic programming
8Graph Algorithm Data structures for graphs 465-477 3/14 Breadth/depth-first search
9Topological Sort/Connectivity 485-493 HW3 IN/HW4 OUT 3/22 " Minimum Spanning Trees Yüklü Dosya Bulunmamaktadır
10Single-source shortest paths
11All-pairs shortest paths 550-563 HW4 IN 4/11 Randomized Algorithms
12Intractability P and NP 916-928 HW5 OUT 4/18 " NP-completeness
13NP-completeness proofs 939-951 4/25 " Further reductions
14Approximiation algorithms 964-983 5/1 Graduate Student Project Presentations

Resources

1-Introduction to the Design & Analysis of Algorithms [Hardcover]
Anany V. Levitin (Author)