Back to Algorithmic Toolbox

stars

10,696 ratings

•

2,250 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)....

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.

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.

Filter by:

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

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

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

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

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

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

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

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

By 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

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

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

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

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

By 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

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 Hrishikesh P

•Aug 29, 2020

It was an awesome course but I found the explanations for Dynamic Programming Part-1 as well as Part-2 a little tough to understand. And also I am still not able to formulate the problems well. Also, similar experience for Divide and Conquer.

By Nick P

•Oct 11, 2020

I had fun taking this course. The assignments were challenging enough (if you complete them) that you needed to learn the material, which I can see being quite useful.

I feel like this was a boon to my programming and problem solving skills.

By Hari K

•Sep 9, 2020

This course is wonderful, it gave me a strong base in programming. Even though i had to search for extra materials and had to spend lots of night wondering how these algos work, i think its worth.Thanks for providing such fabulous courses.

By Timur B

•Jul 29, 2020

Overall the course is good except some of the lectures. It gives a good overview and then you can find some better video o the Internet on the topics to complete the assignments and understand the subject better. The assignments are great.

By José A V M

•Jun 3, 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 Amrish K S

•Jun 28, 2020

Hereby I tryly declare that this course is simply awesome and wonderful experience, one think is I didnt able to solve all problems, that is small guilty I felt. If I had a chance to know that algorithm for all problem, I am pretty happy.

- Google Data Analyst
- Google Project Management
- Google UX Design
- Google IT Support
- IBM Data Science
- IBM Data Analyst
- IBM Data Analytics with Excel and R
- IBM Cybersecurity Analyst
- Facebook Social Media Marketing
- IBM Full Stack Cloud Developer
- Salesforce Sales Development Representative
- Salesforce Sales Operations
- Soporte de Tecnologías de la Información de Google
- Certificado profesional de Suporte em TI do Google
- Google IT Automation with Python
- DeepLearning.AI Tensorflow
- Popular Cybersecurity Certifications
- Popular SQL Certifications
- Popular IT Certifications
- See all certificates

- Skills for Data Science Teams
- Data Driven Decision Making
- Software Engineering Skills
- Soft Skills for Engineering Teams
- Management Skills
- Marketing Skills
- Skills for Sales Teams
- Product Manager Skills
- Skills for Finance
- Android Development Projects
- TensorFlow and Keras Projects
- Python for Everybody
- Deep Learning
- Excel Skills for Business
- Business Foundations
- Machine Learning
- AWS Fundamentals
- Data Engineering Foundations
- Data Analyst Skills
- Skills for UX Designers

- MasterTrack® Certificates
- Professional Certificates
- University Certificates
- MBA & Business Degrees
- Data Science Degrees
- Computer Science Degrees
- Data Analytics Degrees
- Public Health Degrees
- Social Sciences Degrees
- Management Degrees
- Degrees from Top European Universities
- Master's Degrees
- Bachelor's Degrees
- Degrees with a Performance Pathway
- Bsc Courses
- What is a Bachelor's Degree?
- How Long Does a Master's Degree Take?
- Is an Online MBA Worth It?
- 7 Ways to Pay for Graduate School
- See all degrees