Explaining teaching in general can be difficult, but to explain Computer Science education can be even more difficult. Many think that those taking Computer Science are just super nerds that do everything on their own, and the “teacher” just kind of hangs out on their computer. Many think the teacher knows LESS than the students (and honestly this can be true in certain aspects or if the teacher is not trained properly). So what do we do?
One of the biggest problems with CS is that our subject is ever changing. We don’t get to teach that 2+2 is always 4. Our languages change, the hardware changes, its use, etc. Honestly, CS is an amazing, beautiful and engaging subject but none the less not an easy subject to teach. Many of us who have embarked in this adventure for a while now know that being a CS teacher means you become a life time learner and that mapping a curriculum every 3 to 4 years is just part of the main to do list. Other subjects have many years’ worth of curricula with minor changes happening through the years, but computer science is constantly on the move and the content becomes obsolete fast. So, a lesson plan that might have worked wonderfully 5 years ago might not be useful now. Of course, there are the basics that are modified but not vastly changed. So, creating a curriculum is just part of our daily tasks.
I believe that CS teachers are a unique breed. I’ve read so many articles, seen so many posts from other CS teacher friends and all have something in common, one way or another at some point the fact that it can be a “lonely” position is brought up. Indeed, almost everywhere CS teachers may be the only one within their departments, their school or even their district.
A computer science teacher may have different backgrounds. Some come from the CS industry and have a CS background, others are “imported” from teaching other subjects such as science or math and some have a technology education degree. I was searching online for a specific degree in Computer Science education and although you can easily find a master’s degree with a CS education concentration, I had a hard time finding a CS education bachelor’s degree. What most colleges or universities recommend is getting an education degree to later get a CS education master’s degree or have a CS degree and get a teaching license. All that is perfect, but I think that CS teachers need better training and just as I mentioned before it can become hard to teach a subject you are not properly trained for. I read this past week a post from a CS friend on Facebook that was asking mostly himself if he knew “too much” about CS to teach a beginner’s class, and I thought that this is the kind of things that make us unique. A math teacher will probably never ask themselves if they know too much math, or maybe they do, and I just don’t know.
Throughout the years organizations such as CSTA, ISTE, Code.org, Oracle, and the College Board among others have taken big steps to support CS teachers and making our jobs easier in the planning phase, prepping and the dreaded paper work part. Finding the time to take advantage of that is a different problem though. Every time I have the chance to attend a conference, event, competition or workshop that is specifically for CS, that is when I feel I am home. I know that the people around me have the same challenges and successes, have the same feeling of sometimes teaching a lonely subject. So, getting this sense of community goes along way. I hope that at the rate CS education is growing around the world, that sense or community remains.