Chevron Left
Back to Algorithmic Toolbox

Learner Reviews & Feedback for Algorithmic Toolbox by University of California San Diego

4.7
4,580 ratings
967 reviews

About the Course

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

Top reviews

SG

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.

MM

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:

1 - 25 of 898 Reviews for Algorithmic Toolbox

By Mayukh S

Feb 15, 2019

This is the best and the toughest course I've ever come across. I'm definitely a better programmer now. It completely changes the way you analyze the problem. Totally awesome.

By Dheepak J

Mar 14, 2019

Truly amazing course in which the instructors have the knack of explaining complex things very easily so as to be understood by a learner at the beginner level or at the intermediate level. I am so lucky to have completed all the assignments that were posted to me week on week and come to a very thorough understanding of the algorithmic tools and techniques... Well done San Diego team for your effort. Continue empowering the algorithmic knowledge of the world wide software community.

By Tom A

Dec 23, 2018

Aren't we paying for mentors to respond to posts in the discussions? I don't need to pay you monthly to be ignored while I struggle to learn on my own.

By Wesley N

Dec 20, 2018

Maybe it said this somewhere, and I just missed it, but the grading metric is based solely on the number of assignments you do. If you do the required assignments, it will say you passed, but your grade at the end will look like a failing grade (< 65%). Do not take this course unless you have a LOT of time to dedicate to it.

The lectures are pretty good, but sometimes it's hard to understand them. The subtitles are wrong in many cases.

I give it 3/5 because the material covered is good and for the most part explained well. But the two issues I listed above really limit the value I see in this course. I am questioning if I even want to continue with this specialization.

By BOUNSI D W L

Nov 10, 2018

Splendid! The course material is rich, the teachers explain very well, in great detail and the exercises are pretty challenging, not to mention the set of compatible programming language one can use is very large. I loved it!

I would recommend this course to anyone serious about learning algorithm analysis and design, this is a great place either to get started or to enhance your current capabilities.

By Anoubhav A

Sep 11, 2018

I have taken many courses on Coursera. This was hands down the most challenging, intellectually stimulating, painstaking and all in all fun course. The number and quality of problems in the assignments were much better compared to any other course. I have learnt alot from this course in a span of few weeks. I can't wait to get started with the second course on Data Structures offered by them!!

By Greg G

Apr 25, 2019

I have a Mechatronics MSc and now I'm transitioning to CS after starting to work as a software developer. Even with an engineering background, this course was challenging: you need to think hard when designing algorithms, then precisely design and test a solution. (Stress) testing is a concept that is frequently used in everyday software development, too.

For some assignments, you'll find the pseudocode in the slides so those need less brain power to implement but for others, you'll have to come up with your own original solution. This requires time and research. It's possible to ask others in the forum or Google around for hints, and most assignments can be solved in multiple ways (e.g. I solved several of the dynamic programming assignments with memoized recursive functions). You won't find many hints from the teachers, though since that would spoil the learning part here - the essence of the course is not in the slides but in solving the assignments on your own.

Upsides of the course are the automatic grading system, the diversity of the assignments and the quality of the mathematical content and the slides.

