Last week I ran a small stall at the annual Women in Computer Science day run by the Department of Computer Science at the University of Oxford. Fortunately being neither a woman nor a computer scientist proved to be a problem. The event was aimed at female Year 10 students (and therefore would be choosing their A-levels next academic year). The UK over-hauled its computer science curriculum a few years ago, and it was great to see that more than half of the students had done some Python which is awesome. (I am teaching my eight year old Python). I was demonstrating the image processing software I’ve written (in Python) that detects growth of M. tuberculosis on a 96 well plate (see the photo above) and can also automatically cut up the photos into strips of single drugs that are then uploaded to BashTheBug, a Zooniverse citizen science project. An important, and really easy message, was therefore it is amazing what you can do with Python! No need to learn some esoteric programming language, like Ook!. And yes, there are often times when you do need the performance of a lower-level language, but often, you don’t. As my own career path shows, nor do you have to study Computer Science to do science with computers.
As a Software Carpentry instructor, the thought that first-year undergraduates (or at least UK ones) might be turning up at registration happy using Python is great – in a way Software Carpentry is one of those organisations whose ultimate goal should be to bring about its own irrelevance – and makes me think of how much more imaginatively we could teach. It could bring experimentation into theory; if you don’t believe that the Binomial distribution can be approximated by a Gaussian for big enough numbers, try it! Or, if you don’t believe that integrating under a simple quadratic is a cubic, try it using many, many small trapeziums (my maths class was set this and a group of us wrote BASIC programs that hummed overnight on our Ataris and Commodores as we tried to outdo each other on the number of trapeziums the interval was divided up into. Geeky, I know.).
If then couple that with a computing cloud, you can start to say things like: “Ok, let’s all now try assembling a human genome”. How much more inspiring is that?