Algorithms: Design and Analysis, Part 1

Tim Roughgarden — Stanford University  

Rating
4.6
14 reviews
Difficulty
3.5
Workload5-7 hours/week
Next SessionTBA
Categories Computer Science
Computer Theory

GO » Write Review

People interested in this course were also interested in


Algorithms, Part I
Princeton University — Robert Sedgewick, Kevin Wayne

4 Reviews
Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne — Martin Odersky

24 Reviews
Algorithms
Michael Littman

1 Review
Algorithms, Part II
Princeton University — Robert Sedgewick, Kevin Wayne

1 Review
Algorithms: Design and Analysis, Part 2
Stanford University — Tim Roughgarden

1 Review

14 Reviews


3
By Afref Fetter 5 months ago
Completed

Prior experience in the field: Some basic reading on algorithms/data structures.

Like:
Covered many interesting topics, although most involved data structures.

The programming assignments were interesting, and allowed you to work in whatever language you wanted (But... see "Dislike").

The quizzes were worthwhile as well, as opposed to most online courses.

The lecturer is very enthusiastic and engaging. His tone is informal and this makes the material easy (& fun) to absorb.

Dislike:
No algorithms were covered, but this will be covered in Part 2 of this course.

Tim Roughgarden's handwriting is a little tough to understand, although he gave ample warning at the beginning of the course.

The programming assignments only checked the final output and you couldn't receive too much feedback on your code (But, this provided for some advantages... see "Like").

Suggested improvements:
Provide more programming assignments.

Overall:
A good course to get started with algorithms, Tim Roughgarden explains even the toughest of concepts with ease.

2
By Sebastián Ramírez Montaño from Bogota, Bogota D.C. 5 months ago
Completed

It's true. This is a key course!

After this course I see algorithms everywhere (not only in computers) and I can analyse and improve them.

Here's a real life example (it actually happened): My mother had to order 300 papers, by the ID of some person.
I helped her, using one of the algorithms that I learned with this course.
Doing that, the work needed was reduced from 90,000 steps to 2,468.
We didn't even use any computer, we only changed the way we ordered and compare the numbers of those papers.

Yes I think, this course makes you a little bit smarter.

Professor Tim Roughgarden has the minimal perfect examples to show the exact point of every algorithm, you can see all the things that could happen with one of those algorithms and then understand them deeply and better.

Also, those rather abstract alghorithms I learned, resulted being tremendously useful in various areas afterwards, for example in networks and artificial intelligence.

Finally, the programming assignments are great, they make you get your hands "dirty" and understand very well what really happens.

1
By Henrik Warne from Stockholm, Sweden 7 months ago
Completed

A full review of this course can be found here: http://henrikwarne.com/2012/05/08/coursera-algorithms-course/

0
By Karthik Puthraya from Bangalore, Karnataka 4 days ago
Completed

I signed up for this course to help me better prepare for graduate studies which I will begin a couple of months. Lacking a formal background in theoretical topics of Computer Science, I found this course immensely useful. I did this course concurrently with the Algorithms I course taught by Prof. Sedgewick. I found this combination, though very hectic, ultimately very rewarding. The theory being taught in this course was complimented nicely by the practical Java programming being taught in Prof. Sedgewick's course.
I especially enjoyed the Prof. Roughgarden's enthusiasm and teaching style. I don't have any real complaints about the course. Two thumbs-up and looking forward to the second part of the course.

0
By Jesse Spaulding from San Francisco, California 9 days ago
Completed (Partially)

I came at this course without any formal background in computer science. Everything I know I've learned as a result of simply learning as I go. However it occurred to me I could never pass a technical interview because I didn't know the most basic of algorithms that interviewers expect you to know.

Pros:
- Taking this course made me feel like a bad-ass software developer. I now have a good understanding of algorithm complexity and how to develop solutions in any areas where performance is an issue.
- Tim knows his stuff

Cons:
- Tim's handwriting is often quite poor AND what he is diagramming/writing often seem to be way out of sync with what he is saying. This makes things really confusing. I often found I had to look away from the screen and just listen to his voice.
- In some of the other courses I've taken I really get the feeling the professor is there to help me learn.. In this one it feels like Tim is there to simply convey information.
- This course did not take advantage of the medium. For algorithms like quick sort or merge sort I can fully understand it with a simple animation so much easier than a long description. See here: http://www.youtube.com/watch?v=y_G9BkAm6B8

