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.

篩選依據：

創建者 Anuj g

•2018年2月19日

best course for clearing basics of algorithms as well as learning by doing and blow your mind by thinking hard from different prospectives to get desired solutions of programming assignments ...

創建者 PLN R

•2019年7月5日

Quite an engaging course to be honest!! Definitely recommend the course for beginners as well as people looking for brushing up of important paradigms.

創建者 Satyam K

•2019年2月9日

Crisp course, and challenging assignments make sure you memorize all the concepts learned. Great work by all the instructors!

創建者 Aditya T

•2019年3月12日

I have found this course to be very well explained and It covers wide range of topics in design and analysis of algorithms.

創建者 Benjamin D

•2019年7月3日

One of the best online courses I've ever took!

創建者 Nishinoya

•2019年7月3日

Programming Assignments are insanely amazing.

創建者 Wesley N

•2018年12月20日

Maybe it said this somewhere, and I just missed it, but the grading metric is based solely on the number of assignments you do. If you do the required assignments, it will say you passed, but your grade at the end will look like a failing grade (< 65%). Do not take this course unless you have a LOT of time to dedicate to it.

The lectures are pretty good, but sometimes it's hard to understand them. The subtitles are wrong in many cases.

I give it 3/5 because the material covered is good and for the most part explained well. But the two issues I listed above really limit the value I see in this course. I am questioning if I even want to continue with this specialization.

創建者 Eugene K

•2020年1月10日

one of the worse learning experiences.

they might be good at their field and most probably they are, but because they don't know how to teach the output is close to zero.

every piece of this course is bad.

presentation are either blank reading the slides with Zuckerberg face or some overly emotional recycling from Daniel M Kane, man is stresing every following sentence, it is impossible to follow.

Content is classics of former USSR educational style: dry, high context, with some small explanation moments in more easy parts and sometimes completely skipping complex parts. leaving huge parts of material to external sources or complimentary book.

Quiz questions are sometimes formulated in some entangled manner so it's a puzzle of itself just to untangle them. not to mention that some quiz format are utter failure, like the one where you have to input 6 digits corresponding to answer option rank.

the "best" part were programming assignments. so you work thru the lecture and doing some quiz, somehow you get some understanding of how to solve some types of problems. and then bam 8 programming assignments of which only 3 types where discussed in lectures. what's the point of having lectures at all? i mean, without lectures there would 8 types of problems I wouldn't know how to solve, not a big increase from 5.

before I took wonderful course from prof. Tim Roughgarden. It had everything: good presentation style, enough of redundancy in lecture material to get better understanding of more complex topics, nice quiz question with simple answer mechanics and most important, the material you got was enough to do assignments. for some reasons I decided not to lock myself into one source of information and explore other options. waste of time.

So if you want GOOD course on algorithms don't waste your time on this one. go directly to prof. Tims Algorithms specialization offered by Princeton

創建者 Debashis G

•2016年9月15日

If one has taken the Algorithms 1 and 2 course by Profs. Sedgewick and Wayne, this course will be a disappointment and waste of time.

創建者 Vlad N

•2018年1月5日

It's been an amazing journey! I've enjoyed, struggled through and finally managed to pass the test cases for all problems. It's been amazing. I've learned a lot. And moreover I've researched a lot while working at the problems, I've used books recommended in references, some books on Python algorithms, discussion forums and google and youtube, when I got really stuck. Every next week was more challenging for me than the previous one. Two of the most challenging problems for me were closest pair of points and longest common subsequence of 3 strings. But the rest weren't much easier ;)

I'd definitely recommend this course to anybody who's just starting out in programming and who wants to boost her/his problem solving skills.

I've been using Python3 and MacBook and I didn't have any problems with grader or submissions, except for wrong answers and time limit exceed, of course :)

Thanks to all instructors, I truly appreciate the amount of work you've done to put it all together! I'm very glad I've chosen this course as a starting point in learning algorithms and data structures. Thank you!

創建者 Tristan B

•2016年2月25日

If you want to learn more about both theoretical and practical computer science, do this specialization. I'm completely sold on this specialization after one week. The instructors are extremely helpful and have a high level of clarity both in the videos, and on the forums. The language semi-agnosticism is excellent! The forums are active and friendly! You will hit the ground learning right away with this specialization!

This course has so far motivated me immensely to delve further in to my software engineering education. I did not get a Bachelor's degree in Computer Science, just an Associate's. Though I work in the industry, I wanted to do programming competitions and personal projects to make up for the lack of experience with the ideas and implementation of algorithms and their data structures.

This course has jump-started my journey beyond my current abilities, and I believe it will do the same for you. If you're even remotely thinking you would be interested in taking these courses, do!

創建者 Sergey L

•2016年5月14日

I always wanted to improve the algorithms and data structures field. The books wasn't so efficient. Especially they weren't so practical. These courses are the first courses where I really got a lot of knowledge. Especially because of assignments. All lectors are very good in explanation of the material and tell many additional useful things. These courses are the really good base, after which you can open the books related to algorithms and read more details if you needed.

I am definitely going to complete the whole specialization!

The only thing which was not convenient for me is that both courses Algorithmic Toolbox and Data Structures are started at the same time. It was difficult to find out the time for both courses and spend enough time to solve all assignments instead of only enough for passing.

Anyway, now I am started the second iteration of the course and I am going to solve all assignments which I skipped.

Big thanks to Daniel, Alex, Pavel, Neil and Mike!

Regards,

Sergey

創建者 Vishav V K

•2017年6月12日

