The Chronicle of Higher Education recently ran an article, "Decoding the Value of Computer Science," where a liberal arts major (who gave up on majoring in computer science early on) talked about the value he found for his computer science education in his later career.
Computer science exposed two generations of young people to the rigors of logic and rhetoric that have disappeared from far too many curricula in the humanities. Those students learned to speak to the machines with which the future of humanity will be increasingly intertwined. They discovered the virtue of understanding the instructions that lie at the heart of things, of realizing the danger of misplaced semicolons, of learning to labor until what you have built is good enough to do what it is supposed to do. I left computer science when I was 17 years old. Thankfully, it never left me.
The article has received a lot of discussion on the SIGCSE-Members list over the last week, though most of it negative. Commentators felt that the author didn't do enough to convey the important parts of computer science, which go beyond programming. And if the commentator was going to talk about programming, some commentators felt that the need for adequate software engineering would be appropriate.
Any non-CS major who takes some computer science classes will certainly have a less well-rounded and complete understanding of computer science than someone who majors in CS. That had better be a true statement, or we are doing something wrong with our CS majors. I will bet that my one semester of College Chemistry or Psychology gave me an incomplete understanding of both subjects. However, I found both useful and interesting. Both those introductory classes have served me in the rest of my life as a citizen in a technologically sophisticated society. I can read newspaper and magazine articles on chemistry and psychology, for example, and understand them better than if I had not taken those classes. Most importantly, I have some understanding and significant respect for those fields and their practitioners that I might not have had without taking those classes.
We need more people to understand what computer science is and respect the value of the discipline. We can actually get by with less of the former if we get enough of the latter. If we want legislators to fund computer science research, and we want teachers to teach beyond office applications, and we want end-user programmers to realize when they need to involve software engineers, then we need a lot of people to know some computer science and respect what the field brings to our society.
In writing his Chronicle piece, Kevin Carey did us a great service. He is saying to his fellow liberal arts majors (especially useful to those involved in public policy, as he is) that computer science is important and valuable. Sure, we want more people to major in computing, as well. That will happen naturally as we bring in more people and show them what we have to offer. Kevin is encouraging others to give us a chance.