Listening to an breakdown of software language engineering while wearing a pair of blue bedsocks knitted by my Grandmother could have felt strange, but it actually felt simply right. What I have watched my Gran doing, and what I have seen growing on my screen this past few weeks in code don't feel far apart at all. And they're not. The devices we call computers even developed directly from devices that automated the production of cloth, translating human instructions into repeatable mechanised actions.
On Skype, Malo tells me a famous quote: "Computer science is no more about computers than astronomy is about telescopes".
For me that is another quiet moment of understanding like the punched paper tape in the bunker. I've never been interested in learning to be a better user of computers, what I am interested in is why those systems work in the first place. And here I am in a situation where I can explore that directly in my work for the first time.
I listen to Malo explaining differing interpretations of computer science, and how they relate to the work conducted by the department at RHUL. Computer Science can be thought of as the engineering part of mathematics, or even the foundation of mathematics.. Applying mathematical theories to solve real problems.. A proof is a program.. Computer Science is a vast field of engineering and theory related disciplines, but practice is just an implementation away.
I'm going to have to learn some mathematical terminology here. I don't know what a proof is. But I want to know. I'm going to have to learn a new set of words to describe the world.
Malo gives a breakdown of the specialist groups in the department. I will try to give an outline here from my notes and understanding. I might well make some mistakes. This is all new. New words and patterns overlapping with familiar ones in different contexts.
Computer Learning. How a computer can learn from facts to be able to formulate additional facts, draw conclusions, infer, do actions or make predictions. The mathematics of artificial intelligence. The ability to analyse huge amounts of data, and translate it in useful ways. He gives a practical example: If a supermarket has huge amounts of customer data, they can do more with it than graphs and pie charts. A pie chart can show how many men bought beer. It can't show you how likely one man is to buy beer. The same principles are applied in many fields.
Bio-informatics. Studying biology using the tools of computer science. Thinking of the body as a computer system, and using that to see biological phenomena. For example the human genome has never been physically read end to end. It is too fragile to be read as a single line. It gets broken up and the individual pieces are logged and mathematically re-assembled as a model of the whole thing. My immediate question was 'how do they know if it's right'? The answer is they compare a lot with stuff they know already, and keep 30% of the bits back, and if they don't fit in the final model, it's not right. It makes me think of the restoration of the Tell Halaf statues in Berlin.
Algorithms. Not just creating algorithms but finding the best algorithms. Studying the efficiency of algorithms, and applying them. For example “constraint satisfaction”, in which you are given a set of constraints and have to find the best solution. At Royal Holloway, they now use this method to allocate rooms automatically instead of humans batting about a schedule by hand. Another example would be in scheduling aeroplanes, which they have worked on with Paris Charles De Gaulle airport. I need to really look at what an algorithm is. I think I already know, but I want to be really sure. I think it is basically a series of very precise instructions to solve a problem. But I need to look at that more, in case I've got my understanding of this way off.
Distributed and Global Computing. Distributed systems. Machines communicating with other machines through networks. Machines or programs working together, all with their own separate jobs. How to make it work when things go wrong with individual elements, particularly so as not to lose data. “Each machine is a bit on its own”. Facebook as an example. Distributed intelligence. This is a fairly new field.
Software Language Engineering – How to design a good programming language, and studying what it is that makes a programming language good. How to make sure there is no ambiguity. Computers do not support assumptions or ambiguity. When a compiler translates a program, the result might not all come out as you intend if you haven't made it clear enough to the machine. We also touched on reverse compilation as I was asking questions about translating between different languages – which isn't something that is done unless converting from an old language to a new one, and then the tool tends to be to convert the whole program rather at once rather than facilitating direct translation of each element.
Malo tells me that these are the specialisms of their department, and that they are quite focussed. There are other universities with broader departments, or with specialisms in other fields such as graphics, music or robotics. Some have an even more specific field – there is one group whose specialism is in modelling the human heart. I am very excited at the specialisms here being so far from what would be instantly considered as easily connected to art. This gives me far greater scope to explore and learn.
Royal Holloway also has a separate Information Security department, and we can say hello to them to, if I would like. Which I would.
I ask Malo what he would like to get out of this exchange. He says as the outreach representative, he would like to get out there what they do, and what Computer Science is. He talks about the danger of a computer as a black box that people have no real understanding of. He uses the example of people not being able to fix their own cars any more, and all that understanding of how they work being lost. Also about people's perception and resistance to learning once that break is made. He says as a general rule (with many exceptions), it tends to be older people who are more difficult to engage with about computing. This is again an unusual and enjoyable situation for me, as the majority of projects with a community engagement focus are geared towards children. Which I do work on and enjoy a great deal - but when I get to choose, my favourite audiences to engage with are resistive older audiences. I think this may actually not be so much the case at the fete itself, as the audience/participants will be coming specifically to the event so will bring a context of interest and curiosity. But it is generally just simply pleasing to hear about situations where those communication skills are necessary – particularly for me as they are skills developed from transferring patterns learned through my interest in computing.
Tomorrow at 4, we will have a conference call with members of each group and begin to talk about their specialisms in more detail, and their own individual interests. In the meantime I will do a little research into some of the language used. I am very keen not to research too much in a general way, but to let the experience lead the process.
This interaction as an artist is not about gathering information, it is an exploration of a process of responsive learning in itself, the direction of which is determined by the interactions and exchanges that take place. I come to this with my own interests, limited knowledge, unlimited curiosity, finite time and resources, and a clear goal to create a documented artwork. The Computer Science Dept. at RHUL is a collection of people each with a lifetime of experience and specialised knowledge. Much as my infinite curiosity would like to, I cannot learn everything from everyone, and must balance seeking knowledge with seeking sparks, hooks and patterns I can use in the short term to create this work. Usually in an interaction of this kind, I would not conduct research of my own outside the immediate context of exchange. I would listen, gather, observe and ask questions to gain an entirely subjective view of the context from each party, the only additional reading or research being that suggested by the subject themselves. As an artist I have nothing to prove in pre-existing knowledge or expertise. It is of no benefit to the process or the work to appear clever or equal on any terms except humanity. It is in my interest to initially know very little, to be open about that, and to share the process of learning and the knowledge gained through my work.
However this project is a little different. The short time-frame means that without additional research, I will not be able to get deep enough into the material in time. Also because I am very aware of the value to my future work of what I learn here, I am keen to gain as much learning as possible from this unique and very precious opportunity. So, yes, I'll be looking up “proofs”, “algorithms” and anything else I am not entirely sure of the meaning of. Also, there will be a lot of shared words that have different useage in a computer science context to an art context. I am very interested in that, and will be looking into that a bit more, probably at the same time as hearing about how to remove ambiguity from programming languages.