The MSc course also uses project management tools. It has allowed us to build up a portfolio of experiences that help in working out the way forward as our courses develop. In the process we have made some rather expensive mistakes and some surprisingly cheap successes. That makes computer science much more formal, much more 'mathematical' than it used to be. We think it makes the subject much more interesting than it used to be, and lots of fun.
Undergraduates find any sort of formal reasoning difficult.
They seem to find reasoning about programs particulartly difficult. They certainly don't think it is fun. Symbol ic calculators can be devised which allow students to choose rules and see what happens when they are applied, or which allow them to try out their own application of the rule and have it checked. In particular they can try out rules on their own example s - soemthing they hardly dare attempt at the moment. If it works, it will mean that we can introduce formal reasoning much earlier in a computer scientist's education than most people think is safe.