Category Archives: Mathematics

The Travelling Santa Problem

Why is the annual Father Christmas world tour ‘NP-Complete’?  What is ‘NP-Complete’ anyway?  In fact, what’s ‘NP’ even?  And why can only Santa do it?  And what’s a ‘Decision Elf’?  And just how awesome is Rudolph’s nose?  What’s ‘Inspirational Magic’?  This and so much more you didn’t know about the annual Christmas Eve ritual …

We all know the problem well enough …  Father Christmas has to travel around the world, visiting all the good girls and boys, in a single night, and return to where he started at the North Pole. Sounds like a tall order!  Can it be done?

Santa

Continue reading


How Many Computer Scientists Does it Take to Change a Light Bulb?

… and other wild and carefree – probably offensive – stereotypes.  A collection of ‘light-hearted’ (see what we did there?) thoughts and anecdotes trying to get to the bottom of what makes a Computer Scientist tick.  There may or may not ultimately be a serious point …

It’s an old one but a good one:

There are 10 types of people in the world; those that understand binary and those that don’t

(At least, it’s as old and as good as CS jokes tend to be, which may not be a long vector in either direction.)  But how much truth lies behind it?  We hear a lot about this ‘computational thinking’, for example, these days but what does it take to be good at it?  To what extent is CS ability a natural thing compared to what can be realistically taught?  How much ‘computational thinking’ does everyone need today and how much can be left to the ‘experts’?  In which case, what do we expect from the ‘experts’?  Are programmers born that way or can the skill be developed?  (Compare with artists: can you teach someone with no sense of perspective to be a landscape painter?)  How much have Computer Scientists ‘evolved’ from experts in other disciplines?  Whatever the underlying statistics might say, it does often seem that Computer Scientists are a breed apart from the rest of the world so what makes them so ‘special’?

Continue reading


To Be or Not To Be? A Logical Perspective

Another silly one, this month; it’s summer, it’s hot and time is short both for writing and reading.  Even computer scientists are allowed time off …

OK then …

“To be, or not to be, that is the question” [Hamlet, Act 3, Scene 1; William Shakespeare]

So, if that’s the question, what’s the answer?  Let’s see if we can use a bit of Computer Science logic to give the poor prince a hand …

Continue reading


Should We Mind the ‘Reality Gap’?

It’s generally accepted that making education ‘relevant’ is a good thing for the classroom.  Usually, this means finding practical applications for theory.  But how much of a problem is it when our ‘real world’ examples aren’t as ‘real’ as they might appear?  How important is the ‘Reality Gap’?

A universal complaint of students, whether at school, college or university, is that they often don’t see the relevance of some of the material they study.  “When am I going to be doing this in a real job?” is a typical question.  There are three broad categories of response from the teacher; bluntly and clumsily characterised as follows:

  1. “You’re getting an education that shows your capability at this level.  The content doesn’t matter.  You’ll be trained to do a particular job when you’ve got one.”
  2. “You might only use about 10% of what you’re learning now in the real world but you don’t know which 10% it’s going to be and your 10% will be different to everyone else’s 10% so we have to do all this stuff.”
  3. “Well, here’s an example of how this might be used in the real world.”

(A good teacher would add a considerable degree of finesse to these answers, of course.)  Ignoring the merits and demerits of 1 and 2 entirely, how best to achieve 3 presents some interesting challenges because, much as we might like to pretend otherwise, the real world is a terribly complicated place, in which the textbook usually only gets us so far … Continue reading