acm-header
Sign In

Communications of the ACM

ACM Opinion

Should Computer Science Be Required?


View as: Print Mobile App Share:
Even students who will not need to program at all are likely to have important encounters with computational thinking later in life.

Programming is an intellectually satisfying experience, and certainly useful, but computer science is about much more than just programming.

Credit: Andrew Suslov/iStockPhoto

Every college student needs a computer science course, and most need two or more. More and more educators are beginning to recognize this truth, but we are a long way from meeting the need.

Should we require all college students to take a computer science course? That is perhaps debatable. But, without question, we need to make such courses available to all students.

Colleges and universities offer the opportunity for any student to take as many courses as they desire in math, history, English, psychology and almost any other discipline, taught by faculty members in that discipline. Students should have the same opportunity with computer science. But at far too many institutions today -- including many of the most prestigious in the country -- students who are not computer science majors encounter severe enrollment caps, watered-down computer science for nonmajors courses or courses that just teach programming skills. They deserve better.

Many students need computer science to prepare for success later on in the curriculum. Archaeologists write programs to piece together fragments of ancient ruins. Economists apply deep learning models to financial data. Linguists write programs to study statistical properties of literary works. Physicists study computational models of the universe to analyze its origins. Musicians work with synthesized sound. Biologists seek patterns in genomes. Geologists study the evolution of landscapes. Artists work with digital images. The list goes on and on.

Programming is an intellectually satisfying experience, and certainly useful, but computer science is about much more than just programming. The understanding of what we can and cannot do with computation is arguably the most important intellectual achievement of the past century, and it has led directly to the development of the computational infrastructure that surrounds us. The theory and the practice are interrelated in fascinating ways. Whether one thinks that the purpose of a college education is to prepare students for the workplace or to develop foundational knowledge with lifetime benefits (or both), computer science, in the 21st century, is fundamental.

Even students who will not need to program at all are likely to have important encounters with computational thinking later in life. For example, philosophers, politicians, reporters and, well, everyone -- not just software engineers -- must address privacy, security and ethical issues in software.

Computer science is also fertile ground for critical thinking. How might a given program or system be improved? Why might one programming language or system be more effective than another for a given application? Is a given approach a feasible way to attempt solving a given problem? Is it even possible to solve a given problem? A course or two in computer science can prepare any student to grapple effectively with such questions.

Steve Jobs once said on National Public Radio that "computer science is a liberal art." Whether one believes that or not, the question is undeniably debatable and in the best tradition of the liberal arts! And one cannot begin to address the question without familiarity with the basics. Computer science is grounded in logic and mathematics and relevant to philosophy, the natural sciences and other liberal arts, so it belongs in the education of any liberal arts student. Just to pick one example, developments over the past century in computer science have taken logic, one of the bedrocks of the ancient liberal arts, to new levels. Computer science is not just useful. It expands the mind.

 

From Inside Higher Ed
View Full Article

 


 

No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account