Algorithms, Part II

Provided by:
9/10 stars
based on  11 reviews
Provided by:
Cost FREE
Start Date On demand

Course Details

Cost

FREE

Upcoming Schedule

  • On demand

Course Provider

Coursera online courses
Coursera's online classes are designed to help students achieve mastery over course material. Some of the best professors in the world - like neurobiology professor and author Peggy Mason from the University of Chicago, and computer science professor and Folding@Home director Vijay Pande - will supplement your knowledge through video lectures. They will also provide challenging assessments, interactive exercises during each lesson, and the opportunity to use a mobile app to keep up with yo...
Coursera's online classes are designed to help students achieve mastery over course material. Some of the best professors in the world - like neurobiology professor and author Peggy Mason from the University of Chicago, and computer science professor and Folding@Home director Vijay Pande - will supplement your knowledge through video lectures. They will also provide challenging assessments, interactive exercises during each lesson, and the opportunity to use a mobile app to keep up with your coursework. Coursera also partners with the US State Department to create “learning hubs” around the world. Students can get internet access, take courses, and participate in weekly in-person study groups to make learning even more collaborative. Begin your journey into the mysteries of the human brain by taking courses in neuroscience. Learn how to navigate the data infrastructures that multinational corporations use when you discover the world of data analysis. Follow one of Coursera’s “Skill Tracks”. Or try any one of its more than 560 available courses to help you achieve your academic and professional goals.

Provider Subject Specialization
Humanities
Sciences & Technology
4724 reviews

Course Description

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
Reviews 9/10 stars
11 Reviews for Algorithms, Part II

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
Student profile image
Student profile image

Student

10/10 starsCompleted
6 years, 5 months ago
Bob Sedgewick is pretty gifted in making very difficult ideas understandable. The programming assignments are spectacular. In one you get to build an image resizing program that's able to cut less important parts of an image out (e.g., empty sky or uniform green grass) to retain the most important areas. Another you get to implement the Burrows-Wheeler transform along with a couple of others to build a program that does better file compression than a lot of commercial products. Algorithms II is even better than Algorithms I (also by Sedgewick & Wayne), and Algorithms I was incredible. This offering was much more fun and more in-depth than the sophomore data structures course I took when I was in school (and it was a school with a very well-regarded CS program). I think this course is better than the 6.006 algorithms video course from MIT OpenCourseware, though the MIT course is more mathematical. But this one (and Algorithms I) you g... Bob Sedgewick is pretty gifted in making very difficult ideas understandable. The programming assignments are spectacular. In one you get to build an image resizing program that's able to cut less important parts of an image out (e.g., empty sky or uniform green grass) to retain the most important areas. Another you get to implement the Burrows-Wheeler transform along with a couple of others to build a program that does better file compression than a lot of commercial products. Algorithms II is even better than Algorithms I (also by Sedgewick & Wayne), and Algorithms I was incredible. This offering was much more fun and more in-depth than the sophomore data structures course I took when I was in school (and it was a school with a very well-regarded CS program). I think this course is better than the 6.006 algorithms video course from MIT OpenCourseware, though the MIT course is more mathematical. But this one (and Algorithms I) you get to implement some really cool stuff. I'll definitely re-enroll on the next offering since Prof Wayne said they're likely to add more programming assignments, perhaps with the requirement that you do x number of projects.
Was this review helpful? Yes4
 Flag
Dmytro Sawochkin profile image
Dmytro Sawochkin profile image
10/10 starsCompleted
  • 64 reviews
  • 58 completed
2 months, 1 week ago
Great course for everybody, who's studying computer science and programming. The author has a rare talent of explaining complicated things in a clear manner, step by step expanding your proficiency. I personally was amused by the elegance of his explanation of Black-Red trees, which he made step-by-step from 2-3 trees. Taking into account, that Bob Sedgewick is a famous computer scientist himself, and is the one invented Red-Black trees, the course is especially valuable. The only flaw if that the author uses only Java for showing the implementation of the algorithms. Using more, than 1 language would be more appealing.
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

10/10 starsTaking Now
3 years, 4 months ago
Instructor has made the implementations of the difficult algorithm easy to wrote and understand. Especially the implementation of the red-black BST was wonderful. I would like to see more such courses teaching more higher concepts which are applicable in software code construction.
Was this review helpful? Yes0
 Flag
Borys Zibrov profile image
Borys Zibrov profile image
10/10 starsCompleted
  • 9 reviews
  • 8 completed
