Should Everybody Learn to Code? Not Everyone Needs Coding Skills, but Learning How to Think Like a Programmer Can Be Useful in Many Disciplines
Total Page:16
File Type:pdf, Size:1020Kb
news Society | DOI:10.1145/2557447 Esther Shein Should Everybody Learn to Code? Not everyone needs coding skills, but learning how to think like a programmer can be useful in many disciplines. O GAUGE THE ability of pro- fessional graphic designers to do basic programming, Brian Dorn, then a graduate student at the Georgia In- Tstitute of Technology (Georgia Tech), asked a group of them to read and modify a piece of program code. The idea was to see whether they could turn themselves into informal pro- grammers and figure out how to de- velop automated functions in Adobe Photoshop. Unfortunately, when the designers conducted Web searches to look for information on the code they needed, they sometimes used results that pointed them in the wrong direc- tion, which was toward Java—when they actually needed to be using JavaS- cript for this particular project. One of the underlying causes could have been tied to the participants’ “lack Second-grade students in Kevin Jarrett’s Elementary ‘STEMLAB’ at Northfield Community of sufficient general, abstract knowl- School (New Jersey) participate in the 2013 Hour of Code. edge of the computing and/or program- ming structures at play,” wrote Dorn in Mark Zuckerberg to physicist, cosmolo- million would describe themselves as Communications in May 2011. gist, and author Stephen Hawking have “programmers” in 2012, although only His advisor, Mark Guzdial, who re- expressed the belief that basic comput- three million of them would be profes- layed the story, said the findings indi- er programming is an essential skill in sional software developers. cate to him “that there are a lot of peo- today’s world. “Code has become the The Carnegie Mellon study also not- ple who need knowledge of computer 4th literacy. Everyone needs to know ed that a lot of people were doing pro- science … who are going to use it in their how our digital world works, not just gramming without realizing it, by cre- lives, but because they never learned engineers,” says Mark Surman, execu- ating macros for spreadsheets or doing anything about computer science, they tive director of the Mozilla Foundation, database queries using SQL. “So the are teaching it [to] themselves and cod- whose comments are among those of argument is, lots of people are going to ing inefficiently, and wasting a lot of dozens of luminaries on code.org. do programming,” says Guzdial, “and time and getting frustrated.” The demand for computer scien- the data we have studying how end If someone is going to become a tists and technical professionals in the user programmers teach themselves knowledge worker, or take on any job U.S. is projected to grow 34% through and the types of mistakes they make “that requires an undergraduate de- 2018, according to the Bureau of Labor suggest if they knew something about gree,” they should know how to read Statistics. Many people already engage computer science, they might not have a piece of code that is useful to them in some level of programming; Guzdial to struggle so much later.” and be able to make changes to it, says cites a 2005 Carnegie Mellon Univer- Many people who avoided taking Guzdial, a professor and director of sity study indicating that in 2012 there science and math courses in college Contextualized Support for Learning would be 90 million workers in the U.S., are now struggling as they try to teach in the School of Interactive Computing more than 55 million of whom would themselves how to program, he points H BY KEVIN JARRETT H BY at Georgia Tech. use spreadsheets and databases, which out. “How many more would be do- P People ranging from former Presi- can be deemed programming. The ing some programming if we helped dent Bill Clinton to Facebook creator study also projected that more than 13 them? That is the interesting part.” PHOTOGRA 16 COMMUNICATIONS OF THE ACM | FEBRUARY 2014 | VOL. 57 | NO. 2 news What You Should Learn Everyone should learn computational ACM thinking, maintains Jeannette Wing, Computational corporate vice president at Microsoft thinking helps people Member Research. Computational thinking helps people learn how to think ab- learn how to think stractly and pull apart a problem into abstractly and pull News smaller pieces. One concrete way to TECHNOLOGY, AlwAYS learn aspects of those skills is pro- a problem apart into CHANGING, SHOULD BE gramming, Wing says. smaller pieces. EASY TO USE That is not to say everyone needs to The two guiding principles of learn a specific programming language Jeff Johnson’s like Python or C++, even though many 35-year career in people identify programming with human- computer turning out code, Wing says. “First of interaction all, that is too low-level, and it is also While noting that several of his col- (HCI) have been the constantly very narrow an interpretation of what I leagues are successful self-taught pro- changing nature of technology, believe is more important.” grammers, and that learning to pro- and that technology should be easy to use. Instead of teaching everyone to gram does not necessarily have to be Johnson, president and churn out code, the emphasis should done at a university, Felker says people principal consultant for product be on learning problem-solving skills need to know more than memorizing usability consultancy UI in computer science, much like the the technology du jour and, as Wing Wizards Inc., earned B.A. and Ph.D. degrees in psychology problem-solving skills one learns in said, they need the critical ability to and computer science from math and engineering, says Wing, think things through. Yale and Stanford universities, who is on leave as President’s Profes- “[I]f you aren’t dreaming of be- respectively. He has worked as a user-interface designer and sor of Computer Science at Carnegie coming a programmer—and there- implementer, engineer manager, Mellon. Writing a program is an ex- fore planning to embark on a lengthy usability tester, and researcher plicit way of expressing a solution course of study, whether self-directed at Xerox, Hewlett-Packard Labs, that a human or machine can carry or formal—I can’t endorse learning to and Sun Microsystems, and recently returned from a stint out, she says. “The more fundamental code,” Felker writes. “Yes, it is a cre- as a Visiting Erskine Fellow at skill and more critical thinking skill ative endeavor. At its base, it’s problem- the University of Canterbury, is what comes before you write down solving, and the rewards for exposing Christchurch, New Zealand. These experiences have solidified this piece of code, and that is compu- holes in your thinking and discovering Johnson’s commitment to tational thinking.” elegant solutions are awesome.” He continually refresh his work to Guzdial agrees. “Should we learn goes on to say he does not believe that keep pace with the latest digital enough so that you can write a script most people who learn to code end up advances. “There never will be a time when everyone is a digital to do something that otherwise would learning anything that stays with them. native, because the definition have to be done by hand? I would like Referencing a comment made by of that term changes as digital to see that, but I cannot make the argu- New York City Mayor Michael Bloom- technology progresses,” he says. ment that it is an absolutely necessity.” berg in 2012 that he would learn to Johnson, an ACM Distinguished Speaker, recently He adds that ignorance of computer code, programmer Jeff Atwood, writ- updated his 2009 HCI book science puts people at a disadvantage ing in his blog “Code Horror,” poses Designing with the Mind in in today’s world. “Not knowing any- the question, “…can you explain to me Mind with a new section on peripheral vision and chapters thing about programming makes it how Michael Bloomberg would be bet- on decision-making and hand- more difficult to pick it up.” ter at his day-to-day job of leading the eye coordination. largest city in the USA if he woke up one He also has a new corporate The Flip Side morning as a crack Java coder?” While endeavor: Wiser Usability, a consultancy that helps The issue is far more black and white agreeing that programming is impor- companies design senior- to software engineer Chase Felker, who tant, Atwood says many other skills are friendly websites. “Older adults wrote an article for Slate magazine en- important, too. “I would no more urge tend to have limited mobility and transportation, and they titled “Maybe Not Everybody Should everyone to learn programming than I could benefit most from online Learn to Code.” Felker writes, “Frankly, would urge everyone to learn plumb- shopping and online access to just the idea that you can learn to code ing,” he writes. services,” Johnson says. “No one in a year gives me the creeps: I would The so-called “everyone should who isn’t a hardcore computer- geek, least of all seniors, wants be terrified if someone with only a cou- learn to code” movement is wrong for to use technology for its own ple of classes were writing programs several reasons, according to Atwood, sake. Digital tools that don’t help for me, not because he (of course, and including the assumption that more seniors accomplish their goals unfortunately, most programmers are code in the world is an inherently de- with a minimum of learning and bother are not worth the time men) has learned anything wrong— sirable thing. That assumes code is and expense,” he adds.