I want to properly learn data structures and algorithms—not just memorize patterns or solutions for technical interviews. Is Princeton University's Algorithms course on Coursera a worthwhile resource for building that foundation, or would you recommend a better course or book?
3 Answers
The course is a solid starting point, especially if you want to understand how the data structures work instead of memorizing answers. I wouldn’t rely on the videos alone, though—read a good textbook and solve problems yourself. The official book can feel pretty dense, so a more concise alternative may be easier to work through. Essential Algorithms, 2nd Edition by Rod Stephens was suggested as a practical option with explanations, exercises, and solutions.
Use the course as a structured introduction, but don’t expect it to cover everything. The most important part is implementing the structures, analyzing their time and space complexity, and then applying them to unfamiliar problems. Pairing the lectures with a textbook and independent practice will give you a much stronger foundation than watching the videos by themselves.
I worked through the Princeton course a few years ago and found it excellent. It has you implement many of the core data structures yourself and covers algorithms that every computer science student should know, including a large portion of what commonly appears in interviews. That said, it isn’t a complete algorithms education, so you’ll probably want to supplement it with other resources and plenty of practice.

Thanks! Do you think I should get the textbook used with the course, or are the videos and assignments enough?