Computer Science in Modern Everyday Life
December 2006 (perspective of a Ph.D. student)
This article provides examples of Computer Science concepts in the modern world, especially in activities that young people are likely to be familiar with. It is mainly intended for teenagers who like computers and technology and want to know whether Computer Science would interest them as a major in college.
Stimulating interest in Computer Science
When I was a teenager, I was fairly proficient at using computers, but I had no idea what Computer Science was like as a field of study. Neither of my parents were computer experts, and I had no older role models to stimulate my interests. The only introduction I had to Computer Science prior to college was the AP 'Computer Science' class in my high school. I really enjoyed the class, but it only covered introductory programming, which was quite fun to learn but didn't at all give me any sense of the broad scope and important real-world applications of Computer Science. It wasn't until over halfway through college (as a supposed Computer Science major!) that I began to really gain a passion for the field, mainly through reading books, online articles, writing programs, and talking with more experienced peers.
I would have definitely been motivated to learn more about Computer Science at a younger age if someone had given me a connection between my computer-related hobbies (web browsing, online gaming, digital image editing) and Computer Science as an academic field of study. That is what I will attempt to provide in this article; hopefully, the concepts I present in the context of what teenagers do in their everyday lives can help to stimulate interest in Computer Science as a field of study in college.
Wait, but isn't Computer Science just programming?
No. That's one of the most pervasive misnomers regarding Computer Science.
Programming is an (important) engineering tool; Computer Science is an academic field of study like Physics or Mathematics. Programming is the act of writing code to instruct a computer to perform a sequence of actions. Computer Science is a broad academic field that deals with taming complexity in both the real world and the abstract mathematical world.
It's true that to actually do Computer Science, you often need to program computers (rather than, say, simply sketch out ideas on a whiteboard). Then again, to do chemistry, you need to mix solutions in beakers, but nobody says that Chemistry only consists of mixing solutions in beakers. As a corny analogy, programming is to Computer Science like telescopes are to astronomical science.
Real-world everyday applications of Computer Science
Here are some activities that young people might be familiar with, listed alongside some associated challenges and what concepts in Computer Science address these challenges:
Surfing the web
Playing computer games
Downloading music and movies (legally, of course)
Using your latest awesome cell phone
Neurotically updating your MySpace and Facebook pages and stalking other people's profiles
Traveling on an airplane