1.4. Computer Science for Everyone
But why should you learn about computation? Of course, people who want to be computer scientists will need to learn about computation. Why should anyone who doesn't want to be a computer scientist learn about computer science?
Most professionals today do manipulate media: Papers, videos, tape recordings, photographs, drawings. Increasingly, this manipulation is done with a computer. Media are very often in a digitized form today.
We use software to manipulate these media. We use Adobe Photoshop for manipulating our images, and Macromedia SoundEdit to manipulate our sounds, and perhaps Microsoft PowerPoint for assembling our media into slideshows. We use Microsoft Word for manipulating our text, and Netscape Navigator or Microsoft Internet Explorer for browsing media on the Internet.
So why should anyone who does not want to be a computer scientist study computer science? Why should you learn to program? Isn't it enough to learn to use all this great software? The following two sections provide two answers to these questions.
1.4.1. It's About Communication
Digital media are manipulated with software. If you can only manipulate media with software that someone else made for you, you are limiting your ability to communicate. What if you want to say something or say it in some way that Adobe, Microsoft, Apple, and the rest don't support you in saying? If you know how to program, even if it would take you longer to do it yourself, you have that freedom.
What about learning those tools in the first place? In my years in computers, I've seen a variety of software come and go as the package for drawing, painting, word-processing, video editing, and beyond. You can't learn just a single tool and expect to be able to use that your entire career. If you know how the tools work, you have a core understanding that can transfer from tool to tool. You can think about your media work in terms of the algorithms, not the tools.
Finally, if you're going to prepare media for the Web, for marketing, for print, for broadcast, for any use whatsoever, it's worthwhile for you to have a sense of what's possible, what can be done with media. It's even more important as a consumer of media that you know how the media can be manipulated, to know what's true and what could be just a trick. If you know the basics of media computation, you have an understanding that goes beyond what any individual tool provides.
1.4.2. It's About Process
In 1961, Alan Perlis gave a talk at MIT where he made the argument that computer science, and programming explicitly, should be part of a general, liberal education . Perlis is an important figure in the field of computer science. The highest award that a computer scientist can be honored with is the ACM Turing Award. Perlis was the first recipient of that award. He's also an important figure in software engineering, and he started several of the first computer science departments in the United States.
Perlis's argument can be made in comparison with calculus. Calculus is generally considered part of a liberal education: Not everyone takes calculus, but if you want to be well-educated, you will typically take at least a term of calculus. Calculus is the study of rates, which is important in many fields. Computer science, as we said before (page 2), is the study of process. Process is important to nearly every field, from business to science to medicine to law. Knowing process formally is important to everyone.