Coursera course review - Algorithms


Algorithms: Design and Analysis, Part 1 by Tim Roughgarden @ STANFORD UNIVERSITY.

Course Syllabus

  • Week 1: Introduction. Asymptotic analysis including big-oh notation. Divide-and-conquer algorithms for sorting, counting inversions, matrix multiplication, and closest pair.

  • Week 2: Running time analysis of divide-and-conquer algorithms. The master method. Introduction to randomized algorithms, with a probability review. QuickSort.

  • Week 3: More on randomized algorithms and probability. Computing the median in linear time. A randomized algorithm for the minimum graph cut problem.

  • Week 4: Graph primitives. Depth- and breadth-first search. Connected components in undirected graphs. Topological sort in directed acyclic graphs. Strongly connected components in directed graphs.

  • Week 5: Dijkstra’s shortest-path algorithm. Introduction to data structures. Heaps and applications.

  • Week 6: Further data structures. Hash tables and applications. Balanced binary search trees

Comments On The Course

Quite like this course as I have not take standard algorithm course in my university. In this course, I’ve learn how the algorithm works and its theory.

The course coding assignment is not bad though. I’ve been using python to solve this 6 week code assignment.

About the lecture, its not quite easy to understand without some programming background. Even I listen to the course, I also have to wiki or stackoverflow to know more about the lecture material.

Today is week 6 for this course, therefore the statement of accomplishment should be coming out in the coming few weeks. This is what I like for stanford university also. Usually their course will provide a statement of accomplishment during the end of the course.

Overall, I’ll give a 4 out of 5 star rating to this course.

Written on August 8, 2015