It's an elegant construct, but this used to be a part of an entry-level course in every computer school I know of. Have things changed now?
The people on here who rattle off the names of various mathematical theorems like it's nothing and act like it's weird not to remember how intro-level algorithms work without thinking really hard and doing some trial-and-error for a while or consulting a reference must have much more interesting jobs than I ever have. :-/