<meta http-equiv="refresh" content="0; URL=noscript.html"> METU | Course Syllabus

Course Learning Outcomes

Understand algorithm analysis methods, and understand how to analyze a given algorithm.


Differentiate effieicent vs non-efficient algorthmic solutions.


Understand and apply various known algorithms in the literature to a given computational problem.


Understand the behaviour of a given algorithm, and predicting the quality of the algorithm in terms of its efficiency.


Check the correctness of a given algorithm in terms of solving the computational problem.


Remember and use a large number of well-known algorithms and their computational complexities in the literature.


Critique different algorithms in terms time and space efficiency and for the same problem.


Interpret a computational problem specification and implement a solution in a programming language to solve that problem efficiently.


Construct new algorithms for new problems and critique the algorithmic solutions in terms time and space efficiency.

Modify an existing algorithm to a  new problem to accommodate for extension and/or change of problem specifications.

Design a modular solution to a problem by decomposing it into smaller sub-problems.