One of the nice things about living in a small country like Scotland is that it's possible to get all the right people in a room together for important discussions. There are other good things about Scotland too, including the Edinburgh Festival and the pod of 400 dolphins off the Moray Coast, but at the moment the Scottish Qualifications Agency (SQA) is higher on my list than one might normally expect a government organisation to be.
Scotland is in the middle of a huge restructuring of the school curriculum: from this year we are embarking on the Curriculum for Excellence, which is an integrated curriculum which aims to develop learners from age 3 all the way up to 18 years old. This is a great opportunity to develop a fresh start for computer science education, to sweep away the cobwebs of twenty years worth of out of date curriculum. The computer science curriculum for the earlier school years has been developed, with last minute input from the universities, but the SQA are now consulting Higher Education and industry from the beginning about what should be in the qualifications for school leavers (target date April 2012). In a country this small but perfectly formed, you can get representatives of all the universities and industry in a meeting room with some danish pastries, which is what happened the other day. The draft curriculum will be published online and open to comments from teachers and other interested parties which means that you all can play along at home.
A particularly refreshing aspect of this is that the SQA aren't just writing a few multiple choice questions for an exam and leaving it at that. They're stepping back and trying to work out what the fundamental construct of computer science is, working out how best to teach it, and how best to assess it. During the recent meeting they asked what a computer scientist does. What does a computer scientist do? What exactly is computer science? Try answering that off the cuff. Fortunately my colleagues had given the matter some thought and came up with the following:
- CS gives you intellectual tools which make you view the world in a particular way: computational thinking;
- It is central to absolutely any future development, such as climate change for example;
- It enables you to specify, represent and solve problems in a robust and efficient way by developing a model of what will work under many circumstances;
- It helps you to solve problems by applying generic principles such as abstraction and modularity;
- It helps you to visualise internally complicated processes and complex models which evolve over time.
No doubt you have your own thoughts on the matter (leave them on the comments page please!) but it is reasonable start. But it's a long way from there to a curriculum which can be assessed: we need to get concrete and operationalise computational thinking. This is why I think what we're doing in Scotland will be of benefit to the field in general. It should be an interesting journey.