I must confess I was a bit hesitant to start this specialization. But after 3 weeks in, I am very happy that I started with this specialization. The course has the right pace and instructors have very nicely divided the videos in shorter logical entities which are easy to understand. I love the exercises. All the other exercises in other courses that I have taken for coursera provide you with a lot of code already done and you just have to write a very small piece of code to complete the assignments, but not in this one. We need to write the whole assignment on our own, right from choosing the appropriate data structure and algorithm design. They sure have a starter code but I only look at them once I have some solution, in order to do a check of my code design as well.

I must say, this is an awesome course. Great work guys putting this together.

創建者 Matheus R

•2018年6月17日

I'm still in week 2, but so far I'm loving it. It's far more interesting and engaging than I thought it would be, and not as hard as I thought it would be. It requires some programming experience (a few months of practice and maybe a more advanced understanding of your programming language of choice will do) and the "mathy" way some algorithms are explained can be a little scary for who hasn't a good maths background (like me!) but don't let it scare you away. Everything is actually much simpler than it looks like and the only real demand is some patience and a willingness to find new ways to solve problems. Every time you an assignment right, you feel like you "leveled up" your problem solving skills a little bit. Totally worth it. Looking forward to the rest of the specialization.

創建者 Andrey T

•2016年5月21日

This is a good course, and I liked the quality of video lectures. The material is structured and lets the students understand the basic approaches they can follow to solve algorithmic tasks.

Also a good plus is that there are assignments. First, they are of different complexity - so anyone will find an interesting task there. Second, there are prepared starter files for 3 languages - so you spend time working on algos, not on bootstrapping projects. And third - grading is automatic.

Just for fiuture - as a more engaging thing there could be also made tasks to review of other people's assignments (as it is done in other courses) and implementing a test case which makes a wrong solution to fail (which is something like TopCoder does). But this idea is too raw and needs more thinking.

創建者 Michael B

•2016年5月29日

A great course in its own right but it also fills a void between the "Learn <programming language>" and using programming languages to analyze Big Data. The instructors have put together an excellent introduction to the wonderful, and scary, world of algorithms. I must admit I was ready to send my PC flying through the window on numerous occasions when I could not get my particular implementation of an algorithm to run within the time AND memory limits set by the instructors. More so, because often you are not told what particular test case made it fail. In the end, I believe this is a great approach to have learners really dive into the material and think about the various run times before submitting a particular solution. Well worth while your time!

創建者 Abe E

•2017年8月20日

Lots of good problems. The bar to pass is very low, but I felt I actually learned by completing the whole thing. There is a forum with some helpful advice on some of the problems. The easiest problems are the ones you just copy the algorithm verbatim from the slides, but there are some more interesting problems with terrible edge cases, like the minimal distance among n points.

They follow the textbook pretty well, so you can pick up that book for cheap and read it too! I liked most of the lecturers, but a few I could have done without and ended up referencing other sources as a result. I learned a lot and will continue in the specialization.

創建者 Theodore G

•2016年10月23日

Congratulations for this well-designed, informative and extremely educative course! The language agnostic way of presenting and explaining these basic but important algorithmic techniques provides an extremely useful way to better understand and further elaborate these methods by using the programming language of our choice. Of course, some programming experience in at least one language is needed, but this course can also provide a great lab to start learning others. The programming assignments and the way you have designed them (time/memory constraints) are ideal to learn designing these algorithmic techniques correctly and efficiently.

創建者 Chen X

•2019年2月18日

Pros:

Great practical programming assignment questions.

Some very nice lectures and problem explanations, especially in asymptotic notation and scaling, D+C, and dynamic programming 1.

Cons:

Some annoying mistakes in the python3 assignment boilerplate code for inputs. Like overriding the 'input' function name with a variable.

Did not give rigid definitions of types of programming. Greedy, D+C, dynamic.

Should have been more rigid in defining problem steps in the greedy algorithms chapter. Seemed waffly.

The course textbook they recommended buying was basically just the problem statements + lecture notes. Not useful.

Overall, a solid course.

創建者 John B

•2017年12月29日

This was a well developed and taught course. The programming assignments were just the right level of difficulty, and the system for submitting assignments worked very well. I learned a lot about the content, and feel stronger in my programming abilities and computer science knowledge.

The only critique I would have is that some of the slides where the algorithms are written out have some confusing notation (using w and w_i in the same line of an algorithm for one) and sometimes the index conventions seemed not to line up with the usual "starts at 0" format. Even still it was always easy to correct for this.

創建者 Nicholas F

•2019年6月21日

I have been blown away by the amount of effort the designers put into this. Extremely high quality. Thank you so much for the thoughtful problems to solve, the well thought out lectures, and the many supplemental resources you've provided. Could not rate highly enough! I'll keep an eye out for any other specializations you all produce

創建者 Miraj S

•2019年2月6日

This course has a wonderfully designed syllabus, and with a few exceptions, the lectures had extremely clear, lucid explanations of the underlying concepts. I got the most value out of the homeworks, each of which had several challenging problems that really reinforced the learnings from lecture. Thank you, professors!

創建者 Quynh V

•2019年1月6日

I liked the fact that the algorithms are not just the introductory searching and sorting algorithms. The assignments are fairly difficult, but not impossibly so. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run

in less than a second).

創建者 Bikash D

•2019年1月16日

All i read in college is the theoretical concept about the algorithm and not it's implementation in actual programming language.

This course made me code the algorithm and in the process i learned lot about the chosen language as well as how we can efficiently write the code.

Thank you.

Keep up the good work!

創建者 Abdu M

•2019年2月26日

Very nice course. Covers a lot of ground, theory and practice. Homework assignments are interesting. The autograder can be a pain, and most of the time you're not even sure what the problem with your algorithm is, but that's all part of the fun and challenge.