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 Outcomes | No | Yes | ||
1 | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics | ✔ | |||
2 | An 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 | ✔ | |||
3 | An ability to communicate effectively with a range of audiences | ✔ | |||
4 | An 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 | ✔ | |||
5 | An 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 | ✔ | |||
6 | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions | ✔ | |||
7 | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies | ✔ |