5 years, 5 months ago
I already wrote a review for the first part of this course. So, I won't repeat main points here (that is, course is great and of a very good quality). Topics covered in a second part are also extremely common and useful (i.e. string processing, REs, data compression), but there are also more advanced topics (i.e. graph processing, intractability). Graph theory is just 3 weeks, so it may seem like lots of new stuff to learn in such a short period of time, but there's one week break to catch up (that is nice). Overall this course took me more time to complete than the first part, and in the end I decided that I'll take a break with the algorithms for a while :) Well, for me there are almost no dislikes. Some algorithms (like linear programming and manber-myers) were covered briefly, but there were not really enough time for all of them. So I guess they are just topics for more advanced courses (i.e. like linear and integer programming ... I already wrote a review for the first part of this course. So, I won't repeat main points here (that is, course is great and of a very good quality). Topics covered in a second part are also extremely common and useful (i.e. string processing, REs, data compression), but there are also more advanced topics (i.e. graph processing, intractability). Graph theory is just 3 weeks, so it may seem like lots of new stuff to learn in such a short period of time, but there's one week break to catch up (that is nice). Overall this course took me more time to complete than the first part, and in the end I decided that I'll take a break with the algorithms for a while :) Well, for me there are almost no dislikes. Some algorithms (like linear programming and manber-myers) were covered briefly, but there were not really enough time for all of them. So I guess they are just topics for more advanced courses (i.e. like linear and integer programming or something) or self-study.
Was this review helpful? Yes0
 Flag
Jim Humelsine profile image
Jim Humelsine profile image
10/10 starsCompleted
  • 7 reviews
  • 7 completed
5 years, 6 months ago
Disclaimer - I audited this course. I watched every video, but I did not do the programming assignments. Algorithms Part II is a great follow up to Algorithms Part I. I just spent the past day review the slides and summarizing the topics of the course. I had forgotten how much material was covered. Rather than mastery, I'm focusing upon understanding. I'll consult the online materials when needed. I have two specific comments about the course: \+ I would like more examples on how to apply mincut/maxflow in graphs. I understand the theoretical concept and the algorithm, but I'm not sure how to apply it. I see how it was applied in the lecture examples, but there was no presentation on how one would recognize when a problem might be solved using mincut/maxflow and how one would go about converting a problem into a graph so as to solve it. \+ The optional Linear Programming section could have had a few more examples as well. I also have... Disclaimer - I audited this course. I watched every video, but I did not do the programming assignments. Algorithms Part II is a great follow up to Algorithms Part I. I just spent the past day review the slides and summarizing the topics of the course. I had forgotten how much material was covered. Rather than mastery, I'm focusing upon understanding. I'll consult the online materials when needed. I have two specific comments about the course: \+ I would like more examples on how to apply mincut/maxflow in graphs. I understand the theoretical concept and the algorithm, but I'm not sure how to apply it. I see how it was applied in the lecture examples, but there was no presentation on how one would recognize when a problem might be solved using mincut/maxflow and how one would go about converting a problem into a graph so as to solve it. \+ The optional Linear Programming section could have had a few more examples as well. I also have two policy comments: \+ Princeton does not offer Statements of Accomplishment. You won't even get a final grade. \+ The Algorithms' staff shuts down the site after a session is over, sometimes soon after a session is over. So if you want access to the materials you need to download the files, especially the videos. However, the staff does keep a lot of material available online outside of Coursera, including their online book and Java implementations of the algorithms.
Was this review helpful? Yes0
 Flag
Homer Thompson profile image
Homer Thompson profile image
10/10 starsCompleted
  • 9 reviews
  • 7 completed