Downsides of the course are the sometimes bad accent of the teachers - this could be eased with more accuraate captioning for the videos -, and the clumsiness of downloading slides (they are not available in one package, and trust me, you're going to use them a lot!)

Prerequisites for this course: you will need linear algebra knowledge to know about e.g. geometrical series or limit values, and you will need to know how mathematical proofs work. This is all advanced high school or 1st semester college material, so nothing special. Fortunately the teachers always point to extra links if you're in trouble.

Also, you'll need working knowledge for 1 programming language. Fortunately for many languages, you won't need to care about I/O, it's already in the starter files. I learned Python just for fun, during this course for example. All that is needed is basic control statements (loops-if), arrays and functions, nothing more.

Tips: 1. Don't give up! 2. You don't need to solve all the assignments, the ones after the minimum level are usually more advanced. 3. When in trouble, stress test if you can, it helps a lot. 4. If you're confident, you can 'make a run for it' and submit your file - you can submit as many times as you want.

By Josh F

Apr 25, 2019

Opted for 5 over 4. Not a perfect course but damn close: Assuming 'basic knowledge' one of the languages suggested should also have as a pre-requisite 'introductory computer science' since having an ability to code in say python at a basic level doesn't necessarily mean you understand anything about file and bitstream IO, or other useful abstractions that will make this course a wee bit more interesting.

Anyone who doesn't have a strong grasp of CS principles shouldn't be dissuaded however, it just means that your learning curve will be steeper. The trick is digging your heels in and researching the problems, sticking to your guns and hammering out even the most ugly of code until you have a correct solution... AND THEN trying to make the thing faster. You will get faster at writing our your plan, faster at implementing, and learn to read code line by line to understand what is happen beneath the abstraction.

I'd also urge people to avoid using built-in functionality of your language to solve a lot of these problems, ie. in the Majority Element problem, you *could* just use python's built-in counter to count instances for you but by doing that, do you really understand what is happening beneath the hood? Do you really understand what the output of that abstraction is doing? Probably not. So do it the 'by-hand' way and then take advantage of the built-ins when you rewrite the code for your own use or to put on your repo.

All in all, a great 'trial by fire' course if you're a novice, and if you're not a novice, it will help make you a better programmer. For sure.

By CHI C

Mar 15, 2019

Grader system is really nice to use; it helps to improve my debugging ability a lot. Good job!

By Aditya T

Mar 12, 2019

I have found this course to be very well explained and It covers wide range of topics in design and analysis of algorithms.

By Abdu M

Feb 26, 2019

Very nice course. Covers a lot of ground, theory and practice. Homework assignments are interesting. The autograder can be a pain, and most of the time you're not even sure what the problem with your algorithm is, but that's all part of the fun and challenge.

By Tuan N

Feb 17, 2019

The instructors teach in clearly way. The assigments arenot too hard and can be solved with some google search or look in forum. Good course for beginer and also all of people who want to revise algorithms.

By PUCHALLA S P R

Feb 10, 2019

The course is perfectly designed. The perfect start for those who start with data structures and algorithms. The Dynamic programming was a little bit tough but overall course is perfectly designed

By Satyam K

Feb 09, 2019

Crisp course, and challenging assignments make sure you memorize all the concepts learned. Great work by all the instructors!

By Miraj

Feb 06, 2019

This course has a wonderfully designed syllabus, and with a few exceptions, the lectures had extremely clear, lucid explanations of the underlying concepts. I got the most value out of the homeworks, each of which had several challenging problems that really reinforced the learnings from lecture. Thank you, professors!

By Bikash D

Jan 16, 2019

All i read in college is the theoretical concept about the algorithm and not it's implementation in actual programming language.

This course made me code the algorithm and in the process i learned lot about the chosen language as well as how we can efficiently write the code.

Thank you.

Keep up the good work!

By Quynh V

Jan 06, 2019

I liked the fact that the algorithms are not just the introductory searching and sorting algorithms. The assignments are fairly difficult, but not impossibly so. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run

in less than a second).

By Rahul s

Dec 23, 2018

This course is just awesome and outstanding in every term. Teachers are very good at explaining even the toughest of problems and really helped throughout the course, i enjoyed and leaned a lot.

By Alyson L V

Nov 03, 2018

To much talk about how to calcule the Big(O) and no enough explaining about the content

By Prabhuyadav P

Oct 24, 2018

language of professor in a dynamic programming part 1 is tough to understand and makes he concept even harder to understand through videos.(this is only for week5)

By Satesh P

Apr 21, 2018

It was an awesome first week. Great second week. From the third week I couldn't understand the concept being taught. It was hard to understand the professor and follow along. The terminology being used is advanced and it was too hard for me to pay for the course and then have to do my own research to catch up.

By Steven G H

Dec 05, 2017

This course is undoubtedly valuable. I definitely learned some skills that I am glad to have had real practice in. That said, you really have to do the majority of the work yourself. I have the CLRS book, the Dasgupta, and have watched a host of supplemental videos on YouTube, MIT OCW. This course is not an "all-in-one" solution. It's sorta like a high-level guide and tough challenges and a grader. The videos are decent, but by Mithras' eyelash they can be incredibly boring. Furthermore they don't take advantage of the video medium properly. The visual aids are really sub-par.

Also, be ready to repeat the course. I signed up in the late-summer and it took me all Fall. While I certainly was busy, the lack of support, the digging I had to do, the note-taking I had to do, the processing I had to do on my own all added a lot of work. I'm curious as to whether I've gotten better at "taking Coursera Classes" and will have better luck next class. I'm pessimistic.

By Mohit S

Aug 07, 2017

It is very difficult to understand what the hell some of the lecturers speak as they eat up half of the words they speak. Also the transcript of the video shows incorrect words. Have to repeat each damn video a gazillion times to understand

By emmanuel g

Mar 27, 2017

I would like to give this course worse than a 1 star. The course explanations are very poor. The explanations drag on and make no sense. I had to go to outside sources to make sense of what the videos were discussing, which I felt like defeats the purpose. Why am I paying for something when I have to use other sources to better explain. I would never recommend this course to anyone. Listening to these teachers explain each subject poorly was killing me. I like to learn through examples but what they provide just makes it more confusing and hard to follow. Each instructor got worse and worse! The videos were so hard to watch and the accents made it even more worse! I feel robbed from taking this course. I should have asked for my refund within the first week, but I felt since I was paying, I would stick it out a little longer. You will get a better explanation if you take each subject and youtube the videos on each subject. Very useless course. Hated every week of this course and I wouldn't dare to continue with the full specialization program. It's very sad to hear that this course gets recommended a lot, but it missed it's mark completely.

By Jabberwoo

Sep 27, 2016

Bad teaching quality.