INFORMATION TECHNOLOGIES (MASTER) (WITH THESIS) (ENGLISH)
Qualification Awarded Program Süresi Toplam Kredi (AKTS) Öğretim Şekli Yeterliliğin Düzeyi ve Öğrenme Alanı
Master's ( Second Cycle) Degree 2 120 FULL TIME TYÇ, TR-NQF-HE, EQF-LLL, ISCED (2011):Level 7
QF-EHEA:Second Cycle
TR-NQF-HE, ISCED (1997-2013): 44,46,48,52,72

Ders Genel Tanıtım Bilgileri

Course Code: 3000003001
Ders İsmi: Advanced Algorithms
Ders Yarıyılı: Spring
Ders Kredileri:
Theoretical Practical Labs Credit ECTS
3 0 0 3 9
Language of instruction: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Other Recommended Topics for the Course:
Type of course: Uzmanlık Alanı Zorunlu
Course Level:
Master TR-NQF-HE:7. Master`s Degree QF-EHEA:Second Cycle EQF-LLL:7. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Assoc. Prof. Fatih KOÇAN
Course Lecturer(s): lee staff
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: After successfully completing the course, the students will learn
1) Approximation algorithm design for NP-hard Problems
2) Online algorithm design
3) Learning algorithm design
4) Streaming algorithm design.
Course Content: In this course we will study techniques for designing and analyzing algorithms. Undergraduate
algorithms courses typically cover techniques for designing exact, efficient (polynomial time) al-
gorithms. The focus of this course is different. We will consider problems for which polynomial
time exact algorithms are not known, problems under stringent resource constraints, as well as
problems for which the notion of optimality is not well defined. In each case, our emphasis will be
on designing efficient algorithms with provable guarantees on their performance.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
2 - Skills
Cognitive - Practical
3 - Competences
Communication and Social Competence
Learning Competence
Field Specific Competence
Competence to Work Independently and Take Responsibility

Ders Akış Planı

Week Subject Related Preparation
1) Introduction and Greedy Algorithms, Divide and Conquer, and DP, Chawla's first and second lectures
2) Dynamic Programming II, Netwok Flows Chawla's 3rd and 4th lecture notes
3) Applications of Network Flow, Randomized Algorithms Chawla's 5th and 6th lecture notes
4) Randomized load balancing and hashing, Hashing and NP-Completeness Chawla's 7th and 8th lecture notes.
5) NP-Completeness, Approximation Algorithms, Local Search Based Appoximation Chawla's 9th and 10th lecture notes
6) Facility Location ctd., Linear Programming, Randomized rounding, concentration bounds Chawla's 11th and 12th lecture notes.
7) Randomized rounding (contd.), LP duality, Primal-Dual Algorithms Chawla's 13th and 14th lecture notes
8) Primal-Dual Algorithms, Minimax Theorem and Semi-Definite Programming Chawla's 15th and 16th lecture notes.
9) Primal-Dual Algorithms, Minimax Theorem and Semi-Definite Programming Chawla's 17th and 18th lecture notes
10) Max-Cut via SDP contd., Streaming Algorithms, Streaming Algorithms(continued) Chawla's 19th and 20th lecture notes.
11) Streaming algorithms (contd.) and Online algorithms, Caching Algorithms Chawla's 21th and 22nd lecture notes.
12) Caching and K-Server problem, k-server Problem(continued); Online learning Chawla's 23rd and 24th lecture notes.
13) Weighted Majority, Mistake Bound Model, and Winnow Algorithm, MB Model, Perceptron Alg. and PAC Model Chawla's 25th and 26th lecture notes.
14) PAC Learning, Boosting in the PAC Model Chawla's 27th and 28th lecture notes.
15) Random Walks and Markov Chains, Random Walks & Markov chains: the resistance method. Chawla's 29th and 30th lecture notes

Sources

Course Notes / Textbooks: Shuchi Chawla's lecture notes on Advanced Algorithms
References: Algorithm Design by John Kleinberg and Eva Tardos
40 Algorithms Every Programmer Should Know: Python algorithms to live by to enhance your problem-solving skills, 2nd Edition by Imran Ahmad
Algorithms for VLSI Design Automation by Sabih H. Gerez

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları
Program Outcomes
1) Ability to use and apply current technical concepts and practices in the information technologies of software engineering, data management and computer security.
2) Understanding user needs, analyzing them, and using them in the selection, evaluation, and management of computer-based systems.
3) Ability to use data structures and develop algorithms.
4) Ability to analyze and interpret complex big data systems.
5) Ability to interpret and apply concepts and algorithms in machine learning.
6) Understanding of the mathematical foundations of deep learning in the field of data analysis and the ability to apply the theory.
7) Ability to solve complex data structures, develop and apply deep learning models, and interpret artificial intelligence-focused research on these topics.
8) Ability to apply deep learning techniques and interpret real-world datasets and projects to solve problems in image analysis, natural language processing, and recommendation systems.
9) Ability to transfer the basic principles and mathematical infrastructure of digital signal processing to practical applications.
10) Gaining knowledge about the tools and technologies used via the Internet and the different technologies used for server coding languages and tools.
11) Ability to understand of how genes function in multicellular species, the flow of genetic information in single-cell organisms, and the ability to interpret and apply biotechnology applications.
12) Being aware of ethical values and understanding the need to conduct research and practice within the framework of these values.

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Ability to use and apply current technical concepts and practices in the information technologies of software engineering, data management and computer security.
2) Understanding user needs, analyzing them, and using them in the selection, evaluation, and management of computer-based systems.
3) Ability to use data structures and develop algorithms.
4) Ability to analyze and interpret complex big data systems.
5) Ability to interpret and apply concepts and algorithms in machine learning.
6) Understanding of the mathematical foundations of deep learning in the field of data analysis and the ability to apply the theory.
7) Ability to solve complex data structures, develop and apply deep learning models, and interpret artificial intelligence-focused research on these topics.
8) Ability to apply deep learning techniques and interpret real-world datasets and projects to solve problems in image analysis, natural language processing, and recommendation systems.
9) Ability to transfer the basic principles and mathematical infrastructure of digital signal processing to practical applications.
10) Gaining knowledge about the tools and technologies used via the Internet and the different technologies used for server coding languages and tools.
11) Ability to understand of how genes function in multicellular species, the flow of genetic information in single-cell organisms, and the ability to interpret and apply biotechnology applications.
12) Being aware of ethical values and understanding the need to conduct research and practice within the framework of these values.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
total %
PERCENTAGE OF SEMESTER WORK % 0
PERCENTAGE OF FINAL WORK %
total %

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 15 3 45
Project 1 60 60
Homework Assignments 14 4 56
Midterms 1 3 3
Final 1 3 3
Total Workload 167