Back to Algorithmic Toolbox

stars

10,988 ratings

•

2,341 reviews

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second)....

SG

Jan 19, 2017

I liked the fact that the algorithms are not just the introductory searching and sorting algorithms. The assignments are fairly difficult (I have decent scripting experience), but not impossibly so.

BD

Jan 19, 2021

The course was really amazing which provided deep knowledge from basic to advance that how algorithms works and how to design algorithms. Thanks to all the expert teachers who taught in this course.

Filter by:

By Ashraf K

•Sep 7, 2016

the material are great so much information and it is the first from the hole specialization

but! the explanation is so weak doesn't match at all with this big data

the pseudocode is so distracting and hard to read

i always get lost and i don't know is it an array in the code or variable and what does he want to do with it

the pseudocode should be just a normal english code saying what to do

not an understandable signs :\

i am really sad that i couldn't get benefits from this amount of knowledge

By Federico C

•Mar 9, 2021

There is no way of understanding content without checking other sources, the explanations are poor.

By Ramin A

•Oct 31, 2016

Def a useful skills to have when starting to interview for jobs. This is a hard course to teach to begin with. I found the lectures really boring, too long, hard to understand and just not really motivated well. I think the homework problem are good, but they are very time consuming. You need to use various methods to find edges cases and though that might be a good skill to have as well, it's just too much to get done in one week and somewhat frustrating when you're only stuck in one test case. I think this could be an excellent course with a few modification on the slides and adding more motivations and making shorter homework problems that focuses on the main part of the material for that as oppose to things we've already covered in the previous week. At the moment, I don't think I'll continue this specialization the way it's designed.

By Pavel T

•Feb 23, 2020

This course is a complete mess.

1. In week 2 they presented fibonacci numbers solution and they said that runtime complexity is quadratic but in presented solution it was linear.

2. In practical task of week 2 they didn't provide sufficient description about what should be done

3. Language of some speakers is mediocre

By Edson J A M

•Mar 21, 2018

I tried to have this specialization and canceled before the 7-days free because the explanation is so poor by the teacher.

When seeing about Big-O notation is possible to see a poor explanation and most of the time you need to access a content to other source as KhanAcademy. It's not acceptable.

By Andrea L

•Sep 1, 2017

Very unsatisfied. At the end, I feel I learnt nothing.

1 - Explanations not always clear

2 - Too many exercises in the assignments

3 - Some exercise was not very useful and takes much time to understand what they want exactly.

4 - Price is too high per month for this course.

By sudheer n

•Aug 19, 2019

This is one of the best courses i have taken. The way these instructors come up with a problem and explain why existing techniques are not that helpful, and intuitively explaining why new method/technique would suit the problem. everything about teaching was simple yet amazing.

Moreover the assignments are also quite challenging, so they will for sure give you tough time and make you put in more effort which in turn sharpen your strengths on the concepts.

By Lucien

•Mar 21, 2017

This is a great introduction to a more formal approach to algorithms and I look forward to the rest of the courses in the specialization. The dynamic programming week was somewhat more difficult than the other weeks, but I think that could be remedied with more visualizations during the lectures.

If you're lacking in any basic maths skills, I would recommend running through Khan academy first. Functional notation and series would be especially useful.

By Kirill S

•Oct 2, 2017

This course gave an insight in the world of algorithms and taught me a number of different approaches for solving algorithmic problems (stress testing, for example). I discovered the fact that my programs didn't worked properly in all cases (I was pretty confident that they did) and realized that there are really wise solutions for many computation problems. Lastly, all course materials were explained in detail, so there were no unclear moments.

By Kevin K

•Aug 4, 2016

This course is well-designed and delivered by the experienced instructors. It is particularly suitable for those who have some basic knowledge in programming (knowing how to use if-else if-else statements, for-loop and while-loop, etc.; knowing a little bit how to write a simple code in C, C++, Python or others) and would like to enhance his programming techniques through polishing his logical thinking ability while he is designing a algorithm.

By Jonathan O

•Aug 29, 2018

I love this course. Designing algorithms in the lectures and implementing them in the weekly assignments is not only rewarding and fun, but also engaging. The test cases applied to the algorithms in the assignments are comprehensive, looking for hard-to-find, yet very important, edge cases, meaning significant testing is required for each submission, mimicking the requirements of any algorithm used outside the classroom.

Well, on to course #2!

By Souvik R

•Jul 23, 2017

