Introduction to the Design and Analysis of Algorithms
Homework and tests are super hard but if you get help early you can make it through. Munagala was terrible and his lectures made sense. With that being said, the material was shockingly transformative.
Probably my favorite class in my four years at Duke - also the hardest by far. The material is super interesting and applicable to almost anything you can imagine, and the work is a chance to really flex your creativity and inner genius. The only problem is the HW and tests are insanely hard, and every problem requires some inner genius you might not have at that exact moment.
This class is weird because it doesn't even feel like a computer science class. You'll learn some useless info and have to do crazy proofy stuff on hard exams. Good luck.