I really like splines. They can add a very natural feel to otherwise rigid environment. Therefore, I think all programmers should have an appreciation of splines.

You never know where you might need them. Graphics is the obvious choice, but then you can also consider UI, trajectories, function approximations, general curves, and plotting.

This video is part 1 where I introduce Catmull-Rom splines. Part 2 will show how to navigate splines in a consistent manner.