I remember when I taught in Houston back in the early 1990s and felt it was a crime that my school did not offer any real computer programming course. The best they had was something called ‘computer applications’ where students would spend the semester mastering things like Microsoft Word and Microsoft Excel. I felt that students were being shortchanged by not getting the opportunity to program since this was something that I learned back when I was in 8th grade and which my own junior high school taught everyone in 9th grade.
Programming a computer is a great hands on experience where a class is, by its nature, student centered. I remember my 9th grade computer class where we programmed challenges in BASIC on our Atari 800 computers. My friend Jared and I were the superstars in the class and racked up many stickers on the wall chart that tracked individual progress through the challenges. I remember one challenge that vexed me for a while: the goal was to get a bunch of text like “hello, how are you?” and to have to computer take the letters and put them in alphabetical order, but to keep the spaces and the punctuation intact, so the output would be “aeehh, llo oor uwy?”
After my fifth year of teaching, many people don’t know this about me, I went back to school for my ‘real’ career in computer science. I got a master’s degree in comp sci and worked for several years as a programmer. I was decent at it and became of of the better ‘debuggers’ for, at the time, a very well selling desktop publishing program called Quark XPress. But staring at a computer screen all day was giving me ocular migraine headaches and my wrists were getting very ‘crackly’ and I was just not feeling like I was part of the real world so I eventually found my way back into teaching, where I have stayed.
For the first five years I taught at Stuyvesant, I taught both math and computer science. My friend Mike Zamansky had designed a course around three computer languages: NetLogo, Scheme, and Python. In a required one semester course for tenth graders, we provided exposure to three types of languages and while not every student loved this course, many did, and it was generally a rewarding experience (except when the computers were broken) to teach this course. I would ‘lecture’ for about ten minutes each day, introducing them to a new concept and then have them work on a lab I designed while I walked around and provided individual feedback.
This week has been Computer Science (CS) education week, and many key ed reformers like Bill Gates, Mark Zuckerburg, and even President Obama have spoken about the importance of computer science. Obama goes as far to say “Learning these skills isn’t just important for your future — it’s important for America’s future.”
Now I’m the last person to ‘bash’ learning a little computer science. I think every student should get an opportunity and I’m also impressed with the free courses that they offer on the code.org website, sponsored by Gates and Zuckerburg. But when I read about how students learning to code is important to America’s future, I think this is taking things a bit far.
‘Coding’ as insiders call computer programming, can be both fun and challenging. I’m all for something that motivates kids to concentrate and to problem solve, which, if taught correctly, computer programming definitely has the potential for. But to sell it to the public by claiming that it is likely to be many student’s future careers is as far-fetched as selling music instruction or physical education as vocational training.
Just like in music and physical education, some kids will show little aptitude, most will show some aptitude, and a few will show a lot of aptitude. Having been a computer programmer (we liked to call it ‘software engineer’ then, maybe they still do) I can tell you with certainty that once you get beyond the very basics, just like with learning a musical instrument, it gets very difficult very fast.
Pushing computer science as an interesting learning experience is fine with me. I agree with that rationale. I do like that there is free access to courses and there are actually some very good courses freely available on YouTube. But let’s get realistic. Like learning how to play the guitar, learning to code is a great thing to do as a hobby, but most people will never get good enough to make a living at it.
Not everything taught in school needs to be ‘useful’ or ‘marketable.’ Sometimes ‘thought provoking’ is all you’re gonna get, and for computer science, that’s enough justification for me.