CENG315 ALGORITHMS

Course Code:5710315
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:6.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. İSMAİL HAKKI TOROSLU
Offered Semester:Fall Semesters.

Course Objectives

To introduce some important algorithms, basic algorithm design techniques and analysis of algorithms.


Course Content

Selected computer algorithms: sorting, searching, string processing and graph algorithms. Algorithm design and analysis techniques. Time and computational complexities of algorithms. Introduction to NP-completeness, parallelization of algorithms, linear and dynamic programming.


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.


Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3An ability to communicate effectively with a range of audiences
4An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies