The algorithms studied by researchers can be categorized as:
A. How to do something faster.
B. How to do something at all.
C. Prove a point (to help us understand the mathematical underpinnings).
Courses often focus on C, for obvious reasons. I'm going to
try hard to focus on A, which I think is the one that is the most
useful for the average computer scientist.