Computer programming has a marketing problem, if you believe what the National Science Foundation says. The NSF asserts that people like marketers and journalists need computer science skills; in other words computer science is not just for science and technology nerds anymore.
From an NSF press release:
Do only computer scientists need an education in computer science? In today’s innovation-driven economy, the answer is ‘not anymore’.
Since the skills learned in computer science, like complex problem solving and analytical reasoning skills, are important for building a foundation for numerous careers including jobs in science and technology, as well as jobs in marketing, journalism and the creative arts, most people will need an education in computer science.
I’ll let you pause so that you can picture your local marketer coding the world’s most innovative productivity enhancing widget. [If you miss the humor, perhaps you are either a world-class marketer or you do not work closely with any marketers].
Now it’s easy for me to pick on marketers. It is, after all, my current day job. I manage accounts, write copy, buy media, and conduct web application testing – including writing automated tests. Oh, and I write computer books.
But I don’t consider myself a marketer. Rather, I’m a technical communicator.
Computer Science for All
I agree with the NSF that computer science has a place beyond the traditional science and technology careers, and have held that belief for several years now; though I haven’t necessarily been able to articulate my perspectives until recently. The dip, is convincing the majority that digital fluency pays a dividend in virtually any career field you can think of.
Mitch Resnick, Scratch’s project leader, argues that digital fluency (link opens a PDF) means you not only consume technology (e.g., Facebook, Twitter, blogging), but you create things (e.g. interactive stories, games, multimedia projects). From the article, “Scratch: Programming for All” in the November 2009 issue of the Communications of the ACM:
There needs to be a shift in how people think about programming, and about computers in general. We need to expand the notion of “digital fluency” to include designing and creating, not just browsing and interacting. Only then will initiatives like Scratch have a chance to live up to their full potential.
There’s our marketing problem again. Scratch, a computer programming language, wants to change how people think about programming. Perhaps, Scratch is a vehicle to accomplish the larger ideal – computer science for everyone. However, Scratch is promoted as a computer programming language. I think that makes it easy for kids and teachers to overlook the technology because they don’t see how computer programming applies to them.
Consider spinach for a moment. If you dislike spinach, I will have a nearly impossible task of convincing you to eat a “new spinach” that doesn’t taste like the traditional spinach. I’d be better off finding a new name for my improved spinach.
The marketing problem for Scratch and computer programming is trying to sell computer science to groups of people (marketers, journalists, history teachers) who traditionally want nothing to do with computer programming. All the talk about developing logic and critical thinking skills won’t convince the people who need convincing.
So, if we don’t describe Scratch as a computer programming language, how do we describe it?