subject
Intro

Coursera: Algorithms: Design and Analysis, Part 1

 with  Tim Roughgarden
Class Central Course Rank
#2 in Subjects > Computer Science > Algorithms and Data Structures

HIGHEST RATED MOOC

This course is a Top 50 MOOC of All Time based on thousands of reviews written by Class Central users. It's guaranteed to be good!

Check out the rest of the Top 50 here.

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This course is an introduction to algorithms for learners with at least a little programming experience. The course is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this course, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists.

Specific topics include: "Big-oh" notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), randomized algorithms (QuickSort, contraction algorithm for min cuts), data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of BFS and DFS, connectivity, shortest paths).

About the instructor: Tim Roughgarden has been a professor in the Computer Science Department at Stanford University since 2004. He has taught and published extensively on the subject of algorithms and their applications.

Note: this course is closing on October 10th, 2016, and relaunching as part of a specialization: https://www.coursera.org/specializations/algorithms

Syllabus

Week 1
Introduction; "big-oh" notation and asymptotic analysis; divide-and-conquer basics.

Week 2
The master method for analyzing divide and conquer algorithms; the QuickSort algorithm and its analysis; probability review.

Week 3
Linear-time selection; graphs, cuts, and the contraction algorithm.

Week 4
Breadth-first and depth-first search; computing strong components; applications.

Week 5
Dijkstra's shortest-path algorithms; heaps; balanced binary search trees.

Week 6
Hashing; bloom filters.

Week 7
Final exam (1 attempt per 24 hours)

64 Student
reviews
Cost Free Online Course (Audit)
Pace Finished
Institution Stanford University
Provider Coursera
Language English
Certificates Paid Certificate Available
Hours 5-7 hours a week
Calendar 7 weeks long
+ Add to My Courses
In-Depth Review
Challenging course perfect for the programmer looking to gain in depth knowledge about graph, search and sort algorithms, running times or maybe just a refresher for the veteran programmer. Read Review
Learn Data Analysis udacity.com

Learn to become a Data Analyst. Job offer guaranteed or get a full refund.

Advertisement
Best Machine Learning Courses class-central.com

Every single Machine Learning course on the internet, ranked by your reviews

Advertisement
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

64 reviews for Coursera's Algorithms: Design and Analysis, Part 1

Write a review
23 out of 23 people found the following review useful
3 years ago
Dhawal Shah completed this course, spending 12 hours a week on it and found the course difficulty to be medium.
This course helped me get a job. Before doing this course, I had trouble clearing technical interviews. Infact, I couldn't even clear the phone interviews. "Algorithms: Design and Analysis, Part 1" was instrumental in clearing my first technical interview and helped me get a job as a Software Engineer in Silicon Valley Read More
This course helped me get a job. Before doing this course, I had trouble clearing technical interviews. Infact, I couldn't even clear the phone interviews. "Algorithms: Design and Analysis, Part 1" was instrumental in clearing my first technical interview and helped me get a job as a Software Engineer in Silicon Valley.

Just to be clear, this course alone isn't enough to clear technical interviews. What it did was strengthen my basics in Computer Science, due to which I was able to leverage a lot of online content and algorithm textbooks. Trying to prepare for technical interviews by googling "technical interview questions" doesn't get you anywhere. If you are asked a question that you haven't seen before, coming up with an answer won't be easy. But if your basics are good you will have set of tools to evaluate and come up with a reasonable solution.

Every week there is a programming assignment. The assignment are usually direct implementation of an algorithm or data structure and can be done in the language of your choice. This further reinforces the concepts taught in the lectures.

Tim Roughgarden is an excellent teacher and the course videos are quite portable. I carry those videos on my tablet and occasionally watch them if I feel I need to brush up a particular topic. At the time of writing this review a new version of the course hasn't been offered for a while, but the course videos are open to everyone.
Was this review helpful to you? YES | NO
9 out of 10 people found the following review useful
3 years ago
Henrik Warne completed this course, spending 10 hours a week on it and found the course difficulty to be medium.
I took courses on algorithms and data structures when I went to university, and I really enjoyed both of them. Since then I have been working as a software developer for more than 20 years, so I thought it would be interesting with a refresher. I am quite familiar with several of the concepts taught in this course, fo Read More
I took courses on algorithms and data structures when I went to university, and I really enjoyed both of them. Since then I have been working as a software developer for more than 20 years, so I thought it would be interesting with a refresher.

I am quite familiar with several of the concepts taught in this course, for example: big-O notation, quick sort, merge sort and hash tables (I use those pretty much every day). But there were several other concepts that I was not familiar with: I had never heard of the Master Method (for finding the big-O performance of recursive algorithms), and even though I studied some graph algorithms and heaps (the data structure), I had forgotten most of it.

The course turned out to be excellent! The lectures were very clear, and explained the different algorithms really well. And the combination of quizzes and programming problems (five in total), really made me learn the material. The programming assignments all involved implementing algorithms discussed in the course. Even though they consisted of pretty straightforward implementations, you had to take care (as always in programming) to get all the details right.

