I want to learn data structures and algorithms properly rather than memorizing solutions to a few common interview problems. How effective is Princeton University's Algorithms course for building that foundation? Is it worth taking, and are there better books or resources I should use alongside it?
2 Answers
The course materials can be useful, but I wouldn’t rely on the accompanying textbook alone. Some readers find it fairly dense and slow to work through. A more concise alternative is Essential Algorithms, 2nd Edition by Rod Stephens, which includes practical explanations and worked problems. You can use that alongside the course videos and coding exercises rather than trying to learn everything from one resource.
It’s a strong course and a good starting point. The assignments have you implement data structures and algorithms yourself, so you learn more than just interview patterns. It covers many of the core topics a computer science student should know, including material that comes up frequently in technical interviews. That said, it isn’t a complete algorithms education, so you’ll probably want to supplement it with practice problems and another reference.

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