Most people, if they think about the topic at all, probably imagine computer science involves the programming of computers. But what are computers? In most cases, these are just machines of one form or another. And what is programming? Well, it is the issuing of instructions (“commands” in the jargon of programming) for the machine to do something or other, or to achieve some state or other. Thus, we can view Computer Science as nothing more or less than the science of delegation.
When delegating a task to another person, we are likely to be more effective (as the delegator or commander) the more we know about the skills and capabilities and current commitments and attitudes of that person (the delegatee or commandee). So too with delegating to machines. Accordingly, a large part of theoretical computer science is concerned with exploring the properties of machines, or rather, the deductive properties of mathematical models of machines. Other parts of the discipline concern the properties of languages for commanding machines, including their meaning (their semantics) – this is programming language theory.
Because the vast majority of lines of program code nowadays are written by teams of programmers, not individuals, then much of computer science – part of the branch known as software engineering – is concerned with how to best organize and manage and evaluate the work of teams of people. Because most machines are controlled by humans and act in concert for or with or to humans, then another, related branch of this science of delegation deals with the study of human-machine interactions. In both these branches, computer science reveals itself to have a side which connects directly with the human and social sciences, something not true of the other sciences often grouped with Computer Science: pure mathematics, physics, or chemistry. With the rise of networked machines, we may find ourselves delegating tasks not simply to one machine, but to multiple machines, acting in concert or in parallel in some way. The branch of computer science known as distributed computing thus deals with delegation to, and co-ordination of, multiple machines. As a consequence of this, computer scientists think a lot about combinations of actions and concurrency, more than do researchers in any other discipline. This is exactly as we would expect for a science of delegation.
And from its modern beginnings 70 years ago, computer science has been concerned with trying to automate whatever can be automated – in other words, with delegating the task of delegating. This is the branch known as Artificial Intelligence. We have intelligent machines which can command other machines, and manage and control them in the same way that humans could. But not all bilateral relationships between machines are those of commander-and-subordinate. More often in distributed networks, machines are peers of one another, intelligent and autonomous (to varying degrees). Thus, commanding is useless – persuasion is what is needed for one intelligent machine to ensure that another machine does what the first desires, just as with human beings. And so, as one would expect in a science of delegation, computational argumentation arises as an important area of study.
Two performances of Copenhagen have now been held, and both were simply superb. There are reviews here and here. There is one performance remaining – tonight, Sunday 16 March 2014, at 19.30, at the King’s Building on the Strand. So hurry along tonight if you want to catch some riveting theatre!
The play is sponsored by the King’s College Londoen School of Natural and Mathematical Sciences, and is financially supported by the King’s Alumni & Supporter Relations Office, through the Student Opportunity Fund, funded by the generosity of Alumni donations.
Hackathons are emerging as one of the key ways students develop hands-on skills, develop exciting products, and work with tech companies. London is at the centre of the 21st century tech revolution, with London hackathons organised by companies such as Facebook; and KCL Tech‘s own internationally attended event, hackkings.
Buoyed by the success of this, first-year informatics student Fares Alaboud wanted to create a hackathon for his classmates. The premise was simple: take the essence of a hackathon experience (teamwork, hacking code, free pizza, prizes); make sure it’s accessible to first years by giving them some code to help them get started; then stand back and watch the magic happen. With the assistance of Mark Ormesher, Mustafa Al-Bassam, Alex Iurov and Sanyia Saidova, and the kind support of King’s Student Opportunity Fund, and King’s College London Teaching Fund, thus was born…
At the crack of noon, the hackathon began – the students, in teams of three, had eight hours to make an automated trading system based on trading shares of kickstarter projects, using a trading platform developed by Piotr Galar as part of Steffen Zschaler’s ‘Challenge2Code’ project. The system gives a novel slant on classical trading – their system has to use the same sort of intelligent algorithmic techniques to choose when to buy and sell shares, based on the market conditions. At the end of the day, the students’ systems competed against each other, with a range of prizes up for grabs:
- For the first-placed team, £30 each of Amazon vouchers
- For the second-placed team, £15 each of iTunes vouchers
- For the third-placed team, £10 each of Pizza Hut vouchers
Students were also entered into an hourly random draw to win a one-month premium Spotify subscription.
The day was a great success. Fares’s own words sum it up well: “It was everything I hoped it would be and more! They enjoyed the event and, most importantly, the atmosphere. They were really excited and active throughout the whole eight hours. They never gave up and always put a lot of effort into coding, knowing they didn’t have to win but at least to accomplish something. They understood that it was all about the learning experience, more than the one of winning. And that’s how they became winners.”
First place – The Exceptions
Second place – Scarpinici
Third place – Team Rocket
As we speak, first-year Informatics students at King’s College today are engaged in a Saturday programming tournament, aiming to successfully predict funding of Kickstarter projects. This hacking challenge is led by Dr Steffen Zschaler and Dr Andrew Coles, with the platform development being led by Piotr Galar. The day was organized by Fares Alaboud of the KCL Tech Society, with support from Mustafa Al-Bassam, Iurov Alex, Mark Ormesher and Sanyia Saidova. Photos here.
Thanks to the King’s College Teaching Fund for supporting the development of the tournament platform, and to the King’s Experience Fund and the School of Natural and Mathematical Sciences for supporting the prizes and the pizzas!
Last weekend, the KCL Tech Society and the KCL Business Club jointly organized the largest student-run Hackathon in Britain. The event ran 24 hours and attracted over 100 insomniac programmers from King’s College London and beyond. Well done to the team who organized this wonderful event and to all who participated in it!
Recently, the streaming service Twitch TV offered Pokemon as a massively multi-player game. Anyone with Internet access may – at least for a moment – control the game, and thousands have tried. As always in life, not everyone has the same goals, so allowing thousands to sit in the driver’s seat means that the results are not straightforward – they tend to oscillate between chaos and stasis. xkcd summarized the situation eptly (click on the image to embiggen it):
That so many would seek to play when no individual can achieve very much is not a new discovery in human psychology. NYNEX, the main local phone company in New York and New England (now part of Verizon), ran a technical trial of interactive telecommunications back in the 1990s, renting 15 minutes each week on a local Manhattan cable channel in the early hours of Sunday mornings, which they called Joe’s Apartment. They had taken film inside an apartment, walking in every direction, and then cut the film into short discrete pieces. The film showed only the apartment, nothing more. The discrete pieces were then assembled at run-time, in an order determined by a TV viewer using only their landline or mobile phone. A viewer could phone in and using the phone keypad, control the movement of the camera (left, right, forward, etc). This control of the camera was only apparent. In reality, the viewer was controlling the selection of which discrete piece of film would be seen next. Any one viewer only retained control of the camera for a few minutes.
Despite the simplicity of the set-up and the lateness of the hour, and much to NYNEX’s surprise, the program attracted thousands of viewers, all seeking to wrest control of the camera. No doubt a large number of viewers were people who’d spent the evening in close proximity with alcohol.
The Agents and Intelligent Systems Group in the Department of Informatics was pleased to host last week a research seminar by Clement Guitton, a PhD student in the War Studies Department of King’s College London.
Clement’s PhD is a study of the issue of attribution in cyber attacks. He explained that conventional wisdom is that attributing an attack is a problem that is primarily technical, that it is impossible, and that each case is unique. By looking in detail at recent attacks, he has been able to demonstrate that each of these conventional views is mistaken: Attribution is primarily a political problem, not a technical one; it is often not impossible and is sometimes very easy; and many cases are similar to one another. This was a very interesting seminar which led to an interesting discussion of what advice one would give to a young cyber-attacker eager not to be identified!