Should liberal arts students learn “computational thinking”?
Should the three Rs be four Rs, as in reading, ’riting, ’rithmetic, and ’rogramming? That’s the argument made by Carnegie Mellon computer scientist Jeannette Wing and increasingly by academics from a broad spectrum of disciplines. They insist American education is shorting students, even those who’ll be poets and philosophers, by failing to equip them with the basics of “computational thinking,” the general ideas undergirding computing.
Andrea Berlin, a College of Arts & Sciences professor of archaeology, who specializes in Middle Eastern pottery made during the period from five centuries before Christ to 640 C.E., is one of them. Berlin says archaeological digs and other historical research have uncovered such a mountain of data that “most archaeologists cannot wrap their arms around it.” She’s hoping to develop a website and app that would allow scholars who aren’t computer scientists to gather, mix, and match that information—by time period, region, and other traits. Then a political scientist, for instance, could “compare the patterns, intensity, and direction of trade under earlier political regimes as revealed by archaeological evidence, and gain hard data and real insight into the relationship between economies and various imperial systems,” she says. Currently, no one can do that, because “there’s no venue by which somebody could access the data.”
Computers and computational thinking have revolutionized the way she regards information and its uses. “I used to think of archaeological data as a great mass comprised of many separate items—whole things,” she says. But like an atom, each individual datum can be split into different attributes, and “different users might want to deploy selections of those attributes for different and various questions,” like that hypothetical political scientist mapping ancient trade routes.
She’s seeking a grant for her project from the Rafik B. Hariri Institute for Computing and Computational Science & Engineering. The vision of BU trustee Bahaa Hariri (SMG’90) in launching the institute with a $15 million gift was exactly what Berlin wants: the marriage of computational techniques and all fields of knowledge. The Hariri institute’s founding director, Azer Bestavros, says computational thinking encourages scholars to ask questions they wouldn’t ask without it. All academicians, he says, will ask more and better questions if they know those questions can be answered.
Bestavros, a CAS professor of computer science, argues for mandatory instruction in computational thinking in high schools and colleges, insisting that there are ways to teach it without plunging nonscientists into a flummoxed coma. “Computational thinking is not programming,” he says.
Leonid Reyzin, a CAS associate professor of computer science, seconds that. “Computation simply means working with information. And because we are in the information age, you can’t fully participate in society without such understanding.” For example, says Reyzin, understanding the current debate over congressional legislation to combat online copyright infringement overseas requires rudimentary knowledge of how people get information today, and how the legislation would change that.
A College Board commission currently devising a new high school Advanced Placement course in computer science has flagged general practices defining computational thinking. They include “analyzing the effects of computation,” “creating computational artifacts” (apps), using abstractions and models, and working effectively in teams.
Some universities already include programming in their computational-thinking-for-dummies courses. Carnegie Mellon, admittedly a techie school, teaches the programming language Ruby, Wheaton College offers Computing for Poets, which requires learning the programming language Python, and the University of Maryland uses Scratch, a visual animation language developed for children.
At BU, CAS requires all students to do course work in mathematics/computer science, not computational thinking per se. For a humanities major seeking an introduction, Dean of Arts & Sciences Virginia Sapiro suggests MA/CS 109, The Art and Science of Quantitative Reasoning, taught jointly by the math and computer science departments. The course description reads: “Buying music online, making phone calls, predicting the weather, or controlling disease outbreaks would be impossible without mathematics, statistics, and computer science. Focuses on methods of reasoning common to these disciplines, and how they enable the modern world.”
Bestavros assures students that there isn’t a minute of programming instruction in the course—just as “you don’t have to use a telescope to appreciate” astronomy, he says.
“We thought that there were more important topics given our limited time,” says Reyzin, who codeveloped and teaches the class. Given his druthers, though, he’d teach programming, because “it is learning by doing.” In Bestavros’ ideal university curriculum, MA/CS 109 would be part of a menu of approaches, with students electing whether to learn programming as part of computational thinking.
There are skeptics of the importance of teaching computational thinking, and some of them are computer scientists. The Yale Daily News reports hostility from the school’s computer science department, whose professors frown on such instruction as “trade school.”
Bestavros thinks they’re wrong about that. “Computational thinking is a big idea,” he says, “and 20, 30 years from now, there may be a standard way of teaching it. We are nowhere close to that. But I think society is going through this transformation, and if you want to be competitive 20 years from now, in whatever profession, you really have to get on that bandwagon.”
I agree with beginning to teach computer science at a high school level. Not everyone will end up using algebra or calculus in their career, but almost everyone will have to use a computer even if they don’t progress to college. Perhaps a good model would be to offer a CS track of courses as an alternative–or addition to–math for juniors and seniors who choose it.
I know from many conversations I have about thinking about things in my field it takes quite a bit of explaining on my part to get others in other fields to realize what I do and how I think in general. I don’t talk with liberal studies students often about these details due to lack of exposure but if I did it would be nice to have them contribute to the conversation by them having familiarity with the subject. I think it is important for people to have exposure to such ideas since as it is from my observations, hard science majors and majors with concentration in a specific area are often more liberally educated as compared to true “liberal studies” majors over a lifetime.
As a computer science major, I think this is a great idea. Regardless of your discipline, computers are heavily relied upon in just about every field now for data management. If you’re going to be working with something your whole life, it’s a good idea to know how it works, the same way you should know something about the mechanics of a car if you’re going to drive.
Granted, computational/agorithmic thinking is one of the hardest things about CS. I struggled with it and I can’t imagine a lot of liberal arts people would be too enthused initially, because it’s essentially re-training yourself how to think. That’s not something you can just read out of a book and analyze. But it does give you a new way of looking at the world and how technology can do all these amazing things that right now look like magic, and it grants you the power to solve problems/create more efficient ways of accomplishing tasks in your field.
Any potential employer would consider that a valuable skill. Computer Scientists don’t get paid a lot because we know how to program- it’s about mastering this kind of thinking and being able to apply it to any new problem that we have to solve. Just like in the liberal arts, success is based on how you think. Computational thinking is a huge asset in the modern age.
I agree with Sarah; programming is not difficult, but thinking logically about how to break down a problem and put it back together in a clear, concise and efficient manner is very difficult, and more generally valuable.
I think it it is a great idea.
I got two degrees as an undergraduate, one in engineering and one in liberal arts. I vividly remember a poetry class discussing a poem by Wallace Stevens that renders into verse the mathematical definition of a limit. Stevens, who is today known for his poetry, was also the head of an insurance company, and certainly knew mathematics. The professor and other students alike considered the mathematical connection a mere curiosity. It was sad to me that they couldn’t see Wallace reveling in the beauty of this definition, which is so fundamental to higher math. Wallace perceived a world both aesthetically and philosophically that was informed by mathematical concepts. All of us can be enriched by such a perspective.
It is this pursuit of beauty that should lead liberal arts folks to understand the computer, which has a beauty all its own. It’s far more than simply understanding how much of ordinary life is lived. What’s more, anyone with an undergraduate degree should have wrestled with the philosophical issues around computing and human identity. If we did, perhaps silly comparisons of humanity to computers and howlers in movies and books about what a computer can do would be more apparent.
I don’t think computational thinking is necessary per se, but I do think that students need to be taught how computers work. I work now, and in my last position, I constantly had people asking me questions like, “If I log into my work e-mail web client from my home computer, can people at work see into my home account?” and other basic things that showed a gross lack of knowledge of how computers basically work. I’ve also seen people try to repair their computer in weird ways, like replacing the hard drive when they just need a RAM upgrade.
You should leave middle school with the knowledge of what all of the parts of the computer are and how they work, and you should leave high school with a basic idea of how programs function. Basically, everyone should graduate high school with the ability to effectively use and troubleshoot a personal computer, whether it be a Mac, Windows, or Linux machine.
After 1/3 of a century being paid to work on and with computers
1. I don’t think everyone should know how to repair or upgrade a personal computer any more than everyone knows how to repair or upgrade a car. If you can install an Android/iPhone app and send an email you have enough skills to thrive.
It is up to computer professionals to make everything as easy to use as a smart phone and facebook. Forcing everyone to understand filesystems and router setups is bad application design.
2. People think different ways. Understanding math up to basic calculus was easier for me than learning parts of speech (what is an adverb?) I can’t even explain pre-algebra, because the process and techniques are so obvious words just get in the way. I have seen other people explain and do this level math using at least 2 other language and thought paradigms. It works for them and is greek to me.
3. Specialized languages are usually needed AFTER a basic familiarity with the subject. Histological and biochemical processes of teeth may be fascinating and understandable in laymen’s terms, but the specialized language doesn’t really come into play until attempting to communicate with peers and those with a deep curiosity.
In the same way, after my first decade in programming, I was talking to someone who programmed for the Hubble Telescope about ‘elegant design.’ After about 30 minutes I realized I was unable to express my programming philosophies because I realized neither of us had words for techniques we used on a daily basis. This seemed like a good time for the language of computational thinking.
The average 3rd grader has little use for Aristotelian terminology – language should be skill level and interest appropriate.
4. Lifelong learning. A liberal education takes more than 4 years. It is ludicrous to presume all the skills we need in life will be learned before graduation. All the skills we need won’t even be IDENTIFIED before graduation.
Who new that the meditation space of Tilopa’s “six nails” technique created a perfect space for the emergence of poetry? Maybe you did. But there would have been no point asserting a connection before the preverbal experience, solidly enough established by hundreds of hours of practice, created the attachment points for language constructs.
– – –
Different strokes for different folks. I’d much rather see a focus on the diverse thought paradigms students employ, than the surface education of all students with single paradigm.
Viva la difference.
I’ve had enough failures over the past twenty years with computers to have gleaned about as much useful knowledge as I have for them. Any more, I still believe that for a functional purpose, it is more important to know how to use the software to get things done. I basically have gained an intrinsic understanding of how computers operate and can even diagnose rather well. I would even venture to say I would be good at fixing them. So, as prevalent and ubiquitous computers are, I don’t (personally) want to know anymore about them. But that’s just me…and about a couple dozen million other people in this world. As a liberal arts student, I have had computing classes and programming. But at this stage of the “game” i desire no more than a cursory appreciation and a greater understanding that will facilitate using what I have productively.
Prof Berlin’s statement “there’s no venue by which somebody could access the data” is simply false. You may start by downloading publications and software (“app”) at:
Surprisingly she is not aware of the fantastic work by Uzi, Ilan, and Leore despite she is working in Israel.
RT: Thanks for your comment. Actually I’m well aware of the website you reference as well as many others that describe various computer applications for archaeology. But if you go to that website (and just about any other, including several with far more data available than Hebrew University’s) you’ll find the same story over and over: a kind of dead-end. Let’s say you have a question about material remains from the Iron Age, or Roman coins, or whether a certain type of artifact is only found in graves. There’s no way you could use this (or any!) site to comprehensively search out this information. Those are the types of broad queries that I am hoping to figure out a way to answer.