5 years, 9 months ago
For anyone who loves programming, this is a truly memorable course taught by one of the great heavyweights in the field. It's really something to see that such an important researcher as Sedgewick is also a phenomenal teacher. It's beautiful the way he shows the algorithms operating. Most powerpoint/pdf lectures are just frankly wastes of time to me, but Sedgewick animates his algorithms slowly and without skipping steps on his slides so that you really see how the algorithms work. It can be so hard to look at a piece of code and decipher exactly what the process is that's being executed, but the animations really help to clarify. A lot of these graph and string processing algorithms can look pretty daunting, but Robert has a gift for explaining them in a straightforward way so that you can remember and understand them. I also love that Sedgewick is very concerned with real world performance vs simple asymptotic results like you see ... For anyone who loves programming, this is a truly memorable course taught by one of the great heavyweights in the field. It's really something to see that such an important researcher as Sedgewick is also a phenomenal teacher. It's beautiful the way he shows the algorithms operating. Most powerpoint/pdf lectures are just frankly wastes of time to me, but Sedgewick animates his algorithms slowly and without skipping steps on his slides so that you really see how the algorithms work. It can be so hard to look at a piece of code and decipher exactly what the process is that's being executed, but the animations really help to clarify. A lot of these graph and string processing algorithms can look pretty daunting, but Robert has a gift for explaining them in a straightforward way so that you can remember and understand them. I also love that Sedgewick is very concerned with real world performance vs simple asymptotic results like you see in books such as CLRS. Aside from the quality of presentation, the quality of assignments is outstanding. The seam carver program alone is worth taking the class for (seam carving is a way to find the least important parts of an image so that they can be cut out without losing the main action in the photo when resizing; the results you'll get with the program you write are incredible!). And as previously mentioned, the Burrows- Wheeler program is great too. The autograder is spectacular, since it times your programs as well as tracking their memory usage. The autograder was responsible for building up a great community of students in the forums; we would post our runtimes and memory usage as a challenge, and two hours later someone would post better ones. And then we'd all tweak our algorithms to try to beat that runtime, and so on. I mean it's highly addictive to see how far you could push things and how much you could improve the textbook implementations once you got the program correct first. The one downside to the autograder is that it is so good and detailed that it discourages testing, which just in the end makes your program take longer to write. Even though I think this is a major trade-off, it's probably still worth it to have that competitive (but in an enjoyable way) atmosphere in the forums that would never be there if submissions were limited. One other item of note: Professor Kevin Wayne was EXTREMELY active on the forums. I can't count how many times I'd have a question about something and Professor Wayne would weigh in within a couple of hours to answer me. I don't know how he has the energy, but we'd be fools to not take advantage!
Was this review helpful? Yes1
 Flag
Juzer Ali profile image
Juzer Ali profile image
8/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 10 months ago
I was familiar with graph problems from another coursera course. I found this course to be tough because of programming assignments. They were very good examples of algorithms in use, but the implementation was too advanced.
Was this review helpful? Yes0
 Flag
Dzmitry Paulenka profile image
Dzmitry Paulenka profile image
10/10 starsTaking Now
  • 1 review
  • 0 completed
5 years, 12 months ago
Every IT specialist should take this course! It combines conciseness with easy to understand examples. However, I cannot tell this course is a medium difficulty. In the same time course topics touch unresolved and challenging modern problems. So if you want to know how deep the rabbit hole goes there is such opportunity. Course naturally combines theory with practical assignments. Knowledge of Java is required. Thanks to this course I discovered a huge field of Computer Science. Now I have good feeling of algorithms, data structures and have good practice experience. This course had big influence on my career decision. Now it is not enough for me to be a "simple" programmer. And I hope that my future career will be connected with Computer Science :-)
Was this review helpful? Yes0
 Flag
alinsoar profile image
alinsoar profile image
10/10 starsCompleted
  • 3 reviews
  • 3 completed
5 years, 10 months ago
One of the best classes I ever took in my life. This is a class that must not miss from the curricula of any CS. I am quite sad that the other classes of Sedgewick -- of Analysis of Algorithms and Analytic Combinatorics -- do not have an automatic grader.
Was this review helpful? Yes0
 Flag
Roman Shapovalov profile image
Roman Shapovalov profile image
8/10 starsCompleted
  • 7 reviews
  • 7 completed
6 years ago
I decided to take this course bypassing the part I, since I had already known most algorithms covered in it (as well as half of the part II algorithms), but was interested in string algorithms and compression. It was relatively easy to dive in, although the style of presentation chosen by Robert Sedgewick is quite untypical for a fundamental algorithms course. It is very implementation-oriented, he literally discusses the specifics of Java implementation: some may appreciate that, but I didn’t. Still, the theory is covered well: for all algorithms the time complexity is discussed. The lectures contain some fun facts and clever jokes. Assignments also reflect this implementation-oriented nature of the class: you solve interesting practical problems (which is good), and test scripts estimate the computation time and coding style. This is debatable, since—yes, you can implement all sorts of caching, but what’s the point to do it in a th... I decided to take this course bypassing the part I, since I had already known most algorithms covered in it (as well as half of the part II algorithms), but was interested in string algorithms and compression. It was relatively easy to dive in, although the style of presentation chosen by Robert Sedgewick is quite untypical for a fundamental algorithms course. It is very implementation-oriented, he literally discusses the specifics of Java implementation: some may appreciate that, but I didn’t. Still, the theory is covered well: for all algorithms the time complexity is discussed. The lectures contain some fun facts and clever jokes. Assignments also reflect this implementation-oriented nature of the class: you solve interesting practical problems (which is good), and test scripts estimate the computation time and coding style. This is debatable, since—yes, you can implement all sorts of caching, but what’s the point to do it in a throw-away academic exercise, you have already implemented the required algorithm correctly, after all. For the coding style: you may be used to another one; it does not contribute to the final score though. This is one of few courses that do not issue any form of certificate (so it is not listed as a completed course on the records page), which may be important for some students. In spite of that nagging, I liked the course. Robert made a good counterpart to his famous book. I wonder why there are too few reviews here; hopefully they will come soon.
Was this review helpful? Yes0
 Flag
Patrix Rembang profile image
Patrix Rembang profile image
8/10 starsCompleted
  • 10 reviews
  • 10 completed
6 years, 1 month ago
This is the continuation of Algorithms, Part I. Great course, like the Part I. You'll learn string and graph algorithms, as well as some more theoretical aspects like problem reduction, and complexity classes. You probably should take the Part I before taking this, because the string and graph algorithms sometimes used the basic data structures covered in Part I.
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.