CmpE 300 Analysis of Algorithms 2016 Fall

Course Program: 

Letter grades were announced. The letter grades were given according to the catalogue grading system (, by shifting down by 10 points

This course is intended to introduce the student to the main paradigms of algorithm analysis, methods and mathematical tools used for analyzing the correctness and 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 recent but rapidly growing area of research.

MPI (Message Passing Interface)

MPI Installation tutorial by Barış Kurt

MPI Red Book

MPI Installation Problems


Algorithms: Sequential, Parallel, and Distributed, Kenneth A.Berman, Jerome L.Paul, Thomson, 2005

Reference Books: 

  • A Guide to Algorithm Design: Paradigms, Methods, and Complexity Analysis, Anne Benoit, Yves Robert, Frederic Vivien, CRC Press, 2013

  • Algorithms and Complexity, Herbert S.Wilf, CRC Press, 2nd ed., 2002

  • Complexity Theory : Exploring the Limits of Efficient Algorithms, Ingo Wegener, Springer, 2005

  • Foundations Of Algorithms, Richard Neapolitan, Jones and Bartlett Learning, 5th ed., 2014

  • Introduction to the Design and Analysis of Algorithms, Anany Levitin, Addison Wesley, 2003

  • The Algorithm Design Manual, Steven S. Skiena, Springer, 2nd ed., 2008 


     (subject to change)

Assignments (2) : % 10 (2 * 5%)

Project (2) : % 30 (2 * 15%)

Midterm : % 25

Final : % 35

(Note that the instructor may decide within the semester to grade the attendance also. If so, he will inform the class.)


  • Midterm will be on 11.11.2016.

  • The midterm and final examinations will be “closed books and notes”.

  • You can follow the announcements about the course from the course web site.

  • You can obtain the text book from the bookstore and the reference books from the instructor/library.

  • Attendance for both the midterm exam and the final exam, and submitting the project are obligatory. Otherwise, you will fail the course, regardless of the grades obtained in other parts of the course.

  • Attendance for lectures is not mandatory, but it is highly recommended. You are responsible from all materials covered in the lectures, some of which may not be included in the textbook.

  • Please read the section “undergraduate courses” on the web page General Information for Students. This page explains the course policy, the grading system, and information about the assignments and projects. Please note especially the “procedure for cheating behaviour”, which will be followed strictly.

Contact us

Department of Computer Engineering, Boğaziçi University,
34342 Bebek, Istanbul, Turkey

  • Phone: +90 212 359 45 23/24
  • Fax: +90 212 2872461

Connect with us

We're on Social Networks. Follow us & get in touch.