Back to Algorithmic Toolbox

4.7

stars

5,828 ratings

•

1,220 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.

Mar 06, 2018

Cool course. Thank you! One suggestion about your book (Learning Algorithms Through Programming and Puzzle Solving): could you add some theory which would serve as a brief reminder before problems?

Filter by:

By Aditya P

•Mar 03, 2018

The content of this course is pretty good, but most importantly the assignments are structured in a good way with just the right number of 'easy/medium' questions for a beginner to pass. The 'challenging' questions are not essential to pass the course, but thinking is essential to solve them.

By Jing M

•Sep 18, 2017

This course is really well designed and is quite friendly for beginners. The assignment after each topic also helps to improve the understanding of the lecture. But i think it would be better for the learners to share their codes to understand other's problems as well as to improve their own.

By Drumil M

•Nov 14, 2016

Instructors are perfect. The course is intense and not easy. But the way the concepts are taught is very lucid. One of the best courses on coursera. I am leading my way to the specialization. Again, the instructors are really great. The assignments are the best part of this course. Must take.

By Andrew T

•Oct 27, 2017

I really like this course and I have learned many new and interesting things. I think a good improvement may be a little more examples of real life problems which can/should and should not be solved using provided algorithms/methodologies... I plan to continue specialization a little later.

By Akshay N

•Dec 15, 2019

Excellent course. Good introduction to algorithms with minimal theory and strong focus on implementation. The problems are not trivial, require loads of time and they will really test your understanding of the material which is covered well in some places and not so well in other places.

By Samyak J

•Jul 27, 2019

Highly recommended for everyone from starters to advance coders. Focuses on the core concepts of solving a problem and provides the general solution. End of week assignments proves to be very useful and only after one understand the concepts and crack the problems, can he move forward.

By Hemu

•Sep 14, 2017

Lectures are very clear, well organized. Mini quiz questions were designed extremely well. They actually make you think about what you were just presented, rather than just asking you to spit back out what you heard. Programming assignments are great too for same reason. Awesome class!

By Yash S N

•Oct 31, 2019

This was an excellent course with excellent mentors. Since I am and Electronics Engineering grad, I thought it would be very difficult, but indeed it is not. I have been to other courses in Coursera on Algorithms and so far, this according to me is the best one ever. Thanks UCSD.

By 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.

By Daniel

•Nov 04, 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.

By 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.

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 Kaleb G

•Sep 11, 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!

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 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!

By 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.

By 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.

By Zuhaib U Z

•Sep 02, 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

By Kocić O

•Feb 25, 2016

This course does more then just teaching algorithms. It gives you insights and ideas that you can later use to build new algorithms. Personally, I think this is crucial, cause it helps you to build unique skill - reasoning about unknown problems.

By José A V M

•Jun 03, 2016

Very straight forward, this course comes from the basics and completes the theory with practice to ensure learning. 100% recommended for those who are not familiar with algorithms or those who want to have practice implementing and coding.

By Sachith N K

•Feb 22, 2019

I really appreciate the content of this course. It was well planned and had a nice flow. However have to say that in some instances the failed case cannot be viewed and I don't know why the grader only outputs "Failed case: Wrong answer".

By Wonjin K

•Aug 01, 2018

I graduated from electrical engineering, so, even though I am programming on a daily basis, I always wanted to learn about data structures and algorithms in more detail. This lecture gave me a good insight about algorithms. Very helpful!

By Amr L O

•Oct 15, 2016

At my country I was dropped of the final year computer engineering and automatic control at engineering faculty due to health and financial conditions, with online courses I have the chance to prove what I can do, Thank you very much !!

By Stefano I

•Oct 10, 2017

It is nice how this course really guides you through different algorithmic ways to tackle problems. It is one of the few online courses that really forces you to spend time implementing and understanding algorithms. Highly recommended!

By Walid O

•Feb 17, 2017

the course is very good , the best part is implementing the algorithm ,this will give you deep understanding of the algorithm also it will force you to improve your programming skills if you are a beginner , it was very useful for me .

- AI for Everyone
- Introduction to TensorFlow
- Neural Networks and Deep Learning
- Algorithms, Part 1
- Algorithms, Part 2
- Machine Learning
- Machine Learning with Python
- Machine Learning Using Sas Viya
- R Programming
- Intro to Programming with Matlab
- Data Analysis with Python
- AWS Fundamentals: Going Cloud Native
- Google Cloud Platform Fundamentals
- Site Reliability Engineering
- Speak English Professionally
- The Science of Well Being
- Learning How to Learn
- Financial Markets
- Hypothesis Testing in Public Health
- Foundations of Everyday Leadership

- Deep Learning
- Python for Everybody
- Data Science
- Applied Data Science with Python
- Business Foundations
- Architecting with Google Cloud Platform
- Data Engineering on Google Cloud Platform
- Excel to MySQL
- Advanced Machine Learning
- Mathematics for Machine Learning
- Self-Driving Cars
- Blockchain Revolution for the Enterprise
- Business Analytics
- Excel Skills for Business
- Digital Marketing
- Statistical Analysis with R for Public Health
- Fundamentals of Immunology
- Anatomy
- Managing Innovation and Design Thinking
- Foundations of Positive Psychology