Back to Advanced Algorithms and Complexity

stars

610 ratings

•

117 reviews

You've learned the basic algorithms now and 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.

EM

Jan 3, 2018

As usual, complex arguments explained in simple terms!\n\nSome problems are really tough! (e.g. there's a problem from Google Code Jam).\n\nThank 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 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 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 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 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 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 K I

•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 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 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 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 Eugenio G 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 Syed H 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!

By Anton R

•Mar 2, 2019

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

By Priyansh B

•May 31, 2019

Was fun learning advanced stuff and implementing algorithms.

By Tamilarasu S

•Apr 10, 2018

Very well made course with challenging algorithm problems.

By Pablo E M M

•May 20, 2018

Great Courses!. Thanks for this wonderful specialization!

By Joseph G N

•Sep 2, 2018

An incredible course,the exercises were very interesting

By Ahmad B E

•Jan 10, 2018

This is how algorithms should be taught.

By SYED J H

•Oct 11, 2020

4 star only for Alexander Kulikov who was really great in his lectures. Though I gave 5 stars on the previous 4 courses of this specialization, I couldn't do this for this course. For me, to follow the first 2 weeks was a nightmare. During the whole specialization, I would like to thank Alexander Kulikov and Michael Levin. Other instructors' teaching style was not comfortable for me.

By Mykhailo M

•Sep 29, 2020

The first two weeks have unclear lectures and pseudocode. The simplex task was the most complex in this specialization. The 3rd and 4th weeks have interesting and good lectures.

- Google Data Analyst
- Google Project Management
- Google UX Design
- Google IT Support
- IBM Data Science
- IBM Data Analyst
- IBM Data Analytics with Excel and R
- IBM Cybersecurity Analyst
- Facebook Social Media Marketing
- IBM Full Stack Cloud Developer
- Salesforce Sales Development Representative
- Salesforce Sales Operations
- Soporte de Tecnologías de la Información de Google
- Certificado profesional de Suporte em TI do Google
- Google IT Automation with Python
- DeepLearning.AI Tensorflow
- Popular Cybersecurity Certifications
- Popular SQL Certifications
- Popular IT Certifications
- See all certificates

- Skills for Data Science Teams
- Data Driven Decision Making
- Software Engineering Skills
- Soft Skills for Engineering Teams
- Management Skills
- Marketing Skills
- Skills for Sales Teams
- Product Manager Skills
- Skills for Finance
- Android Development Projects
- TensorFlow and Keras Projects
- Python for Everybody
- Deep Learning
- Excel Skills for Business
- Business Foundations
- Machine Learning
- AWS Fundamentals
- Data Engineering Foundations
- Data Analyst Skills
- Skills for UX Designers

- MasterTrack® Certificates
- Professional Certificates
- University Certificates
- MBA & Business Degrees
- Data Science Degrees
- Computer Science Degrees
- Data Analytics Degrees
- Public Health Degrees
- Social Sciences Degrees
- Management Degrees
- Degrees from Top European Universities
- Master's Degrees
- Bachelor's Degrees
- Degrees with a Performance Pathway
- Bsc Courses
- What is a Bachelor's Degree?
- How Long Does a Master's Degree Take?
- Is an Online MBA Worth It?
- 7 Ways to Pay for Graduate School
- See all degrees