When I teach computer science to fifth graders, the main concept I want them to remember is that computers work by doing calculations incredibly, insanely, mind-bogglingly fast. To get across the idea of just how fast they work, I tell a story which I thought I’d share here, too.
Let’s start by doing a few arithmetic problems.
3 + 7 = ?
5 + 12 = ?
420394 + 59382 = ?
How long did it take to solve those? The fastest you could conceivably calculate them (especially with big numbers) is about 1 per second. Now take a modern computer, such as the one sitting in front of you. How many of these can it calculate in just one second?
The answer is (roughly) a billion. One gigaherz means “a billion times per second.” In other words, a standard modern computer can answer a billion arithmetic problems, every second.
But just how big is a billion? That number is so large that it’s hard to comprehend. My favorite way to understand it involves paper. Suppose you had a billion sheets of paper, all in a stack (the normal way they’re stacked when you buy paper or put it in a printer). How tall would that stack be, if it had one billion (incredibly thin) pieces of paper?
Of course it depends a little on the thickness of the paper, but the answer is about 100 kilometers, or 60 miles high! Mt. Everest is less than 6 miles high, so let’s turn that stack of paper on its side and lay it along a freeway. To drive past every piece of paper in that stack at 60 mph would still take you a full hour! Reams and reams, paper after paper after paper.
So it would take you an hour just to drive past all those sheets of paper at freeway speeds, yet a computer does that many sheets worth of calculations every second! After many years of programming, I still find this astonishing. That is an incredible amount of power at your fingertips.