So far the best course I have seen that actually teaches algorithms.This course not only explains you the algorithm but will also make you solve programming challenges based on the algorithms which requires you to look at the algorithm from a different perspective and then solve the challenge.This is what I loved the best about this course.I believe I am much better now in implementing algorithms and solving programming challenges.

By Taranpreet s

•Dec 28, 2019

The best part of the course is Assignments, as only after trying to code the algorithms one can appreciate the content of the videos and reading Material. Conceptually Dynamic Programming(Weeek5,6) is the hardest to grasp. Assignment wise I found week 4 Divide and Conquer to be more challenging. For DP assignments, pseudo-code is given for most of the questions. Thanks to the instruction team for creating this wonderful course.

By Ananth D

•Jan 26, 2020

The course content is very well designed, also the problems enhance your thinking and take it to a next level.

Also the explanations by all Professors is too good, when i repeatedly listen to the same lecture, i get greater clarity into the concepts. Thank you to all the Professors involved in teaching and designing the course.

I wish there could have some more links provided throwing clarity on of dynamic Programming.

By Samantha K

•May 15, 2016

I would've never forced myself to learn to think recursively if it weren't for this course. As someone from a mechanical engineering discipline, with a minimal background in java programming, i was able to following along with this course and complete all assignments. The discussion boards and professor's lectures were particularly helpful along with the fact that I could download everything for viewing offline.

By Jan K

•Mar 1, 2017

The best course I have done on Coursera. The authors have put together a great set of lectures and especially programming assignments, which really force you to think about what you are doing rather than go by trial and error. What's more, you can submit these in about a dozen commonly used programming languages so you can practise the language of your choice while learning about algorithms. Highly recommended!

By Mohamed A

•Aug 26, 2019

amazing course. if you are looking to know fundamental algorithms like DP, Greedy, divide and conquer this course is amazing.

in my opinion, this course is essential for any software engineer but if you just started your way it is better to know how to write simple programmers and be confident with basic topics like loops, conditions ..etc

i recommend python for every body as a start if you have no knowledge

By Andre C

•Jun 19, 2016

This course was a great introduction to algorithms. I am a novice programmer at best and had little to no knowledge about algorithms before this course. The concepts and programming assignments were challenging and I did not finish all of them the way I would have liked to but the challenge has made me more knowledgeable and a slightly better coder. Thank you. I will be taking data structures next.

By Alexander D

•May 15, 2017

Great introductory course. Lots of details and interesting problem sets. Extremely quick responses with the discussion forum. Great help.

One suggestion would be to be a bit better at explaining things, especially the mathematical proofs. They are quick rigorous, yes, but more emphasis should be given on understanding why in simple, human language. Then we could go over the proof together.

By Alejandro O

•Dec 30, 2017

This is the best algorithm course that I have taken, it has its problems but overall complete and the instructors guide you and seem to care for teaching well their subject.

I appreciate the work that you have done here for all of us interested to polish our skills and deepen our knowledge in algorithms.

Keep the good work guys.

*This opinion is based on the complete specialization

By ARELLANO, J (

•Oct 6, 2019

This course is really helpful, at first I was submitting my cpp files for the projects and was having a hard time on having it on a passing grade. This course encouraged me to learn how to code using python. I have a hard time understanding the lessons but it's a good thing that I can just go back and play the video over and over again in order for me to understand each lessons.

By Karan R S

•Jul 24, 2016

My programming and algorithm design greatly improved after taking this course. Through the advanced problem sets I was able to appreciate the finer aspects of efficient algorithm designing and I'm sure that I'll improve a lot with courses to come.

I would definitely recommend this course to any one who wishes to improve his/her skill set for designing efficient algorithms.

By Abhinav R

•Mar 9, 2020

I think this was a great course wonderfully designed with tons of problem solving assignments.It challenged me a lot and I got to learn a lot of new concepts.The idea of dynamic programming always scared me but now I am quite connfident about it and looking forward to solve more problems based on dynamic programming and completing the next course of the specialization! :)

By Pranav A

•Jan 28, 2020

The course gives a very good insight on how different types of algorithms work, and at the same time lets us think of various ways in which they can be implemented, this really helps in building a very strong base in Algorithms which is absolutely necessary for learning advanced topics. I would really like to thank all the instructors for creating such an amazing course.

By Ashish K

•Feb 6, 2017

The course is a great first course on algorithmic toolbox. I love the way the toolbox serves as a precursor to the more involved courses. In particular, the topic of stress testing is something that MOOCs don't cover in general and lead me to give up in my earlier MOOCs.

All in all, great job professors Sascha, Daniel, Neil, Michael and Pavel.

You guys are awesome.

- 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