In conclusion I think with a bit more effort this course could be amazing. Having said that I did learn a lot and found this to be a very valuable course.

0
By Chris Beard from Atlanta, Georgia 20 days ago
Completed

My first algorithms course. Prof was excellent; explains things in a very systematic and clear way with great examples.

0
By Colin Jack 49 days ago
Completed

Absolutely superb course, the professor is clearly highly passionate about the topic and does a great job of explaining all the content.

One thing I'd recommend is if you aren't too hot on probability then do learn that before the course, it is actually quite important.

0
By Jack Shen from Melbourne, Victoria 55 days ago
Completed

What was your prior experience in the field?

I work as the a lead software engineer in a Fortune 500 company that contracts work for Defence.

What did you learn?

Many complicated algorithms and more so than the ones I learned during my University years. Also asymptotic analysis was covered in depth which will definitely come in handy in my current work.

Did the course meet expectations?

Definitely exceeded!

What did you like/not like?

Really like the amount of detail put into the lecture videos. But did not like the ambiguity of the way some problem sets were worded.

How does this course compare to similar courses?

This was my first Coursera course so I do not know how to compare. But compared to my university studies I would say it is equivalent to a 4th year subject. I scored the highest among my peers for my 4th year study yet I found this course quite challenging!

0
By Dongliang Yu from Nanjing, Jiangsu Sheng 55 days ago
Completed

Fantastic course for algorithm. The professor is interesting and the lecture is well organized. Great!

0
By Eugene Safronov from Kiev, Misto Kyyiv 2 months ago
Completed

I have been worked as a professional software engineer for 8+ years. My prior experience with algorithms back to high school when I participated in programming contests. 10 years ago a lot of stuff was unclear for me from the theoretical stand point, I just used those efficient QuickSort and Deikstra algorithms. From the course I learned a lot of good material that helped my clarify great thinking behind those "super hits" algorithms. The quality of the lectures, the enthusiasm of the instructor (Tom) were on the highest level. The course exceeded my expectations.

I think the only thing that could be improved is some of the programming assignments that were unproportionally easier than others, like those that could be solved with "brood force" methods.

I highly recommend the course for everyone who interested in the topic. I should mention that without good background in algorithms and data structures you have no chance to get job in Google, Amazon, Facebook.

0
By Ishfaque Rafee from Dhaka, Dhaka 2 months ago
Completed

If I could give six stars to only one course, that would be it. It was such a pleasure to do this course. If someone makes list of the best teacher they have ever seen, the instructor should certainly make the top of the list. The only downside of the course was that, the instructor was not quite engaging in the forum. But other students nicely filled up that gap.

-1
By Brock Sides from Memphis, Tennessee 2 months ago
Completed (Partially)

The biggest problem with this class, I think, is that it's language-agnostic. At first I thought that would be great - I can use whatever language I'm most comfortable with - but there are big downsides to this.

First, you won't get to see sample code from the instructor after an assignment to compare with your own. And second, since so many different languages are in use, it's hard to get help in the forums.

I made it through the sorting algorithms, but I had to give up when we got to graph algorithms, because I had trouble implementing the data structures.

I think a better approach would have been to pick a popular language such as Java or Python, and conduct the class in that language. The instructor could then provide a code base that included the data structures, and the students could just focus on implementing the algorithms.

0
By Roman Vorushin from Zurich, Zurich 6 months ago
Completed

Like it a lot. I really appreciate the "analysis" part. The same problems usually approached with 2 algorithms: randomized and deterministic.

I definitely will take Part 2 of this class.

0
By Daniel Ward from Stafford, England 7 months ago
Completed (Partially)

This course really helped me improve and understand algorithmic techniques a lot better. The information in the course was thorough and there was a lot of interesting background to the topics in the opening few lectures.

The material moved at a quick pace so I did find it a little difficult to keep up some times, but there was a large amount of help on the discussion forums and the community for the course was fantastic.

As he says in the opening lectures about how students come back to him and tell him how this course helped them pass an interview, I can not stress how much more prepared I am now for algorithmic questions and problems. Not only do I know how to implement an algorithm better I can explain my reasoning behind why I am using a specific one.

Really look forward to starting part 2

30 People Interested  Show




Support us:    

Follow us on Twitter, Google+, and Facebook.

Read about us.

© 2012 CourseTalk