Course Objectives: |
The aim of this course is to provide students with knowledge to introduce well-known algorithmic design techniques and well-known algorithms, to analyze sequential and recursive algorithms, to utilize well-known algorithms for similar problems, and to introduce theory of NP. |
Course Content: |
Concepts of designing algorithms and complexity analysis of algorithms, solving recurrence equations and formal proofs, an intuitive and formal introduction to the concept of order and growth, brute force approach, divide and conquer approach, dynamic programming, greedy approach, graph algorithms, theory of NP. |
Week |
Subject |
Related Preparation |
1) |
THEORETICAL BACKGROUND |
Lecture notes and course book |
2) |
EFFICIENCY, ANALYSIS AND ORDER |
Lecture nots and course book |
3) |
RECURRENCE |
Lecture notes and course book |
4) |
RECURRENCE II |
Lecture notes and course book |
5) |
BRUTE FORCE ALGORITHMS |
Lecture notes and course book |
6) |
DIVIDE AND CONQUER I |
Lecture notes and course book |
7) |
DIVIDE AND CONQUER II, MIDTERM I |
Lecture notes and course book |
8) |
DYNAMIC PROGRAMMING I |
Lecture notes and course book |
9) |
DYNAMIC PROGRAMMING II |
Lecture notes and course book |
10) |
GREEDY APPROACH |
Lecture notes and course book |
11) |
GRAPH ALGORITHMS I, |
Lecture notes and course book |
12) |
GRAPH ALGORITHMS II |
Lecture notes and course book |
13) |
THEORY OF NP |
Lecture notes and course book |
14) |
GENERAL REVIEW |
Lecture notes and course book |
|
Program Outcomes |
Level of Contribution |
1) |
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in complex engineering problems. |
3 |
2) |
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. |
3 |
3) |
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose |
3 |
4) |
Ability to devise, select, and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. |
3 |
5) |
Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. |
3 |
6) |
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. |
3 |
7) |
Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. |
|
8) |
Knowledge of the global and societal impacts of engineering practices on priority issues such as health, environment and safety and contemporary issues; knowledge of the legal aspects of engineering solutions. awareness of the consequences |
1 |
9) |
Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice. |
1 |
10) |
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and knowledge about sustainable development. |
1 |
11) |
Ability to design systems to meet desired needs |
3 |
12) |
Ability to apply basic sciences in the field of computer engineering |
3 |
13) |
Ability to implement designs by experiments |
3 |
14) |
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. |
1 |