Back to Algorithmic Toolbox

4.7

5,462 ratings

•

1,140 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).
Do you have technical problems? Write to us: coursera@hse.ru...

Jan 20, 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.

Sep 29, 2017

good course, I like the fact you can use a lot of languages for you programming exercises, the content is really helpful, I would like to have more indications from the grading system to save time.

Filter by:

By Andrew F

•Jul 30, 2018

Fantastic course! Really interesting and challenging!

By Pvss p

•Jul 10, 2018

good

By MOHAMMAD D

•Mar 21, 2016

Good Algorithms are taken together .

By Andrey T

•May 22, 2016

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.

By Chethan J

•May 08, 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.

By Amr A A R A

•Dec 25, 2017

Best decently passed and well up to date algorithm course out there

By Weiqi Y

•Dec 22, 2017

Challenging and useful

By Nurul C

•Sep 28, 2017

Thanks to all professors for this awesome and valuable course,materials and assignments.

By Vitaly P

•Aug 11, 2016

Great course! Thanks to the instructors!

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 Shahar D

•Apr 15, 2016

Great Course

By Nickolay M

•Aug 07, 2016

Amazing course about algorithms. Complex things described by common words.

By Praveen S

•Feb 24, 2017

The best course for learning coding.

By Mauro B

•Sep 11, 2016

Solutions are explained with too much detail. You should give the student a chance to learn by herself.

By Tuan N

•Aug 13, 2016

Good instruction and examples. Easy to understand. So great so far!

By Eugenio G M

•Mar 07, 2016

Very clear in explanations, I learnt a lot of new cool stuff.

Assignments aren't always so trivial but there's always a hint to help in solving them

By sansid

•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. :)

By Joel D

•Sep 01, 2016

Excellent course

By Ravish R

•Sep 09, 2017

Very important ! Thanks a lot.

By Ivana E

•Feb 21, 2018

I felt rushed to finish because I fell behind, but the vides and resources were great help

By Theodore G

•Oct 23, 2016

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.

By carlos m c

•May 05, 2016

Excellent material and very well explained, thank you so much for the opportunity

By Jaydeep B M

•Jul 01, 2017

This is an exceptionally good course and has been taught very well. I would like to suggest providing some help for the difficult problems ans also adding some solutions with the best complexity so that we can see and learn.

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 Huy H N

•Dec 08, 2017

The materials are great .

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.