I still think it is pretty amazing to have access to this many great courses for free. It was definitely a valuable course for me. I learned a lot and I enjoyed both the lectures, the quizzes and the assignments. The only caveat is that it does require quite a time commitment. I spent at least 10 hours a week on the course. All in all a great course!
Was this review helpful to you? YES | NO
1 out of 2 people found the following review useful
2 years ago
profile picture
Martin Rožnovják completed this course, spending 8 hours a week on it and found the course difficulty to be hard.
This was my very first course of algorithms, I had had some experience with programming before. The course was moderately challenging - I would say right at my limits but not overwhelming thus making the most out of its content - I wish I would learn with this efficiency on every course. The content was much broader c Read More
This was my very first course of algorithms, I had had some experience with programming before. The course was moderately challenging - I would say right at my limits but not overwhelming thus making the most out of its content - I wish I would learn with this efficiency on every course.

The content was much broader compared to syllabuses of other similar courses and has always been clear and to the point (no unnecessary prolonging empty words) so it made me thing about it and learn giving me only a little chance of the so-called 'illusion of competence.'

The assignments (programming and quizzes) were very appropriate and have solidified the knowledge.

So I can't wait for its second part, hope it will be as good as this one :)
Was this review helpful to you? YES | NO
2 out of 3 people found the following review useful
3 years ago
profile picture
Wei En partially completed this course, spending 4 hours a week on it and found the course difficulty to be medium.
Professor Roughgarden has done a great job in explaining the content. I've finally understood what big-O notation, etc. means, after taking this course. The lack of interactive visuals (which I find to be necessary for studying how an algorithm works) may bother you. The exercises are quite well done and provide a few Read More
Professor Roughgarden has done a great job in explaining the content. I've finally understood what big-O notation, etc. means, after taking this course. The lack of interactive visuals (which I find to be necessary for studying how an algorithm works) may bother you.

The exercises are quite well done and provide a few challenging questions. Additionally, there are theory problems in the course pages which are optional and gets students to think creatively.

In general, this is a great introduction to algorithms, if you're not particularly bothered by the lack of interactive visuals.
Was this review helpful to you? YES | NO
3 out of 3 people found the following review useful
2 years ago
Shubham Agarwal completed this course, spending 7 hours a week on it and found the course difficulty to be medium.
It is one of the must course one should do to achieve expertise in Data Structure and Algorithms. The instructor Tim Roughgarden, one of the best instructor i have ever seen. The methodology and material is awesome. And i will advise to complete all the assignments to get the best of the course.
Was this review helpful to you? YES | NO
2 out of 2 people found the following review useful
3 years ago
profile picture
square-B completed this course and found the course difficulty to be hard.
I thought this was a great learning experience. I would certainly recommend Coursera and this class specifically, to anyone. Be prepared as this course will take up A LOT of your time and it can be VERY challenging. Having said that, if you put in the work and tough it out, you will learn a lot. I know I did.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
3 years ago
profile picture
Shubham Agarwal completed this course.
Great course. Worth spending time. Not only videos by Tim are awesome but also the programming assignment and problem sets. If properly and seriously done, can improve your algorithmic skill to a great extent in just one and half month.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
4 years ago
profile picture
Anonymous completed this course.
The course is very good, but it is focused on providing proofs of correctness and running time of algorithms, and so it is more theoretical than applied. Still, I learned a lot about algorithms in this course!
Was this review helpful to you? YES | NO
3 years ago
profile picture
Anonymous completed this course.
Very much worth the time. I especially enjoyed the programming assignments as they made very clear the dramatic impact algorithm improvements can have when operating on large data sets. The professor made video lectures more engaging than I thought would be possible. I just finished Part 1 and will be taking Part 2 when it starts.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Anna K partially completed this course, spending 2 hours a week on it and found the course difficulty to be medium.
This course requires too much time to watch the videos.. Several hours of videos per 1 week, and the lecturer gets repetitive and some information is not necessary.. Sorry, did not fly with me...
Was this review helpful to you? YES | NO
4 years ago
profile picture
Anonymous completed this course.
I took this course in Summer 2012 (2nd iteration). Lectures were great. Everything was on time. Programming assignments and problem sets were very insightful. Definitely recommend this course.
Was this review helpful to you? YES | NO
10 months ago
profile picture
Anonymous completed this course.
Hard but worth every penny. Got to learn more from this course than every other algorithms courses i've taken. Don't expect to be spoonfed, and expect to do background reading. Wonderful!
Was this review helpful to you? YES | NO
2 years ago
Akamal8 completed this course, spending 9 hours a week on it and found the course difficulty to be medium.
Very brillian course. It developed the way I think of algorithms and approach problems. I recommend it for any software engineering student.
Was this review helpful to you? YES | NO
3 years ago
profile picture
Anonymous completed this course.
Excellent course, great teacher and challenging assignments fun to do. I definitely enjoyed the course and learned a lot.
Was this review helpful to you? YES | NO
2 out of 5 people found the following review useful
3 years ago
profile picture
Eli Bendersky completed this course and found the course difficulty to be very easy.
The teacher is pretty good – I actually enjoyed watching the lectures and wasn't bored, which is unusual with me when it comes to lectures. I really liked the "optional" videos (watched them all). Not sure whether they would have been taught in the real course, but they add a lot. It took me, on average, 15-30 minutes Read More
The teacher is pretty good – I actually enjoyed watching the lectures and wasn't bored, which is unusual with me when it comes to lectures. I really liked the "optional" videos (watched them all). Not sure whether they would have been taught in the real course, but they add a lot.

