CENG316 PRACTICE OF ALGORITHMS

Course Code:5710316
METU Credit (Theoretical-Laboratory hours/week):3 (2.00 - 2.00)
ECTS Credit:6.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Assist.Prof.Dr HAKAN YILDIZ
Offered Semester:Fall or Spring Semesters.

Course Objectives

This course is both theoretically and practıcally oriented, and the main aim of the course is to improve the creativity of the students as well as to enhance their basic knowledge in designing algorithms and skills to efficiently implement them. This is to be achieved by working on diverse set of interesting algorithmic problems.


Course Content

Advanced algorithmic problems in graph theory, combinatorics, and artificial intelligence. Creative approaches to algorithm design. Efficient implementation of algorithms.


Course Learning Outcomes

Understand algorithm design techniques, and understand how and when to use appropriate technique to a given computational problem.

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 in the literature.

Critique different algorithms for the same problem.

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

Construct new algorithms for new problems.

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