Algorithms
CS 301

Unpublished Syllabus
This syllabus is not published yet. Only you can view it.
Faculty: Faculty of Engineering and Natural Sciences
Semester: Fall 2025-2026
Course: Algorithms - CS 301
Classroom: FENS-G077,FMAN-G071
Level of course: Undergraduate
Course Credits: SU Credit:3.000, ECTS:6, Basic:1, Engineering:5
Prerequisites: ( MATH 204 and CS 300)
Corequisites: CS 301R
Course Type: Lecture

Instructor(s) Information

Esra Erdem

Course Information

Catalog Course Description
This course will cover algorithms for a variety of problems, as well as general algorithm design and analysis techniques such as divide-and-conquer, dynamic programming, and greedy algorithms. Specific topics include algorithm analysis, recurrences and asymptotic analysis, searching, sorting, order-statistics, shortest path problems, and network-flows. An introduction to the computational complexity classes (such as P, NP, NP- hard, NP-complete, PSPACE) together with approximation algorithms and the performance evaluation of algorithm implementations in practice are also covered in the course.
Course Learning Outcomes:
1. The students are expected to be able to analyse algorithms' resource usage by using asymptotic analysis and asymptotic notations.
2. The students are expected to be able identify the algorithm design technique used by a given algorithm such as divide-and-conquer, dynamic programming, greedy, etc.).
3. The students are expected to be able to use these algorithm design techniques to develop new algorithms for simple computational problems.
4. The students are expected to be aware of some common computational problems and some known algorithms for these problems.
5. The students are expected to know that there are limits of algorithmic approaches to the computational problems.
6. The students are expected to be able to design tests to analyse the correctness and the performance of practical implementations of algorithms.
Course Objective
-

Course Materials

Resources:
-
Technology Requirements:
-