SIGCSE, Curriculum 2013 – the Strawman ComethPosted: March 2, 2012
It may come as a surprise to some, but the curriculum for Computer Science is regularly revised and, in recent times, we have see a new curriculum in 2001 and 2008. You can find all of this information at the CS2013 website. The 2013 revision has recently been published for the first time as a Strawman – something that you can attack and, traditionally, how we expose new things in CS to wider comment. Once everyone has hacked away at the Strawman, we examine the cuts and the weak points, patch it up, produce a new draft (the Ironman) and see how this stronger version fares against the slings and arrows of our peers.
This year, I had the chance to sit in on the steering committee panel from the ACM and IEEE-CS who had started the ball rolling. In order to produce a curriculum that is deemed (informally) to be a CS degree that meets the standards of the professional bodies, you have to have Core elements and a selection of Elective elements. Well, that was until now. Today’s big reveal, which was already known to anybody who read the earlier document released in February, was that Core was now Core Tier 1 and Core Tier 2. Instead of having 290 hours of ‘essential’ core material, we now had 163 hours of Tier 1 and up to 142 hours of Tier 2. On top of this, there’s a heap of ‘optional’ Elective elements.
So what makes up a CS degree? Well, if you use all of Tier 1 and at least 80% of Tier 2 and then fill in the cracks with Electives – that’s meeting the curriculum requirements and you have a CS degree. You’ll note however that the number of hours required for all of core has crept up by 15 hours since 2008 – this reflects the addition of new hours to reflect areas being introduced such as Information Assurance and Security, and Parallel and Distributed Computing. The curriculum does change over time but things tend to move rather than disappear. Adding things, however, requires more hours and this is always a problem – what do we take out? (A humorous suggestion was made that we ignore all other courses and ONLY teach CS. Not going to happen anytime soon.)
The depth of knowledge that is required is now described in a degenerate Bloom-derived taxonomy: knowledge (need to know what a concept means), application (can apply the concept) and evaluation (can compare/contrast/select appropriate method/strategy for different situations). My first thought, which needs review, is “Where is synthesis?” but I need to think about this – this would be the Creating step in Bloom’s revised taxonomy and it’s missing here. If it really bothers me, I’ll have to raise it as a consultative point.
We’re at an early stage of the process here, the Strawman consultation goes on for several months and then we get to attack Ironman. When I get back, I’m going to need to look across all my areas of curriculum responsibility and work out what to do – especially as my area “Net-Centric Computing” has now been changed in name and time, and split across two areas! Looks like it will be a busy few months.
Some audience members seemed to get caught up with how they could validate their curricula, which is missing the point in some respects. A country’s professional accreditation body, such as the ACS in Australia, will be a vital part of stating whether you have a CS degree or not. As one of the panelists said “To quote Pirates of the Caribbean, these are more along the lines of guidelines” and, thinking about this, it makes sense because it leaves the academic authority in the hands of the institutions while still allowing a discussion of internationally consistent framing for what it means to graduate in Computer Science.