We're kicking off Computer Science Ed Week 2018, and we couldn't be more excited! It’s hard for us to believe, but people outside the field sometimes fail to share that excitement. Again and again we’re asked, "What is computer science?" So we’ve developed an answer that will help transform those puzzled shrugs into nods of understanding.
If you look in a textbook, you’ll see answers like this: "Computer science is the study of computers and computational systems." That’s a concise definition, but it doesn't tell you anything about what computer science really is. It certainly won’t quicken anyone’s pulse. And if you start a Google search with "Computer science is…,” you'll also get some unhelpful (but snide) answers: "Computer science is too hard" or "Computer science is not for me." Yikes! Those don't seem right either.
So as a computer scientist, let me give you my definition: Computer science is using technology to solve the world's problems. That's what computer scientists do. Those problems could be as big as fighting terrorism or improving world health, or they could be as simple as creating a new game or an app to cheer up your friends.
How can computer science address such a broad range of problems? That’s simple. Computer science is a tool, a means to an end, just like reading or writing. Once you’ve mastered the essential skills, you can use them to help you with just about anything. What could be more exciting than that?
Imagine for a moment the difference between a doctor who can read and write and one who can't. The one who can is going to have far more resources available to do her job: she can take notes, read the latest research, and share her discoveries. Like reading and writing, computer science is a foundational skill; it provides a reliable base to enhance excellence in any occupation, allowing new ways to think, communicate, and solve problems.
What does problem-solving look like in computer science? Computers and other technologies, though seemingly very "smart," can only follow a limited set of instructions. Coding is basically thinking about what you want the computer to do and writing out a specific set of instructions. Again, in the abstract, that may sound dull. In practice, it is anything but.
You start by taking a large problem and breaking it down into smaller pieces. To take a simple example, suppose you wanted to create a tic-tac-toe game: you'd give the computer instructions for how to draw the board, how to make the Xs and Os, and how to take turns. You’d do the same for what happens when players click or for what constitutes a winning game, and so on. Once you've learned the fundamentals of breaking problems into small steps and translating them into instructions for the computer, you can begin to tackle the world’s most important (and exciting) challenges.
So next time you're asked, "What is computer science? Why should I try it?" don’t get lost in jargon or circular definitions. Instead, follow up with a confident, two-part answer: "It’s a way to solve all kinds of personal or social problems, and few activities are more rewarding than that.” Then list some of your own creative ideas for using technology to improve lives and to show that computer science is a wonderful tool for changing the world.