Thursday, November 15, 2012

Where Do You Go To Learn To Teach Computer Science?

Most people I know who teach computer science more or less figured out how to do it on their own. Some were lucky enough to have peers in the same school or close by to help them figure it out but that is still on the job training. The result is that most of us teach computer science the way we were taught. How people who taught themselves computer science figure out how to teach it is something I am not at all sure about.

Along the way, if we’re lucky, we manage to get some professional development. Some APCS workshops perhaps. Some outstanding teachers teach those workshops and a lot can be learned from them. Or the CSTA Annual Conference if we have some travel budget. Some local conferences if we don’t. SIGCSE is always interesting. Even though most of it is targeted at university faculty the SIG does make a real effort to help high school teachers out there.

This seems atypical compared to most disciplines. Usually there are graduate programs (even undergraduate) in “how to teach x.” or methods courses. There are not many programs out there for computer science education. Recently Matthew X. Curinga started looking at/for these programs and posted some primary results at Where are the CSE programs? Mark Guzdial reports that these programs are “woefully undersubscribed.” Not a good thing.

For some reason the same systems that think that math teachers and English teachers, among others, should have methods courses on how to teach based in research and years of study think that anyone who has a clue about computers can teach computer science. We ask teachers to get advanced degrees in teaching reading (natural languages) but expect someone who had a FORTRAN course 20 years ago to be able to teach Java without any additional training. Weird!

The state of certification for computer science teachers is a mess in the US. Without clear certification requirements there is little incentive for teachers to take CS methods courses let alone get an advanced degree in the field. Well other than intrinsic motivation to become a better teacher. The rareness of the existing programs means that few of them are convenient to many teachers though so even with self interest it can be difficult to take the courses that do exist.  Finding them is difficult as well.

The situation has been described as a “chicken and egg” question. With too little demand for CS education methods courses there are not many of them. And with there not being many courses it is hard to make attending one a requirement. Somewhere along the line something has to push to break the deadlock. Will the CS10K effort be the catalyst? Will it take more pressure moving Computer Science into the common core? Or is this only going to happen on a long term state by state basis?

In the mean time we could at least make sure that more teachers or pre-service teachers knew about the courses that do exist and were given incentive to take these courses. Almost everyone teaching CS could use some well-researched ideas about how to teach the material better.


Anonymous said...

Well, you have to know that I would jump in on this since I've taught the Computer Studies (formerly known as Computer Science teachable) for a number of years. At the Ontario College of Teachers, you'll see it listed in the ABQ Schedule A.

There are two guidelines for course development:

Intermediate -

and Senior -

Hopefully, the copy/paste links come through.

I totally agree with your premise though. I shed a tear for Fortran though. Even someone who has the qualifications need to continually stay on top of things. In addition to your list of Computer Science PD, let me offer a couple of Ontario things.

CEMC Summer Computer Science Teacher Camp -

Association for Computer Science Educators -

Alfred C Thompson II said...

Really appreciate the Canadian links Doug. This is an area where the US is behind several counties in my opinion.

Anonymous said...

You know I'm passionate when I take the time to do the Captcha dance. Had to reload it for each reply as the original prompts were unreadable by these eyes.

Argh. And I failed the first time...

Alfred Thompson said...

I turned off the CAPTCHA option. Hopefully that will not add to the spam but I'd rather moderate SPAM then miss out on good comments.

Mike Zamansky said...

I've always been of the school that the best way to learn to teach is to teach. Apprenticeships are the way to go.

If you take all the value of all the education courses I've taken, you could maybe fill one 3 credit course of real value. I'm not alone -- most of the top educators I know feel the same -- education courses (subject ed or general ed) were part of the price to pay to get the gig. The real learning to teach came on the job.

Things seem to have gotten worse in recent years. A math teacher used to have to have a math degree as well as ed courses. Now it's math ed. I'll put my money on math over math ed any day. That's not even getting into the "preparation" that programs like TFA provide for their teachers. As a side note, this doesn't mean that those with math ed degrees can't have a strong math background, rather that it doesn't have to be as strong as the background of a math major.

My fear is that CS Ed will go the way of Math Ed.

I've been trying to convince NYC to help me establish a CS teacher training program based on the established, sucesfull program I've built at Stuy. We currently have almost 10 teachers so we have a critical mass from which to work. We'd have teachers intern with us (either student teaching on steroids or teachers on sabbatical) while filling in the CS content knowledge from local universities.

To me it seems like a no-brainer, but it's been a hard sell, but the tech industry likes the idea.

Alfred Thompson said...

I love the apprentice method Mike. It really does make a lot of sense to me. It's enough different from the status quo that I am not surprised that there is resistance though.