There are many likely catalysts for moving in this direction, none of which is my experience with computer science. After all, I was not a computer science major in my education program, I didn't / don't particularly enjoy math and I'm not particularly good at logical, critical thinking puzzles. I used to think I was a good logical problem-solver until I was asked to help troubleshoot the class schedules of our entire middle school schedule and I felt my brain locked up; my thinker just does not feel at home in certain areas.
By nature I'm an end user. If you asked me to figure out how to use something, I can generally do it. Please don't ask me to program it or create a flow chart around the logic of it's design.
So here I am with this glowing feeling of inadequacy about my lack of skill in the process of programming, while at the same time I know I should be teaching my students to THINK like computer scientists!
Then it dawned me...the power of teaching in this digital age of learning isn't that you always have to be the knowledge expert, but rather you need to be be able to help students curate their own learning. While that sounds awkward, it makes quite a bit of sense. I've seen this most to be the case in the electives I have chosen to "teach." The emphasis has shifted away from what content related area do I know that most about, to which subject/class idea has the most resources available to help me facilitate and mentor students! If I stumble as a teacher, it's not that I don't know how to do something, but that I wasn't able to connect my students with the people/resources they need to help them learn.
Scratch. I know how to use Scratch, and I know how to help students storyboard and plan their ideas, I just wasn't quick at the troubleshooting process. My helping students learn to debug involved asking a LOT of questions and relying on other students (near and far) to provide insight:
"Is there a YouTube video about how to do that?"
"What other script could you have used to get the same result?"
"What would happen if you tried the other script instead?"
"Did you find any Scratch discussion forums addressing this same issue?"
The one thing I do know, however, is it is important for kids to know how to think like computer scientists. Regardless of my adequacy in that area.
Digit technology is programmed. This makes it biased toward those with the capacity to write the code. In a digital age, we must learn how to make the software, or risk becoming the software. It is not too difficult or too late to learn the code behind the things we use--or at least to understand that there is code behind their interfaces. Otherwise, we are at the mercy of those who do the programming, the people paying them, or even the technology itself. (p128)
Now to be sure, the "discipline" of computer science is much broader and deeper than learning a programming language, but it's not a bad place to start. It is my goal that within the next three or so years, to start encouraging my faculty to integrate the Computer Science Teachers Association (CSTA) K-12 Computer Science Standards (membership to CSTA is free by the way).
I definitely don't have this all figured out, but you've got to start somewhere, right?
image "Binary" by Flickr user: noegrandado
Used under an Attribution, Non-Commercial, Share-Alike Creative Commons License.