Syllabus Application
Algorithms
CS 301
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
- Email: esraerdem@sabanciuniv.edu
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:
-