Another week flew by in Cambridge and before we knew it we were back in the top floor of CC meeting again with our fellow Queens’ Computer Scientists. Our Wednesday sessions are a chance to reconvene and participate in whatever Andy has in store for us! After a couple of weeks of presentations, both inspiring and daunting for myself as a first year, we knew we would be doing something a little different this time around…
We settled down in the pairs, each pair with a laptop, soon to discover the purpose behind bringing such devices. Andy gave us a URL and off we started!
SpaceChem, a familiar name to some prior enthusiasts, is a puzzle game which uses a visual programming language to allow the user to tackle various chemistry related challenges.
In its simplest terms, the aim of the game is to produce a certain number of each required product molecule by controlling the movements of the input molecules. As you can see in the GIF above, the reactor can look rather complicated when in use, which is why you need to be able to think ahead when designing your solution. One of the cooler features of the game is seeing how your solutions compare to those of actual other players.
Why might we be playing computer games in term time when we supposedly have a gazillion other things to be getting on with? Well there’s a reason behind the gaming, Andy reassures us. There are a few applications of the skills that the software teaches to our own courses.
Besides the obvious programming and solution building connections, there are some concepts that it helps to bring out in our CompSci brains. In particular, an understanding of concurrency is required to complete later levels. As you may be able to see in the GIF above, these harder levels require multiple molecules to be bonded together. This means you have to ensure that the molecules moving along the different paths arrive together at the same time in order to bond. You can use sync points to make certain molecules wait for the other ones to catch up, to fine-tune process so the required ones join together at the right place and at the right time. This is in a similar vein to parallel processing which is an important part of Computer Science. SpaceChem gave us a chance to visualise this idea and put it into practice.
And of course, to make the session extra special we were given prizes for showing Andy something ‘impressive’. Our pair created a solution which used every space on the grid to get earn some well-appreciated caramel bites.
Grateful thanks to Zach@SpaceChem for allowing us to run the session.