[cross posted from my CACM blog]
Can you remember what it was like to be 12 years old and have an infinity of possible careers in front of you? What made you choose computing? Was it a positive choice, or did you drift into it? I have been thinking about this today because I have been listening to recordings of interviews with 12 year old boys and girls about their attitudes to computing, and their future career choices.
I chose computing because it was difficult. I wanted the challenge. I distinctly remember trying to work out how to write a sorting algorithm as I trudged along my morning newspaper delivery route. Naturally because it was so hard it seemed the obvious thing to want to do with my life. (Go figure!) Back in those days, computers weren’t part of everyday life. My exposure to computing was from learning to program at school, and from watching my dad type expert systems code from the back of a book into an Amstrad word processor. But now, children’s exposure to computing is ubiquitous and centred around the use of computers rather than more fundamental computer science concepts. In our recent interviews with 12 year olds who had just completed a game making project, we asked them about what they understood by the term “computing”. It became clear that their understandings were partly related to the label for the subject on the timetable – such as “ICT” or “Information Technology” or “Computing Studies”. None of the classes were labelled as “Computer Science”. When asked what they might expect to do in a computing class, the children typically told us about using applications: spreadsheets, databases, Power Point, Word, sound recording packages. The “Internet” was often featured, in the sense of learning to use Internet based applications safely and effectively. They thought that in a computing class they might learn how to use computers in general, and learn to use programs they had not come across before. A couple of students mentioned learning about what computers can do, and what parts are inside them. Oddly, no one mentioned that they would expect to study the fundamental properties of computation, or the patterns for effective software design.
In terms of future careers, the students often explained that while they thought computing was an important aspect of many lines of work, it was not something they wished to focus on. A boy who wanted to be a pilot mentioned that “there are a lot of computers in that. You have to log in when you’re going out and log out and your computer’s inside the plane.” A girl who wanted to be a doctor conceded that she would learn computing if it was necessary to do the job. Worryingly, a couple of the girls had misconceptions about how programming might fit in to careers:
Girl A: To be an optician or a vet, you have to use the computer quite a lot for that.
Girl B: programming and stuff
Girl A: To be an optician you have to program what it is, know what it is, certain parts. Like what’s wrong , how they can help and stuff.
Interviewer: Have you done any programming yet in school?
Girl A: I don’t know
Girl B: We did. We did our own program. “My computer of the future” that was a programming project.
Girl A: We know that programming is like typing and stuff.
Girl B: Is it?
Girl A: So I believe...
Typing? Opticians? This calls into question an attitude questionnaire I recently used which included a perfectly reasonable seeming question about how much the respondent enjoyed programming. The results may not be very reliable if some of the kids think programming is merely typing.
This brings me to a broader point around computer science education. With many excellent initiatives to encourage students to study computing underway, we are going to need to evaluate their effectiveness. To do so, we need surveys which reliably and validly uncover changes in attitudes to computing. But such instruments will need to be designed very carefully if there is such a mis-match between researchers’ and students’ understanding of basic terms such as “computing” and “programming”. Perhaps vocabulary development needs to be part of the computer science education itself. We need to clearly articulate to pre-teens what computer science is, as well as why it is so important.