There have been a few papers about what students graduating from a CS program think software design is. You can find them by going to the ACM digital library. The most recent has just been accepted for ICER 2014 which will be held this summer in Glasgow.
I have been involved in all but the first of these papers, and think it is a really important and interesting area. The good news is that this time, looking at Aberystwyth students who all had a good CS programme of study, the designs were pretty good. In addition some clear things emerged as needing to be stressed. These were:
- that there is a language of computing,
- that designs contain parts,
- that behaviour needs to be modelled – and that the use-cases need to be linked into something that describes the behaviour in each case.
That is what I am now attempting to emphasise in my teaching.
This makes software design a ’round trip’ activity. ‘Tidy Nice’, as we say in Wales!