Back to Advanced Algorithms and Complexity

stars

679 ratings

In previous courses of our online specialization you've learned the basic algorithms, and now you are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them in practice. We finish with a soft introduction to streaming algorithms that are heavily used in Big Data processing. Such algorithms are usually designed to be able to process huge datasets without being able even to store a dataset....

FS

Oct 21, 2020

It's was great to learn advanced algorithms and complexity. Besides, I learn new topics that can help me further learning. All the problems and the lectures were very good.

GM

Jan 3, 2018

As usual, complex arguments explained in simple terms!

Some problems are really tough! (e.g. there's a problem from Google Code Jam).

Thank you for this course!

Filter by:

By To P H

â€¢Sep 27, 2018

Very bad course content for some modules

Many abstract concepts and mathematical terms but with severe lack of explanation of the terms and lack of specific, concrete examples to help learners to understand them

For example: in LP module there should be example of how the primal and dual matrix looks. How simplex algorithm is used on a specific example (showing explicit graph). I undertood only 25% of what was discussed about in this module

No motivation to move on after week 2!

Other weeks are slightly better

In summary: Too many abstract concepts with little examples

By Kirill M

â€¢May 10, 2017

Very weak explanations. Most time I spent in the internet googling how to implement assignments, because it was not clear from the course.

By Yue S

â€¢Oct 21, 2019

I really dislike Daniel Kane's teaching style!!! His slides are rough and lack of details, the structure of his lectures is loose. Every time I met a Unit taught by Kane, I have to spend much more time on videos and assignments than other Units. This makes me very annoyed -- why can't this teacher be more serious on teaching just like other teachers in this course??? :-(

By Chitrang S

â€¢Aug 26, 2019

Very Very Challenging Course , it test your patience and rewards is extremely satisfying. Lot of learning on a complicated subject of NP-Hard problems.

By Nikhil

â€¢Jan 4, 2017

Loved what I learnt, I also implemented a project using Google MAP API for the organization I'm working at

By Fernando P

â€¢Jan 1, 2020

Shout-out to professor Alexander Kulikov that is the only one in the whole specialization who has good didactics skills. He knows how to explain a concept by giving examples and walking through them step by step so the viewer can understand the thought process. Unfortunately, professor Kane's lectures were poorly taught. I understand that his videos are older and maybe the technology wasn't there yet when he recorded the lectures. You'd better off skipping those lectures and going through the assignments directly, learning the material elsewhere.

By Rahul K

â€¢Jun 9, 2020

lecturer seems to be reading slides without providing detailed analysis and proofs seem very superficial as well

By Yinchung C

â€¢May 14, 2019

This is a very challenging course in the specialization. I learned a lot form going through the programming assignments!

By Mahdi H

â€¢Dec 13, 2020

Poor delivery. Skipping too many details. poor slides. poor in increasing learners' interest in the subject.

By VontMan

â€¢Apr 15, 2017

Thank you very much for this awesome course, I really enjoyed and learned alot from it.

I really liked the selected topics, they act like an intro to some really interesting fields in the programming.

I've learned about NP multiple times but never found a use to it until now, the problems were really good and informative.

I think the linear programming was pretty rushed, it should've been expanded over two weeks with more in details.

Maybe add a problem or explain the use of duality .

By Kota M

â€¢Sep 16, 2016

I enjoyed the course a lot. I cannot thank the instructors enough.

It would have been more interesting if we could go deeper on linear programming, such as extension to integer programming. The discussion about the duality was a bit too fast to me.

By Ð•Ð²Ð³ÐµÐ½Ð¸Ð¹ Ð¡

â€¢Nov 23, 2020

I started this a couple of days ago and have been doing it hard as part of my specialization. I have only one quiz left and on November 23, a deadline suddenly came, despite the fact that I devoted a lot of time to the course and in fact completed it in two days. I have completely closed all 6 courses for specialization except for one quiz of 6 questions in week 4. Now someone has decided that the next set is only in half a year, seriously? All I need is to go through an automatic check of 6 questions without human control and get my cherished certificate. But it turns out that I wasted money? What is worth extending the course? I cannot wait that long and pay extra money. Could the moderators somehow influence this by informing people who can help?

By Tamas K

â€¢May 5, 2018

Great course again! The problems are considerably more difficult than in the previous courses in this specialization. The only problem is that the forum interaction with TAs is nonexistent, if you stuck with a problem, you have to solve it alone.

By Madan K

â€¢Oct 9, 2016

Excellent but tough course ,you need to work and it is not simply called advanced Algorithms and Complexity.

You will be forced to test your code properly ,even if you didn't do it properly in the previous specialisation course.

By Dr K S V

â€¢May 18, 2020

Excellent Course. I learnt new things like integer programming and bioinformatics related applications.

I did my Ph.D in bioinformatics datasets. Stream matching algorithms and apllication oriented wonderful examples

By Giuseppe M

â€¢Jan 4, 2018

As usual, complex arguments explained in simple terms!

Some problems are really tough! (e.g. there's a problem from Google Code Jam).

Thank you for this course!

By Anton R

â€¢Mar 2, 2019

Liked this course, at least there are courses for advanced level.

By Greg G

â€¢Apr 3, 2020

An incredibly challenging course with a lot of juicy content. Builds heavily on previous courses in the Data Structures and Algorihms specialization such as hashing, graph searching, data structures, stress testing, algorithmic complexity etc. But given you completed those, you already know how to solve such problems, and it's rewarding to see all the pieces working as you put them together. Also, this course requires some additional maths knowledge such as linear algebra, logic and probability theory. All in all, the "advanced" attribute fits well.

Assignments are wildly varying in difficulty - completing one took me 3 days, another was done in just 30 minutes. They were mostly fine (except for the simplex linear programming solver which I haven't even attempted) and forums were very useful for guidance.

The videos themselves are usually okay, the only seriously lacking area is the linear programming week with Daniel Kane. LP (a fundamental subject in computer science) in itself could fill a whole course, but simply put, his explanations and examples fell short, it was very hard to understand them. So refer to the additional readings there if you are interested. On the other hand, the rest of the course is nice.

Week 1 (flow networks) with Daniel was also kind of hard, but not impossible to understand. Alexander Kulikov's 2 weeks on NP-completeness are the high mark of the course, with engaging and clear explanations. Michael Kapralov's optional 'heavy hitters problem' videos are also interesting and pretty well explained.

By Victor d C A

â€¢Nov 29, 2022

This course is not easy and what makes it even more difficult is the lack of examples and poor lecture content. Many algorithms and problems are given with only one example which is not sufficient to solve anything. There are lectures that appear to have only two slides... They are few differences or just many slides saying the same thing and that does not help who is trying to complete the course.

The problem is not the professor explaining the concepts, but the content and materials of the course.

By pengwei

â€¢Feb 10, 2017

poor course. never give any algorithm. No clue where the problem come from. The forum is only help a few people. No general ideas how to solve the problem. waist a lot of time debugging but still couldn't pass the assignment.

total waste my time and garbage course.

By Fahmim M S

â€¢Oct 22, 2020

It's was great to learn advanced algorithms and complexity. Besides, I learn new topics that can help me further learning. All the problems and the lectures were very good.

By Andrii S

â€¢Jun 15, 2018

Another great course in this specialization with challenging and interesting assignments. However, this one is somewhat harder but rewarding.

By Hussain A

â€¢Feb 12, 2020

Really rigorous and fundamental with what scientist and other professionals need to know about programming.

By Surbhi M

â€¢Dec 14, 2019

This course is wonderful.I am really feel like I have all knowledge of adsa

By Addis R S

â€¢Sep 26, 2016

Thank you very much. I learned a lot in this course. I recommend it!