This online 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)....

BD

2021年1月19日

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.

SG

2017年1月19日

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.

篩選依據：

創建者 Joe M

•2018年8月24日

There is barely any support for this course. On most assignments, if your code doesn't work, you get zero direction in regards to having any clue on how to proceed.

創建者 Nasim Z

•2016年6月14日

Algorithmic Toolbox consists of a series of slides containing slimmed down explanations on introductory algorithmic concepts, followed up with programming assignments. The slides are the centrepiece of the course, as the presenters rarely stray from the bullet points and pseudocode they're comprised of.

I learned a lot during this course. Although, to gain confidence in your knowledge, this is a course that will require you to seek out additional materials to supplement your learning. Perhaps unsurprising being an introductory course, but the presenters struggle when faced with setting expectations.

Throughout the course presenters often gloss over fairly complex concepts, treating them as they were trivial knowledge. This applies to mathematical definitions, proofs where most steps are skipped, tree diagrams without the context of their underlying theory, or bullet points used in place of what could be detailed explanations.

All material is left equally weighted. Rather than providing explanations like: "We don't need to go into detail on this, only x concept from it is important for what we want to focus on. Reference this chapter in this book for more detail." presenters would read mathematical definitions verbatim from the slides and move on. I was often unsure of how much I would need to know about such concepts.

In terms of communication ability, the presenters don't hold up against many of the free/low-cost services I'm accustomed to using, for example: MIT OpenCourseWare, Udacity, edX, Khan Academy, Code School, Treehouse, etc. Perhaps unsurprising, as these competing services often feature professional communicators rather than professional researchers. But the marketplace for quality online education is definitely becoming a competitive one. Users now expect nothing less than presenters with exceptional communication/teaching ability.

In most videos the presenters read verbatim from the slides and motion with their hands to explain concepts that would be better broken down on a whiteboard. Rarely straying from the slides, the times the presenters go into more depth on a concept, you get a scribble in the corner of a slide, lacking the clarity I've come to expect when approaching complex concepts from master educators like YouTuber PatrickJMT or Khan Academy. After a couple weeks into the course, I just went straight to the slides, read MIT's Introduction to Algorithms, and skipped most of the course videos.

But all things considered, the course served as a good curriculum to guide my focus through the introductory concepts, regardless of where I sought it out.

創建者 Ashraf K

•2016年9月7日

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

創建者 Federico C

•2021年3月9日

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

創建者 Ramin A

•2016年10月31日

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.

創建者 Amit J

•2017年11月18日

The auto-grader and py codes are a big let down for me. The auto-grader takes too long to produce a result (more than 1 hour) and for me many a times it has been the case. No one from the organizing team spent any time in resolving this issue.

The py code is a big let down for me. The way i/o is done is pretty lame. There is no print statement displayed that states "Pls give input" etc... For output you need to do Ctrl + Z and then you see the answer. IMHO this is bad coding for i/o.

Organizers need to understand that working professionals are pressed for time and automation should help them rather than frustrate them and lead to loss of time.

創建者 Pavel T

•2020年2月23日

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

創建者 Edson J A M

•2018年3月21日

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.

創建者 Andrea L

•2017年9月1日

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.

創建者 sudheer n

•2019年8月19日

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.

創建者 Lucien

•2017年3月21日

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.

創建者 Kirill S

•2017年10月2日

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.

創建者 Kevin K

•2016年8月4日

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.

創建者 Jonathan O

•2018年8月29日

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!

創建者 Souvik R

•2017年7月23日

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.

創建者 Taranpreet s

•2019年12月28日

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.

創建者 Ananth D

•2020年1月26日

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.

創建者 Samantha K

•2016年5月15日

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.

創建者 Jan K

•2017年3月1日

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!

創建者 Mohamed A

•2019年8月26日

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

創建者 Andre C

•2016年6月19日

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.

創建者 Alexander D

•2017年5月15日

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.

創建者 Alejandro O

•2017年12月30日

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

創建者 ARELLANO, J (

•2019年10月6日

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.

創建者 Karan R S

•2016年7月24日

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.