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

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.

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.

筛选依据：

创建者 Stanislav B

•Aug 7, 2021

The course is very interesting and useful in terms of practice. Huge thanks to authors for making such a work on testing and adapting the course to different programming languages. The structure complexity is good, each task is just a bit beyond the reach, quite motivating.

创建者 Fatvvs F

•Jun 15, 2020

Very good course! The metrial is very good, especially topic Divide and Conquer! The tasks quite chenlenging but they are awesome! The only problem I forgot some materials after I completed this course, so I think the course should have more quizzes to consolidate learning.

创建者 Sajal J

•Sep 8, 2020

Excellent course. This course teaches the basics of competitive coding like greedy algorithms, divide and conquer, and dynamic programming very well. The choice of problems to teach the concepts is excellent. Programming assignments give an excellent learning experience.

创建者 Ridvan B

•Feb 9, 2021

This is a great course. Even though instructor of week 5 has great achievements in academia, his english accent killed me (This week can even be removed.), and I hope I will not see him again during this specialization. Other than that, this is a well structured course.

创建者 Harin M

•May 22, 2020

This course has definitely strengthen my problem skills. It has taught me to be persistent and patient. Instructors in this course have done a commendable job. Things that I loved most about this course are gradle external tools and the quality of assignment questions.

创建者 Imaani E

•Jan 22, 2017

Great course - the problem sets were challenging and appropriate for the learning goals. For participants who have not been exposed to significant mathematical coursework, the mathematical notation may be intimidating at first, but is not an insurmountable obstacle.

创建者 Daniel

•Nov 4, 2017

This is a very good course. It is very difficult at first so I had to do it twice to complete it. It helps if you try to visualise the algorithms in your head, do them on paper and then try to write the pseudo code so it prints out all the steps that is being done.

创建者 Matthew S

•Apr 12, 2020

Excellent course. Very good instruction and pace. It really made me work hard on some of the assignments and grasp the material being presented.

Good course for those who have been out of school a while and want to relearn what they might have forgot from college.

创建者 VIGNESHWARAN R

•May 14, 2020

It was very useful. One request: 1extra week for dynamic programming basics is needed. Directly solving Dpchange problem is what i felt difficult .Anyway i understood dp basics with the help of dpslides you gave. And very very thanks for this wonderful course.

创建者 Divyanshu B

•Aug 10, 2019

It was an awesome course. It helped me to learn many algorithms and specially i learned dynamic programming which was very useful for me. It also improved my thinking skills and also typing speed while practicing. I would recommend everyone to take this course.

创建者 chethan j

•May 8, 2016

This course works on fundamental approaches, like divide and conquer, greedy algorithms and takes us to the more advanced dynamic approach which is ubiquitous and drives most of the modern applications.

Really beneficial to solve problems on a day to day basis.

创建者 Praise O

•Mar 30, 2020

A great course for a novice in algorithms without a CS degree. Gained an in-depth understanding of algorithms, when and how to implement them. Dynamic programming was the most challenging module in my opinion but once you grasp the concept the rest is cheese.

创建者 Prateekraj S

•Sep 30, 2020

Great Content, the mathematical ideas are very well explained and the problems are fairly challenging unlike the other courses I've completed on coursera. The content is very well designed to make us familiar with the fundamentals of all necessary concepts.

创建者 Shaleen G

•Aug 2, 2020

The course experience was good, I learnt to solve some of the standard problems through this course. I found the lesson of Master Theorem and Dynamic Programming quite interesting. I felt there should be provision of editorials for the assignment problems.

创建者 Kaleb G

•Sep 10, 2018

I've been programming professionally for 15 years, but I had a significant gap in my knowledge when it came to data structures and algorithms. This course helped me complete my skill set and regain a competitive advantage in the field. Thanks, instructors!

创建者 Kiran K G

•May 18, 2020

It is really wonderful learning. I have gained a lot of confidence to solve algorithm problems. But there are couple of chapters like dynamic programming where the complex parts can be explained a bit more. Overall a good learning exercise.

Thank you

Kiran

创建者 San S

•Aug 17, 2017

loved the course, very well structured to develop algorithmic thinking. Assignments are great as well.

However, I did feel that the Dynamic programming lecture for week 05 could be slowed down or improved. There was way too much info put into one week. :)

创建者 Nadiia M

•Nov 12, 2017

I am very excited about this course. It helped me to get better understanding algorithms. It gives enough practical tasks to work on. I like the way teachers presented study material, especially Alexander Kulikov. Thank you! Can't wait to move forward!

创建者 UMEIKE C J

•Oct 19, 2021

Great course for anyone who wants to understand the intricacies of designing efficient algorithms. The lectures are well structured, and the assignments are designed to help you understand the concepts taught in the course. I would highly recommend it!

创建者 Aaron J

•Jun 5, 2020

This was an amazing course! I've taken Algorithms classes during college but we never learned about stress testing solutions or anything about dynamic programming. I really feel a lot more confident in designing algorithms. Highly suggest this course!

创建者 GAURAV C

•Jul 20, 2017

This course helped me clear my algorithm concepts. The assignmenst at the end of each week, are very good. Concepts in the course were introduced briliantly with a comparison of different alogrithms and how each of them can solve a particular problem.

创建者 Ayush S

•Jul 22, 2018

The greatness of this course can be judged by the kind of programming assignments given at the end which actually test the learners. Highly recommend this course for people who are totally new to algorithms and want to kickstart their coding venture.

创建者 Vismit K

•Sep 25, 2020

Extremely good course for strengthening various algorithms, especially the concept of Dynamic Programming is which is very essential is taken care of beautifully. Absolutely loved the questions and had fun debugging for various incorrect test cases.

创建者 Rushiraj C

•May 20, 2020

I just loved the approach of the professors, which made most fundamental but difficult concepts seem very easy. Algorithms is, in my opinion, the most important subject for any computer science. Thanks to all the people who helped to make this MOOC.

创建者 Zuhaib U Z

•Sep 2, 2019

I think I learned a lot in this course and there has been a significant change in the level of programming I can do now and the level of programming I used to do before this course. Also I would like to thank all the professors.

Thank you very much