These days I seem to get this question a lot. The question being "do you teach programming?" I also get "why don't you teach programming?" A few "you should teach programming" and "it's disappointing you don't teach programming" comments also pop up. I get it, programming is on the forefront of a lot of minds. Unfortunately you cant teach all things all the time.
As with anything, it's a choice. Curriculum is less prescribed for a computer teacher than it is for a classroom teacher with, for instance, math. In fact, by "less prescribed" I mean not at all. As a computer teacher there is no set curriculum, we essentially get to make it up as we see fit.
The choice I've made, the choice made on behalf of PS 10, is a choice to support areas of core curriculum such as writing & research
As with my explanation on typing I thought it best to lay it out here...
... To preface, I teach grades 2-5. I see each class 1x a week, for a 50 minute period. Considering line-up and hallway traffic jams, there is usually about 45 minutes of truly usable time.
At this point my curriculum is designed to support the writing & publishing process. We spend a lot of time in Word and PowerPoint (and eventually Apple's Keynote) and commenting on my blog to give students a wide range of writing & publishing outlets. I try to give the most rounded writing-focused exposure I can in 45 minutes a week. We are moving more into Google Docs & Presentations this year.
That being said, the longer I teach the same students the faster we are able to move through platforms & projects. I have begun to experiment with additional platforms such as webpages, blogs, using Twitter, etc. My lab Twitter account, PS10Tech, is mostly student written (a little light now, haven't gotten to the Tweeting unit/lessons). On the new Lab blog you will find a directly of a few student-created independent blogs, being updated after-hours, on weekend, and over summer vacation. More students will have independent blogs for creating their own digital portfolio.
Our focus, as a school community, is the writing and publishing process and I do my best to support that.
I am also not a fan of teaching programming in our current setting. Programming is a very specific niche often requiring a lot of focus, detail, and slower returns on effort. Seeing 30 students in the a class for 45 minutes once a week isn't the best setting, in my opinion, to teach programming. The schedule doesn't offer a lot of time to see progress (programming can often be tedious) and little time for re-enforcement & practice. Yes, students could do things at home, but generally with things like programming not all student's home computing environments can support it.
Also, "programming" is very subjective. You can build an entire webpage without knowing any actual "programming." You can build an Android or iOS app without knowing any programming. And "programming" is giving a computer a series of commands to effect a result. When we make an animated PowerPoint with automated & timed, transitions, we are, in essence, giving the computer a series of commands to effect a result. Not "programming" as traditionally thought of, but I feel it works to teach the technological concept of cause and effect to elementary students.
I'm also not a fan teaching elementary students how to build websites. I've tried it a few times over the years, in different ways, always fraught with issues. A webpage is a single item, and gets boring quick. A full site is better, but then you're dealing with multiple pages, navigation, links, a wide variety of variables, that again, is difficult to do effectively in 45 minutes a week. I like blogging because it is an easier platform to manage and more effectively supports the writing process. I've taught both Google Sites and Blogger to a single class and after a few weeks all but one student wanted to stop building a site and develop their blog. A few weeks later the last student tired of his site and wanted to do a blog. Webpages/sites can become tiresome fairly rapidly, a blog tends to be more engaging and dynamic (even in the real world, many "sites" are actually WordPress or Blogger blogs, tweaked to act like traditional web sites).
My curriculum goal for this year is to have every 3-5th grader up on our Google Apps for Education platfrom so we can ditch Microsoft and do everything in Google Drive. In addition, once I feel students have mastered a level of competency & responsibility in the online/cloud space I hope to give every student an individual, self-directed blog to design, maintain, and update on a regular basis.
Programming is a curriculum choice. If you teach programming you can't teach other things. I think writing across various platforms & mediums, especially "social media" settings, is far more valuable to my students than programming. I also don't think students need to learn programming, at any age. I can get myself around HTML and edit a bit of Java, but I rarely need too. I took courses in HTML and Flash programming & design. I never use those skills, and rarely did outside of those particular course' workload. Yes, there are students in elementary classes who learn "programming" but most often they have more class time and/or they are using a program designed to tech programming to students which in and of itself is no programming language anyone uses on a professional level. So "teaching programming" (like Scratch, which I've taught before to lackluster student response/engagement) isn't really teaching them a marketable skill. Programming is something very specific and in my opinion not as necessary as people make it out to be.
Technology is going mobile & social and I feel those are far more important skills than programming...