There was a interesting post on the Computing Education blog about a month ago, suggesting that the best hope for CS education was to take existing teachers and train them to teach CS, rather than to try and get CS majors into teaching (you can find it here, there’s also good discussion in the comments).
Respectfully, I don’t think this is the solution. A recent post on the same blog about how CS education in state schools in the UK is failing because they are teaching ICT instead reaffirms this. Is this news, really? I decided to switch from a state school to a boarding school over ten years ago for a number of reasons – including that I wanted to take “computing” A Level, not “IT”.
Simplistically – there are two problems. Lack of CS teachers, and CS teachers not being good at what they do. More CS teachers doesn’t fix the second problem, nor do I think it fixes the lack of kids wanting to do CS – teach them “ICT” instead and you often alienate them. The first course I TA’d at uOttawa I was teaching business students how to use Microsoft Office products. The vast majority of my students found the material completely pointless – and I couldn’t blame them.
Year one of my A level Computing, I learned to program in C. Year two, I learned about Access databases. I wonder if year two had actually built on year one and been interesting whether I would have been more prepared and more enthused for CS at university – rather than mistakenly enrolled in Chemistry.
However, it seems wrong to complain when I’m not actually doing anything about it. I progressed from being an educator to designing curricula but now I’ve opted out and headed for industry. Yes, I’m earning twice as much as a teacher with 6 years of education, but that is far from the only (or biggest) reason.
In no particular order,
- Impact – Some might disagree, but I think my impact at an amazing company is bigger than as an educator.
- Keeping up to date – I might be able to teach Java well now, maybe for the less 5 years (although I think that’s optimistic) – but languages, paradigms, change. In industry, you stay current. You have to in order to keep adding value. Is that true of educators? I’m doubtful.
- I didn’t really like school. At the state school I attended aged 12-16, it seemed like the focus was on getting borderline students to a C grade, and if a potential A student got a B, well – who cares. I don’t want to be part of that kind of system.
- Geographical flexibility – it’s much easier to move to another country or about if you’re in industry.
- Discipline – when I taught at tech camp, I didn’t bother with the students that didn’t want to be there. Most students did, and so I tried to give the smart, motivated kids the experience I think they should get all year round, but don’t.
Yes, there are some amazing CS teachers (like Hélène), but honestly for the most part I don’t think that CS education can be entrusted to the education system. If those of us in industry are concerned about the future, then I think we need to come up with a better way. My whole career is too much to give up, but I would donate some time, and I’m sure I’m not alone in that.