There’s a lot of talk about exponential growth, especially in computing, but what does it really mean? Is it going to be impossible to keep up?
Full Story
There’s a lot of talk about exponential growth, especially in computing, but what does it really mean? Is it going to be impossible to keep up?
Exponential growth simply means that an amount is being multiplied in size at each step. A simple example is folding paper in half, then half again. Standard photocopy paper is about 0.1 millimeters thick, so if you fold it in half, it will be 0.2 mm thick. Folding again will double that to 0.4mm, then 0.8mm. If you keep going, after 10 folds it will be 102.4mm thick, or about 4 inches – it would be 1024 pages thick, which is the equivalent of a couple of reams of paper. Because the thickness is multiplied by two each time, this is exponential growth. Of course, folding paper on itself 10 times is physically challenging (well, impossible really), but if you were able to keep going, after just 20 folds your paper would be about 100 metres (330 feet) thick, and after 30 folds it would be over 100km (60 miles) thick, and 42 folds would have it reaching the moon – if only you could bend that thick mass of paper in half.
Another way that I like to think about exponential growth is to work out how many steps it would take me to get to from here in New Zealand to be at CSTA in person… ignoring certain travel restrictions. If my strategy is to start by stepping 1 metre (about 3 feet), then double that and take a 2 metre step, then 4 metres, and so on, then my 23rd step would land me in the US (the 22nd step would land me in the Pacific Ocean, so unless I happened to land on an island, this would be a fatal flaw in this strategy).
Exponential growth is pretty powerful. Even compound interest is exponential; in Douglas Adams’ book “Restaurant at the End of the Universe”, an outrageously expensive meal is paid for by investing one penny, then travelling through time to collect the compounded interest to pay the restaurant bill. In fact, even if you invest 1 cent for 1000 years at 2% interest, you’d earn nearly 4 million dollars. That’s exponential growth again. (At this point the reader is probably contemplating what they’d get with a more modest 50 years investment of the penny; unfortunately, it’s only a couple of cents – exponential growth looks moderate for a while, then it suddenly takes off.)
Yet another exponential phenomenon is the spread of viruses, but plenty has been said about that!
And of course, exponential growth is often mentioned in the context of computing: we’ve seen exponential improvements in computer storage (Moore’s law); kilobytes of memory in a computer used to be a big deal, but now gigabytes are the norm; a 1GB flash drive used to be huge, then 2GB was the standard, then 4GB, and so on.
Growth in the size of the computing industry has also seen exponential phenomena; the value of a company can go through the roof, the number of people subscribing to a social media site can explode.
All this can seem overwhelming. Is it a reflection of the rate of change that is happening in computing, and if so, how can we keep up? How do we prepare students for such a rapidly changing world?
The good news is that many of the tools of computer science can deal with exponential problems. Even the representation of numbers using binary symbols gives us exponential power – each extra binary digit (bit) doubles the power of the binary number. Tools like tree data structures and divide-and-conquer algorithms can break down some problems so fast that they can eat exponential growth for breakfast. And these concepts are accessible to elementary school students.
I’m looking forward to the CSTA conference this year; I won’t be able to get there in person, even if it’s only 23 steps away, but in the keynote, I’ll get to explore some really, really big problems that we deal with in computer science, and how we can cut them down to size. This includes looking at the rapidly changing field of computing, and how we don’t need to panic about keeping up with it.
Teachers have such a crucial role in giving students the tools for dealing with big problems. I hope you can join us to explore ways to do this.
About the Author
Dr. Tim Bell leads the CS education research group at the University of Canterbury. Bell and his team at the University of Canterbury were the first to create CS unplugged activities. He has also developed the “Computer Science Field Guide,” an open-source online resource for teaching computer science to students, with curriculum guides for teachers and many interactive applets to guide student learning. Bell has also worked on “The Big Ideas of K-12 Computer Science Education,” which presents a list of 10 “big ideas” of computer science that have been distilled based on input from curriculum designers and computer science education experts around the world.
Bell will be the opening keynote speaker for the CSTA 2021 Annual Conference. Learn more and secure your spot to hear his address.