I spent yesterday at Stevens Institute of Technology, an outstanding university across the river from New York City. The occasion was a high school computer science workshop for faculty and students. While the students were getting demonstrations on some of the cool technology that Stevens faculty and students are working on the high school teachers were involved with a panel discussion. I was on the panel along with Jan Cuny (NSF), Bob Slater (Alice/CMU) and Tara Canobbio (Google). We started of with some great discussion of pedagogy. Don gave us a preview of Alice 3.1 Alice 3.1 looks amazing though I suggested they need an interface with Kinect so that avatars could follow people’s movements in the real world and act on them in the virtual world. Now wouldn’t THAT be cool? I of course brought up the usual – Kodu, XNA game development and Windows Phone development. There continues to be a lot of interest in game development and mobile/smart phone development to attract students and we do have a lot of free curriculum resources for that. But after a while a bigger worry became the topic of discussion – there is too little room for computer science in the curriculum.
This is a complicated issue (I wrote some about it just last week at We Need A Wider Conversation on CS Education) but basically these are some of the issues:
Teachers, for the most part, feel helpless to fix these issues. There are large and powerful organizations for teachers of subjects like math and even art and music. These groups have lobbied hard to get their subjects either increased inclusion as graduation requirements. The CS community has not been as successful. Now there are efforts to change this. The CSTA (PLEASE if you are a CS teacher join and get active) has worked diligently at the national level and through local chapters at the state level to lobby for more CS education. Getting CS Education Week though Congress was a big win; a good step in the right direction. But without computer science being in the common core we’re still playing come from behind. Computing in the Core, a partnership between professional agencies and some in industry (Microsoft is active) is working towards this goal. But ultimately education much like politics is local in the US. That means that decisions are seldom make at the national level (no matter how much some people which it were different). Decisions are made at the state and local level.
Some schools have decided on their own to make computer science a requirement. Some, Los Angeles for one, have at least worked hard to make it more available starting with grade 9 in order to give more students the opportunity to learn what CS is all about.
In the US we are not turning out enough of the high quality computer science professionals that we need. These are great, world changing jobs but we are cutting back – in many cases actively and deliberately for cost cutting reasons – on the education of the very people we need most to turn the economy around. Some special purpose schools (Software Engineering High School) are great as far as they go. In the long run though we owe it to all children to have the opportunity to be exposed to a real, engaging, and valuable computer science course.
We are encountering somewhat of an opposite effect at my school because of the reduction in electives. We have 19 kids in CS2. For a school of 175 kids that is pretty good. The reason we have 19 kids in CS is not because of the awesome and brilliant teaching abilities of the instructor (me) but because the kids do not have many alternative electives to go to. The choice between Anatomy and Physiology or writing programs for a mobile devices using Corona seems to go the CS way. (Sorry, no Windows Phone stuff here because there is a scarcity of Windows phones in Montana. I think I own like one of 10 in the State and it is the old Windows Mobile from years ago.) Writing phone programs is going from the "hard" catagory to the "fun" catagory.