There are certain blogs I read daily; Alfred Thompson’s Teaching CS (http://blogs.msdn.com/b/alfredth/), and Mark Guzdial http://computinged.wordpress.com/) are two of my musts. There is always something to provoke thought and discussion on these two. Today Mark brings up how to prepare CS high school teachers. Reading his paper on the topic is a bit interesting from my side of the fence as a high school CS teacher. He states the US needs more high school computer science but then italicizes that we need more computing science researchers. At this stage of the game we need more teachers and let the research catch up. If we wait for more researchers and more research then our kids will have to learn Chinese in order to communicate with the world CS super power. We need education programs that will get CS teachers in the schools. We need to convince universities with teacher education programs to offer a CS teacher education program. We need in-service programs and continuing education programs that will help those of us that learned and are learning/teaching CS on the fly and in a vacuum how to teach CS better. We need a way to fill the vacuum that is high school CS teaching techniques with ideas from experienced high school CS teachers. We need high schools to realize the computers are not a fad, that there are good futures waiting for kids that understand CS and that losing a year of English or Math to fit in a year of introductory CS might a good thing.
I am still looking for a CS teacher education syllabus/curriculum that does not involve getting a 4 year CS degree. As pointed out there is not a lot of demand for CS teachers so having only a 4 year CS degree and wanting to be a high school teacher is a short cut to being part of the McDonald’s crew. What is needed is a CS Ed minor or certification that a prospective teacher can complete in a couple of semesters while getting a teaching degree in a field that does have good employment opportunities. These programs might exist but they must be really scarce. A high school CS teacher does not need to know how to build an OS or program in C; they need to know how to teach freshmen Scratch or Small Basic. They need to know how to teach some basics of an upper level language like Java, C# or VB, they do not need to be a professional level Java programmer. High school teachers are not mathematicians or historians or authors of literary works or computer scientists by trade. High school teachers are communicators who can impart the basics of this knowledge to a group of people who, on the average, are not overly interested in learning anything.