Category Archives: general

Where have all the Geeks Gone?

I often hear people opine about how today’s youth are wired at birth, but are they fluent? According to the Computer Research Association, enrollment in U.S. based computer science degrees is down 46% between 2003 and 2006.

The question becomes what are we going to do about it because so much of our future personal, professional, and national security depends on having competent technologists.

From the Wired story Darpa: U.S. Geek Shortage Is National Security Risk:

Darpa’s now hoping someone, somewhere, can come up with a way to make future philosophy majors change course. And they want to get ‘em while they’re young: Darpa insists that programs be “targeted to middle and high school students, and include methods “to maintain a positive, long-term presence in a student’s education.”

A long-term presence that includes evenings and weekends. Rather than incorporate computer-based activities into academics, Darpa wants the programs to be extracurricular, “perhaps as an after school activity, weekend, or summer event.”

Darpa is a U.S. Pentagon research group that has an obvious concern for U.S. security, and training 21st century geeks is a large part of our future security. This sounds like a perfect call to arms for Scratch or programs like Scratch that aim to make young people creators instead of raw consumers.

More importantly, Darpa wants buy-in beyond academics. It’s not that formal education isn’t necessary or event good; it’s that we shouldn’t rely on other people to be the sole educators of our young people. It’s why I think the open source community, Linux geeks in particular, are key adopters of Scratch.

Tell me what think.

Computer Science Has a Marketing Problem

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?