CNG315 ALGORITHMS
Course Code: | 3550315 |
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: | Assist.Prof.Dr ŞÜKRÜ ERASLAN |
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 CNGutational CNGlexities of algorithms. Introduction to NP-CN?leteness, parallelization of algorithms, linear and dynamic programming.
Course Learning Outcomes
At the end of this course, students will be able to:
- Understand algorithm analysis methods, and understand how to analyse a given algorithm
- Differentiate efficient vs. non-efficient algorithmic 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