Why Computer Science?

I used to say that high school students should take computer science because it helps them be better problem solvers and critical thinkers. I’d go on to say that what they learn in computer science will serve them well no matter what they choose to study or what career path they take in the future.
I don’t say that anymore.
Not that I don’t believe it. Of course I do. But how does this argument differentiate computer science from any other academic high school class or discipline? The fact is that *every* high school teacher can claim (and rightly so) that taking classes in their discipline will help students be better problem solvers and critical thinkers.
So what then is the compelling reason to take computer science in high school?
I think we can only answer this question by looking at what it means to be a well-educated citizen in today’s world. Most would agree that, at the minimum, we need to be able to read and write with understanding, have a knowledge of mathematics that includes algebra and geometry, understand the basics of science including the fundamentals of biology, chemistry, and physics, and have a historical perspective on our own culture and the culture of others.
I’d argue that we must have computing literacy as well.
Now, by computing literacy I don’t mean knowing how to keyboard, word process, or use software. These are all important skills but fall into the realm of either basic foundational skills taught in elementary school (such as handwriting typically is) or extracurricular education (such as driver’s ed).
Computing literacy is also not information literacy. While essential, information literacy is about critical reading and analysis rather than computer science.
Finally, computing literacy is not just about knowing how to program any more than mathematical literacy is just about knowing how to use a calculator or chemistry literacy is just knowing how to do a titration or history literacy is just about memorizing a bunch of dates and events.
Computing literacy *is* about knowing and understanding the fundamentals — the big ideas, if you will — of computer science. It is about understanding how computing simulates the real world by modeling real world processes. It is about understanding basic algorithms and algorithmic techniques and how we can solve complex problems using simple concepts. It is about understanding abstraction and how it helps us manage complexity. It is about understanding the theoretical and practical limitations of computing, knowing that they affect what types of problems we can solve and how quickly we can solve them.
When we talk about computing literacy in these terms, it gives us a compelling case for making computer science a required part of the high school curriculum so that our students are well-educated citizens and productive members of society. Given the ubiquity of computers and computing and how they are both integrated with and integral to every other discipline, it’s hard to argue otherwise.
Robb Cutler
CSTA Past President

2 thoughts on “Why Computer Science?

  1. This is exactly the tack we took at the University of Chicago Laboratory Schools in pushing for adding a CS requirement in the High School (it passed, yea!).
    We start talking about the need for computing literacy – we used the term “big ideas” and “algorithmic thinking” – and the need for citizens to be able to understand what computing actually is.
    After making that salient point we then tied it critical thinking and problem solving in an effort to show that computer science can hold its water as a new member of a liberal arts curriculum.
    So in the end we found that we still had to say both things. There’s a very narrow tight rope to walk though in order to be convincing.
    Even when a very articulate and provocative case is made for computing literacy, many of the decision makers will be thinking “tech skills” i.e. applications training.
    Go to heavy on the critical thinking/problem solving and you run the risk of making your self irrelevant in the face of the traditional core disciplines.
    We found that we needed to convince people of three things: 1. CS is important enough that our students MUST learn something about it before graduating high school.
    2. that CS is different enough that the content can’t, won’t, and shouldn’t be covered in other disciplines (i.e. so-called integration won’t work).
    3. and finally, that it is an academic subject that helps students become more diverse and well-rounded thinkers, just as any other academic discipline should.
    And it worked. It took over three years, but we now have a CS REQUIREMENT in the high school.
    Thanks for the great post.

  2. Why computer science? Because it is the one field that kids can walk out of high school with and get a high paying job. Not many classes like that anymore. Great write up.

Leave a Reply