There’s an old joke about three construction workers arguing about the greatest invention ever. The first worker nominates the telephone: “Now we can hear people from miles away!” The second worker points out that with television we can see them, too. “No,” the third worker insists, “you’re both wrong. The greatest invention is the thermos.”
“Sure. On a cold day, it keeps my soup hot. On a warm day, it keeps my lemonade cold.”
“How does it know??”
Laughable though it is, this question is surprisingly insightful from the perspective of computer science. Computation is all about what a system knows and what it can learn from that: how can your laptop, armed with just a wireless radio, find out what www.google.com looks like? How can a security camera infer what’s in an image from a blurry bunch of pixels? Almost every classic problem in computer science amounts to some form of manipulating information.