CMPE300

Analysis of Algorithms

Course Information  

Faculty Faculty of Engineering
Course Code CMPE300
Course Title Analysis of Algorithms
Language of Instruction English
Course Semester Fall
Course Hours Lecture: 3, PS:0, Labs: 2
Course Credits 3
ECTS 5
Grading Mode Letter Grade
Prerequisites CMPE250
Corequisites None

Catalog Description  

  • Analysis of computer science algorithms: Sorting, searching, paging and parallelism.
  • Analysis of mathematical algorithms: games and puzzles, network algorithms, and probabilistic algorithms.

Course Learning Outcomes  

This course is intended to introduce the student to the main paradigms of algorithm analysis, methods and mathematical tools used for analyzing the performance of algorithms, the theory of parallel algorithms, as well as known sequential and parallel algorithmic solutions to frequently encountered problems. The theory of complexity analysis, basic techniques that are commonly used in analyzing the performance, basic classes of algorithms (comparison-based, recursive, divide-and-conquer, dynamic, greedy, numerical, graph), and lower bound theory will be covered. Parallel architectures and parallel algorithms will be studied in detail. Meanwhile, mathematical tools like interpolation, master theorem, etc. will be introduced. The last part of the course will be the study of the topic of probabilistic algorithms, which is a rapidly growing area of research.

Current Instructor  

tunga-güngör-thumbnail
Tunga Güngör

Professor

Previous Instructors  

Fatih Alagöz

Professor