Should Everyone Learn Computer Science?

After reading the articles, do you believe that coding is the new literacy? Should everyone be exposed or required to take a computer science or coding class?

What are the arguments for and against introducing everyone to computing or programming? What challenges will schools face as this CS4All push moves forward?

How should computer science fit into a typical K-12 curriculum? Is it an elective or a requirement? Does it replace existing subjects or is it an addition? What exactly should be taught in this CS4All curriculum? Is this computational thinking? programming? logic? computer literacy?

Can anyone learn to program? Should everyone learn to program? Explain why or why not to both.

One of the most rewarding things I’ve done as a student at Notre Dame is pair my major in Computer Science with a minor in Philosophy, Politics, and Economics (PPE). PPE, which began at Oxford, focuses on the intersection of the three disciplines and how their various strengths can contribute to improved discussion and analysis of the world at large. Comparing and combining PPE and Computer Science has informed how I’ve evaluated my computer science education in a few ways.

The first has been an understanding of how computer science informs general understanding of thought, in a similar vein as the study of philosophy and mathematics. Studying the theory of computer science especially reveals the nature of problem solving, the ability to quantify the difficulty of problems, and begins to unveil the interconnectedness of many problems, which I believe is essential to a general and abstract understanding of how the world works. I believe that understanding the underpinnings of logic results in a wiser and more prudent individual, which society desperate craves.

The second reason is a greater appreciation for the incredible relevance of computer science. I imagine that many people view computer science in the same vein as I used to view economics and political science. From the outside, I saw these as niche disciplines that inform specific careers but are not as useful in day-to-day living. After taking classes in both fields, however, I was struck by how much of my decision making, whether in purchasing decisions, voting decisions, or future planning, had been influenced by what I had learned. In our society, striving to understand how the economy and our political system work is incredibly important. To try to make decisions without a mental model of these mechanisms is like driving blind.

The growing role of technology in daily life has, in my opinion, risen the importance of studying computer science to at least the level of economics and political science. To be an informed member of society, you need to have a basic understanding of how the Internet and your phone works. Without it, you attempt to make decisions on what to purchase, how to fix problems, and what to do without understanding why. This is already unacceptable and will only become more so as technology becomes increasingly entwined with life.

However, there are challenges to universalizing some study of computer science, and many of them are due to qualities of the field itself. Computer science, perhaps more than any other discipline, relies upon building on others’ work. The goal of coding is often increasing layers of abstraction, and that abstraction can make understanding the underlying principles quite difficult. To have a fundamental understanding of computer is even more difficult: it requires diving deep into the workings of logic gates and registers, which many people are intimidated by.

However, I believe that an introductory understanding of programming languages and how programs are made is helpful; such understanding helps explain bugs and limits in programs. I believe that this kind of understanding will improve the quality of all interactions with technology, since it will no longer be such a black box.

Should Everyone Learn Computer Science?

Leave a comment