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 |
Course Code: | 3000003001 | ||||||||||
Ders İsmi: | Advanced Algorithms | ||||||||||
Ders Yarıyılı: | Spring | ||||||||||
Ders Kredileri: |
|
||||||||||
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: |
|
||||||||||
Mode of Delivery: | Face to face | ||||||||||
Course Coordinator : | Assoc. Prof. Fatih KOÇAN | ||||||||||
Course Lecturer(s): |
lee staff |
||||||||||
Course Assistants: |
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. |
The students who have succeeded in this course;
|
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 |
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 Öğ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. |
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. |
Semester Requirements | Number of Activities | Level of Contribution |
total | % | |
PERCENTAGE OF SEMESTER WORK | % 0 | |
PERCENTAGE OF FINAL WORK | % | |
total | % |
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 |