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:
- Students have room for fewer and fewer electives because of increased mandates and CS is mostly an elective
- Most states (42 of 50 including New Jersey) do not allow computer science to count as either a math or science so may not help towards graduation requirements
- Students will often not take “hard” electives for fear of hurting their GPAs
- Certification for computer science educators is a mess – I could write a lot about that but is should be sufficient to say that lack of a clear certification for CS teachers contributes to the problem
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.