Back to Data Structures and Algorithms

Data Structures and Algorithms

Computer science legend Donald Knuth once said “I don’t understand things unless I try to program them.” We also believe that the best way to learn an algorithm is to program it. However, many excellent books and online courses on algorithms, that excel in introducing algorithmic ideas, have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill that you have to master at your next job interview. We tried to fill this gap by forming a diverse team of instructors that includes world-leading experts in theoretical and applied algorithms at UCSD (Daniel Kane, Alexander Kulikov, and Pavel Pevzner) and a former software engineer at Google (Neil Rhodes). This unique combination of skills makes this Specialization different from other excellent MOOCs on algorithms that are all developed by theoretical computer scientists. While these MOOCs focus on theory, our Specialization is a mix of algorithmic theory/practice/applications with software engineering. You will learn algorithms by implementing nearly 100 coding problems in a programming language of your choice. To the best of knowledge, no other online course in Algorithms comes close to offering you a wealth of programming challenges (and puzzles!) that you may face at your next job interview. We invested over 3000 hours into designing our challenges as an alternative to multiple choice questions that you usually find in MOOCs.

Status: Data Storage
Status: Debugging
IntermediateSpecialization

Top reviews across Data Structures and Algorithms

IP

Reviewed Jan 25, 2021

The course is very good, the assignments are hard, and made me think a lot, which is very good and I like it. I think it will be even more excellent if there are more assignments and/or exercises.

AD

Reviewed Feb 7, 2020

Excellent review on data structures. I've taken a graduate level course covering advanced data structures, but I was still able to learn new things through the challenging assignments.

SS

Reviewed Apr 23, 2018

This course is very much helpful for the graph beginners. As a suggestion, i would like to say that add some extra contents on the data structures which is to be used in the algorithm.

RS

Reviewed Jul 23, 2023

I only wish I could get an 'gold-standard' sample of the programs I wasn't capable of writing after course completion, so I can see where I made my mistakes.

TM

Reviewed Jun 4, 2017

Learned a lot. great material. Tough homeworkI appreciated that the grader demanded good implementations but I think it would have been good to have a little guidance as to how to get there.

PB

Reviewed Jul 27, 2019

May be the course would have given more hints. But a learned a lot from the projects.

MM

Reviewed Sep 28, 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.

PS

Reviewed Jul 9, 2020

I think the course content and assignments were great. A suggestion though, it will be more helpful if there are more and varied corner cases that would save time spent in thinking and making cases.

FY

Reviewed Jan 6, 2021

I've wanted to learn about Graphs and the algorithms associated with it for a long time, and I cannot imagine a better course to learn it from. Thank you?

XY

Reviewed Sep 8, 2016

Still stuck at Problem 5 of Week 1, had to left this problem undone.Wondering if the mentors or professors can send those who completed the course the standard/reference solution/program via Email???

GM

Reviewed Jan 3, 2018

As usual, complex arguments explained in simple terms!Some problems are really tough! (e.g. there's a problem from Google Code Jam).Thank you for this course!

SA

Reviewed Aug 11, 2020

hi, this is a hard course and the videos are not sufficient. but finally i finished. thanks a lot

Learner reviews across Data Structures and Algorithms

Showing: 19 of 2,596

Greg
Course: Algorithmic Toolbox
5.0
Reviewed Apr 25, 2019Course: Algorithmic Toolbox
Brian
Course: Algorithmic Toolbox
1.0
Reviewed Aug 9, 2019Course: Algorithmic Toolbox
Mohit
Course: Algorithmic Toolbox
1.0
Reviewed Aug 7, 2017Course: Algorithmic Toolbox
Tom
Course: Algorithmic Toolbox
1.0
Reviewed Dec 23, 2018Course: Algorithmic Toolbox
Mayukh
Course: Algorithmic Toolbox
5.0
Reviewed Feb 15, 2019Course: Algorithmic Toolbox
Josh
Course: Algorithmic Toolbox
5.0
Reviewed Apr 25, 2019Course: Algorithmic Toolbox
S.
Course: Algorithmic Toolbox
1.0
Reviewed Jul 11, 2020Course: Algorithmic Toolbox
Satesh
Course: Algorithmic Toolbox
2.0
Reviewed Apr 21, 2018Course: Algorithmic Toolbox
emmanuel
Course: Algorithmic Toolbox
1.0
Reviewed Mar 26, 2017Course: Algorithmic Toolbox
Sandhya
Course: Algorithmic Toolbox
5.0
Reviewed Jan 19, 2017Course: Algorithmic Toolbox
PUCHALLA
Course: Algorithmic Toolbox
5.0
Reviewed Feb 10, 2019Course: Algorithmic Toolbox
mugnaio
Course: Algorithmic Toolbox
5.0
Reviewed Sep 29, 2017Course: Algorithmic Toolbox
Dheepak
Course: Algorithmic Toolbox
5.0
Reviewed Mar 14, 2019Course: Algorithmic Toolbox
Anoubhav
Course: Algorithmic Toolbox
5.0
Reviewed Sep 11, 2018Course: Algorithmic Toolbox
江祖榮
Course: Algorithmic Toolbox
5.0
Reviewed Jul 4, 2019Course: Algorithmic Toolbox
Eugene
Course: Algorithmic Toolbox
1.0
Reviewed Jan 10, 2020Course: Algorithmic Toolbox
Debashis
Course: Algorithmic Toolbox
1.0
Reviewed Sep 15, 2016Course: Algorithmic Toolbox
Timmy
Course: Algorithmic Toolbox
5.0
Reviewed Nov 28, 2017Course: Algorithmic Toolbox
Kyle
Course: Algorithmic Toolbox
5.0
Reviewed Jun 26, 2018Course: Algorithmic Toolbox