CMP741 ADVANCED ALGORITHMS ANALYSIS I
SPRING 2019
INSTRUCTOR: Engin Demir
LECTURES: Monday 14:00-16:45 @ D5
COURSE DESCRIPTION: The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want to (a) find an algorithm to solve the problem, (b) prove that the algorithm solves the problem correctly, (c) prove that we cannot solve the problem any faster, and (d) implement the algorithm. Designing an algorithm for a computational problem involves knowledge of the problem domain, a thorough knowledge of the data structures that are available and suitable and no small measure of creativity. This course concentrates on the above problems, studying useful algorithmic design techniques, and methods for analyzing algorithms.
You are expected to have mastered the material presented in BBM201, BBM202, and BBM205.
TEXTBOOKS:
Recommended Readings
Supplementary Course Videos:
GRADING POLICY:
Project & Paper |
30 |
Midterm Exam |
30 |
Final Exam |
40 |
COMMUNICATION:
The course webpage will be updated regularly throughout the semester with lecture notes, programming and reading assignments and important deadlines. All other communications will be carried out through Piazza. Please enroll it by following the links http://www.piazza.com/hacettepe.edu.tr/spring2019/cmp741
POLICIES:
All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated. In short, turning in someone else's work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.
CLASS SCHEDULE
WEEK |
DATE |
BBM471 TOPIC |
1 |
2/25/2019 |
Introduction to Algorithms |
2 |
3/4/2019 |
Fundamentals of Algorithm Analysis |
3 |
3/11/2019 |
Asymptotic Complexity |
4 |
3/18/2019 |
Resolving Recursion |
5 |
3/25/2019 |
Dive and Conquer |
6 |
4/1/2019 |
Sorting Algorithms |
7 |
4/8/2019 |
Medians and Order Statistics |
8 |
4/15/2019 |
Midterm Exam |
9 |
4/22/2019 |
Dynamic Programming |
10 |
4/29/2019 |
Greedy Algorithms |
11 |
5/6/2019 |
Amortized Analysis |
12 |
5/13/2019 |
Graph Algorithms: BFS, DFS, MST |
13 |
5/20/2019 |
Graph Algorithms: Shortest Path |
14 |
5/27/2019 |
NP-Completeness |