Alfred Thompson's posted a few times about the necessity of having computer teachers and applications classes in K-12 schools.  Although I train adults how to program and help advance their careers (most haven't seen the inside of Varsity High since their 10th anniversary reunion), I couldn't agree more.  I'll share some thoughts on this since in my neck of the woods I am the local 'go to geek' and I do get asked this kind of question a lot. 

So why do schools need computer teachers?

  • Not all kids are just born with computing skills despite the stereotyped image that youth = automatic electronic wizardry.  It's just not so. Just because they can text their friends, rack up cell phone bills and play Xbox, that doesn't mean they have real computing skills. 
  • Not all kids are that adventurous, ambitious or willing to explore new subjects.  Not all kids will figure it out on their own, because they just don't want to.  Just think, how many do this with Grammar?  Not many. Some kids are more adventurous in history or some other subject, rather than computing.  Alfred touched on this but his point was mostly in relation to the OLPC (one laptop per child) program and lack of teachers in areas those laptops go to.

And, what about what the computer teachers should be teaching?

  • Computer teachers need to teach students what is important for a career in computing the same way that the Spanish teacher demonstrates what's important if your career will be in linguistics. I have a big point to make here.  So many non-IT people come to me thinking that typing skills = computing skills.  I hope I cannot be more clear when I say NO NO NO NO NO, that's not so.  I know great admins and developers who can't type so well.   Just because I happen have a career in IT and I happen to be able to bang out 150+ WPM doesn't mean that fast typing is the whole of my job, or even all that important.  Much, much more important are the logic, reading, analysis, communication & team, mathematical, problem solving and logic (did I say logic :)) skills than typing.
  • Kids need to learn the foundations of computing, basics in computability theory, the history of computing, key figures like Alan Turing, what's possible with computing, including an intro to Artificial Intelligence, robotics,  and social computing (did I get it all?).
  • Kids need to learn how computing devices, theories and technology can solve real world problems.  I really believe that technology has the potential to make the lives of so many people so much better, especially in the not-so-developed or developing countries.  I want our kids to think so too.

Notice I didn't include any specific vendors like Microsoft or applications like Word, Excel.  Specific applications change too fast and the kids won't get any long lasting knowledge from them (for more on apps, see this post from Alfred).   I also don't think kids should be inundated and certainly can't learn every detail of these rather advanced theories.  They can, however get a lego robot kit and play with it in a class, they can learn a little about AI basic concepts and think up scenarios for more life like machines and they can see how key figures shaped history to bring about the programs and devices that they use today like cell phones, games and the Internet.  Knowing those things will be the most valuable (I think so anyway).  I believe the fundamentals like these are the topics that will allow students to dream, drive innovation and be successful if they do so choose a career in computing, and help ease their pain as a user of technology if they don't.

Particular applications can be integrated nicely into other classes for an extra added bonus.  If a student has an essay due, they can use their favorite word processing program to type it out. And yes, the computer teacher should be there to assist them with using that word processor, for example if they need to add in bullet points to that essay.