It took me, on average, 15-30 minutes per week for the "dry" (problem sets) part, and another 15-30 minutes per week for the "wet" (programming questions) part. This is way, way too little. The exam was extremely easy. It took me less than an hour to solve (out of 3 allotted hours), and the handful of points I lost are due to pure sloppiness (mis-reading one of the questions).

To conclude, I really enjoyed taking the course, and big thanks to Tim Roughgarden and the course staff for offering it and investing effort into making it enjoyable. I will be seriously considering enrolling in the follow-up Part II in late summer.
Was this review helpful to you? YES | NO
4 years ago
profile picture
Anonymous completed this course.
Superb course, I loved the programming exercises. It was quite fun compared to other similar courses
Was this review helpful to you? YES | NO
0 out of 2 people found the following review useful
2 years ago
profile picture
Dhruv Kalaria dropped this course.
Was this review helpful to you? YES | NO
3 years ago
profile picture
Marta completed this course, spending 6 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
2 years ago
Ilya Rudyak completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Aleksandr completed this course.
Was this review helpful to you? YES | NO
2 years ago
Rey Raul Coaguila completed this course and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
2 years ago
Michael A. Alcorn completed this course.
Was this review helpful to you? YES | NO
4 months ago
profile picture
Ray S completed this course.
Was this review helpful to you? YES | NO
2 years ago
Tabish Sada completed this course.
Was this review helpful to you? YES | NO
a year ago
Kritik Bhimani completed this course.
Was this review helpful to you? YES | NO
2 years ago
Zuzana Záborská is taking this course right now.
Was this review helpful to you? YES | NO
2 years ago
Karthik Kumar completed this course, spending 4 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
10 months ago
Kamalneet Singh completed this course.
Was this review helpful to you? YES | NO
8 months ago
Mauro Lacy completed this course.
Was this review helpful to you? YES | NO
8 months ago
profile picture
Daniel Finol completed this course.
Was this review helpful to you? YES | NO
a year ago
Colin Khein completed this course.
Was this review helpful to you? YES | NO
Was this review helpful to you? YES | NO
10 months ago
profile picture
Alfredo Kalaitzis completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Rafael Prados completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Kripa Sankar is taking this course right now.
Was this review helpful to you? YES | NO
2 years ago
Aleksei Zherebtcov completed this course, spending 9 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
2 years ago
Simmi Mourya completed this course.
Was this review helpful to you? YES | NO
9 months ago
Michael completed this course.
Was this review helpful to you? YES | NO
8 months ago
profile picture
Jose Manuel Mejías Rodriguez completed this course.
Was this review helpful to you? YES | NO
3 years ago
profile picture
Reudismam completed this course, spending 10 hours a week on it and found the course difficulty to be very hard.
Was this review helpful to you? YES | NO
11 months ago
profile picture
Ivan Skachkov completed this course.
Was this review helpful to you? YES | NO
9 months ago
Sajid Zaman completed this course.
Was this review helpful to you? YES | NO
11 months ago
profile picture
Lucio Melito completed this course.
Was this review helpful to you? YES | NO
3 years ago
profile picture
Huy completed this course, spending 8 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
2 years ago
You-cyuan Jhang completed this course, spending 10 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
2 years ago
Gaurabh is taking this course right now.
Was this review helpful to you? YES | NO
Was this review helpful to you? YES | NO
3 months ago
Ashlynn Pai partially completed this course.
Was this review helpful to you? YES | NO
3 months ago
Dushyant Jangra completed this course.
Was this review helpful to you? YES | NO
a year ago
Abhi partially completed this course.
Was this review helpful to you? YES | NO
2 years ago
Jarek Skrzypek completed this course.
Was this review helpful to you? YES | NO
2 years ago
Maciej completed this course.
Was this review helpful to you? YES | NO
Was this review helpful to you? YES | NO
a year ago
Valentin Kofman completed this course.
Was this review helpful to you? YES | NO
2 months ago
Jiting Tian completed this course.
Was this review helpful to you? YES | NO
3 years ago
profile picture
Deepak completed this course, spending 8 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
2 years ago
Matteo Ferrara is taking this course right now.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Anonymous dropped this course.
Was this review helpful to you? YES | NO
a year ago
Gregory Deangelis completed this course.
Was this review helpful to you? YES | NO
5 months ago
Mariusz Bartosik completed this course.
Was this review helpful to you? YES | NO
2 months ago
Adam Hjerpe completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Anonymous is taking this course right now.
Was this review helpful to you? YES | NO
a year ago
Mark Henry Butler completed this course.
Was this review helpful to you? YES | NO

Write a review

How would you rate this course? *
How much of the course did you finish? *
Review
Create Review