CSCI3160 Design and Analysis of Algorithms - CUHK Course Review

Term Taken: 2019 Fall

Instructor: Prof. Tao Yufei

Grading Scheme

Original Scheme:

  • Quiz (18%)
  • Midterm Exam (32%)
  • Final Exam (50%)

Scheme for 2019 Course Cancellation:

  • Quiz (23.8%)
  • Midterm (76.2%)


Introduction to Algorithms, 3rd Edition. By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

Topics Covered

  • Recursion.
  • Divide and Conquer.
  • Greedy Algorithms.
  • Dynamic Programming.
  • Graph Algorithms.
  • Complexity Theory.
  • NP-complete Problems.
  • Approximation Algorithms.


This is a theoretical algorithm course focusing on proving the correctness and complexity of algorithms. It contains some essential algorthmic techniques such as divide and conquer, greedy, and dynamic programming, but the main focus is on why certain algorithms are correct and how the algorithm performs. Though this subject requires no programming, it balances well between practical and theoretical knowledge.

The quizes in the course is easy as long as you are familiar with the algorithms introduced in the course (though I got pretty bad scores…). The midterm is slightly harder than the quiz and requires more thinking and algorithmic reasoning. Overall, this course wouldn’t be considered as tough.

Prof. Tao is extremely passionate in teaching. He has his unique way in guiding the students, every lecture given by him is very enjoyable and exciting. Highly recommended!

More CUHK Course Reviews