This post is part of the CS4FN Christmas Computing Advent Calendar and we are publishing a small post every day, about computer science, until Christmas Day. This is the fourth post and the picture on today’s door was an ice skate, so today’s theme is Very Cold.
The South Pole is home to the IceCube Neutrino Observatory. It’s made of thousands of light (optical) sensors which are stretch down deep into the ice, to almost 3,000 metres (3 kilometres) below the surface – this protects the sensors from background radiation so that they can focus on detecting neutrinos, which are teeny tiny particles.
Building the IceCube Observatory – photo from Wikipedia.
Neutrinos can be created by nuclear reactions (lots are produced by our Sun) and radioactive decay. They can whizz through matter harmlessly without notice (as the name suggests, they are pretty neutral), but if a neutrino happens to interact with a water molecule in the ice then they can produce a charged particle which can produce enough radiation of its own for its signal to be picked up by the sensors. The IceCube observatory has even detected neutrinos that may have arrived from outside of our solar system.
These light signals are converted to digital form and the data stored safely on a computer hard drive, then later collected by ship (!) and are taken away for further analysis. (Although there is satellite internet connection on Antarctica the broadband speeds are about 20 times slower than we’d have in our own homes!).
Computer science can help skaters leap to new heights
Researchers at the University of Delaware use motion capture to map a figure skater’s movements to a virtual version in a computer (remember the digital twins mentioned on Day Two of the advent calendar). When a skater is struggling with a particular jump the scientists can use mathematical models to run that jump as a computer simulation and see how fast the skater should be spinning, or the best position for their arms. They can then share that information with the skater to help them make the leap successfully (and land safely again afterwards!).
by Peter McOwan, Queen Mary University of London
The hit musical movie Frozen is a mix of hit show tunes, 3D graphics effects, a moral message and loads of topics from computer science. The lead character Princess Elsa creates artificial life in the form of snowman, Olaf, the comedy sidekick, uses nanotechnology based ice dress making, employs 3D printing to build an ice palace by simply stamping her foot and singing and must be complimented for the outstanding mathematical feat of including the word ‘fractal’ in a hit song. In the USA the success of the movie has been used to get girls interested in coding by creating new ice skating routines for the film’s princesses, and devising their own frozen fractals…and let it go, let it go, … you all know the rest.
This is a kriss-kross puzzle and you solve it by fitting the words into the grid. Answer tomorrow.
Answer to yesterday’s puzzle
Yesterday we posed this puzzle –
“One of Santa’s Elves Mikey Muddlebug has the job making giant novelty crackers each out of a piece of paper that is 1m long. They need 120 crackers and start with a strip of paper 120m long. Mikey Muddlebug sets the cracker machine to make 120 cuts that each take one second to do. Elven expects to be finished in exactly 2 minutes and he will then head off for a snooze: job done. Does he get the snooze he is expecting or is he in a muddle?”
Cutting the crackers
It only takes 119 cuts to split a strip in to 120 pieces (just as in only takes one cut to cut something in to two pieces) You get the last piece without an extra cut. If Mikey makes 120 cuts then he will have made a mistake. He won’t get that snooze. He will end up with pieces that are too short and have to start all over again.
There’s a link to programming: Programmers make similar thinking mistakes to this and it leads to bugs in programs. It is important that you can think clearly and avoid making this kind of muddle. They often lose track of how many times they need to do something, and do one too few or one too many.
Here is an actual example for those with some coding experience. When coding Bubble sort to sort an array, you run a loop down the array comparing pairs of items and swapping them if they are in the wrong order. It is a mistake to run the loop right to the end of the array, though. You stop one short of the end. Why? Because each comparison you do is of the current entry and the next entry, and there is no next entry at the end! You stop one place earlier.
Bubble sort does lots of passes like this gradually swapping everything in to the right place. You can make a similar thinking mistake to the above when working out how many passes of the array you need too. Each pass slots a single value into the right place (as you take the biggest value found so far with you as you scan down the array on each pass, drop it at it’s correct position). That means on every pass you put one thing in the correct position. So how many passes do you need to guarantee sorting 10 things? 9 not 10! Once 9 things are in the right position the 10th must be too as there is no where else for it to go!