Curriculum is Hard

I’ve been involved in a number of curriculum projects over the years. The big one has been the ACM/IEEE CS 2013 task force that is making recommendations on undergraduate computer science curriculum. (The CS2013 Strawman draft is now available here. ) I am so glad there are so many really smart and knowledgeable people on that committee! I’ve also been involved with some smaller efforts. Most recently I was invited to meet with a committee working on the Vocational Technical Education Frameworks for Programming and Web Development programs of study in Massachusetts career/technical schools. Once again some great educators working on that project and I try to stay out of the way as much as I try to help out. But as I was sitting in on this latest meeting it really struck me that developing details curriculum plans for a multi-year program is hard work. More that that I think it is just about impossible for one person to do well.

Oh one person can do it. But well? Well enough for broad adoption? Probably not.But even committees can be tough. In some ways this should have been brought home by some of the news stories out of Texas’ discussions of history curriculum but that struck me as politicians meddling (as politicians are want to do) and not educators working on something they actually know something about. But as I realize that some subjects are too large to include everything (by some definition of everything) in the time (usually not enough) that is allowed there are bound to be disagreements on priorities.

I’m sure this is true in all disciplines but boy do we have problems in computer science. First off our field is much too large. Arguably it needs to be split up into smaller pieces. I can’t see agreement on what those pieces should be and what should go where coming easily though. Given that state everyone has their biases about what is more important than what else. With the CS 2013 effort we are trying to fit everything into four years of college. With this VTE Framework we’re dealing with two years. Ouch! Fortunately Programming and Web Development programs in career/technical schools are not trying to do what four year universities are.

There is a lot of give and take in meetings like these. Lots of discussion of priorities (what is absolutely required) and how much time can/should/must be spent on different topics. These are efforts that really demand committees (which is not true about every task that is assigned to a committee) or at least working teams greater than one (or two or three). Individuals are more likely to forget things that are important even to themselves. The back and forth of discussion various topics can give a clarity that is missing in an individual effort. Yes there are often some tough discussions. A committee can spend a lot of time on a seemingly small topic. Ultimately that work pays off in clarity and in decisions that are well worked out. A lot of hard work and time and even stress. No matter what you decide someone is going to disagree with the results. It’s human nature.

Even with the work these committees are something educators should stand up and volunteer for these efforts. Why? I’ve learned a ton on these committees!

I’m sure that not every educator is thrilled when new frameworks/guidelines.recommendations come out. It often means change and change means more work and can be uncomfortable. It sometimes means that way someone has been doing things for a long time is challenged. But in the long run I think these efforts are necessary. This is especially true in a field like computer science that is constantly changing and at a rapid rate.

The next step for many educators is going to be “how do I cover the topics in the framework/guidelines/recommendations?” For computer science educators that can be tough because they are so often alone in their schools. On the plus side it means a chance to be creative!

OK, yeah, creativity is work too. But if teaching were easy everyone would do it.