- All DegreesExplore Bachelorâ€™s & Masterâ€™s degrees
- Computer Science & EngineeringExplore Computer Science & Engineering degrees
- BusinessExplore MBA & Business degrees
- Bachelorâ€™s DegreesExplore masterâ€™s degrees from leading universities
- MasterTrackâ„¢Earn credit towards a Masterâ€™s degree
- University CertificatesAdvance your career with graduate-level learning

Back to Algorithmic Toolbox

stars

12,137 ratings

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.

Filter by:

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 Chinedu U

â€¢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!

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 Nzoji H

â€¢Jan 2, 2023

Absolutely exceptional! Was able to apply immediately to my current work and the improvements were epic, in the magnitudes of 100X for one particular process.

I truly recommend this course to everyone in all echelons of software development.

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 18C008 A 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.

- AWS Cloud A Practitioner's Guide
- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Developing Professional High Fidelity Designs and Prototypes
- Get Google CBRS-CPI Certified
- Introduction to MATLAB Programming
- Learn HTML and CSS for Building Modern Web Pages
- Learn the Basics of Agile with Atlassian JIRA
- Managing IT Infrastructure Services
- Mastering the Fundamentals of IT Support

- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Building a Modern Computer System from the Ground Up
- Getting Started with Google Cloud Fundamentals
- Introduction to Cryptography
- Introduction to Programming and Web Development
- Introduction to UX Design
- Learn HTML and CSS for Building Modern Web Pages
- Mastering the Fundamentals of IT Support
- Utilizing SLOs & SLIs to Measure Site Reliability

- Building an Agile and Value-Driven Product Backlog
- Foundations of Financial Markets & Behavioral Finance
- Getting Started with Construction Project Management
- Getting Started With Google Sheets
- Introduction to AI for Non-Technical People
- Learn the Basics of SEO and Improve Your Website's Rankings
- Mastering Business Writing
- Mastering the Art of Effective Public Speaking
- Social Media Content Creation & Management
- Understanding Financial Statements & Disclosures