If you followed the media attention around Computer Science Education Week and Hour of Code you might be forgiven for believing that the need for more students to study computer science is all about jobs. But of course we don’t really expect every CS student to become a professional developer any more than we expect every student taking an English course to become a professional writer. Just like almost all jobs need people who can read, write and do figures most jobs today require some knowledge of how computers work.
We run a real risk of alienation and of setting false hopes and goals if jobs are all we talk about as a reason to learn computer science. Fortunately there are other reasons.
We also hear a lot of talk about teaching critical thinking and problem solving skills. We sure to a lot of problem solving and critical thinking in computer science. The research is mixed on how much of that transfers to other areas though. I don’t think there is much doubt that it is good exercise for the brain at least.
In my opinion the best reason for more students learning computer science it to understand the world in which they live. This is much the same reason we give for learning physics and biology and chemistry for students who are not going to become professionals in those fields. We, and especially our students, live in a world where computers are ubiquitous. Understanding something about how they work and what they can do is important knowledge.
The objection I hear frequently is that students learn to drive cars without being able to repair an internal combustion engine. And there is truth there but that is not what we are trying to do. Our students do understand how wheels work, how combustion works, and such concepts as force being related to mass and velocity. They generally find that useful, at least at a subconscious level, when doing advanced driving techniques like stopping.
Frequently we hear talk about adding an A for art making STEM into STEAM. Fortunately there is art in computer science. Developing software is at its heart a creative endeavor. Thought computing we can explore the beauty of fractals for example. We can create visualizations of data that make things much more clear to visual learners and thinkers.
And if students really want to go into the field full-time there is probably no better way to change the world for the better. And that is good motivation for almost anyone.
Alfred Thompson, At-large Member, CSTA Board