Design Frontiers in Parallel Languages: The Role of Determinism

Constraints can be a source of inspiration; their role in creative art forms is well-recognized, with poetry as the quintessential example.  We argue that the requirement of determinism can play the same role in the design of parallel programming languages. This talk describes a series of design explorations that begin with determinism as the constraint, introduce the concept of monotonically-changing concurrent data structures (LVars), and end in some interesting places—flirting with the boundaries to yield quasideterminism, and revealing synergies between parallel effects, such as cancelation and memoization, when used in a deterministic context.

Our goal is for guaranteed-deterministic parallel programming to be practical and efficient for a wide range of applications. One challenge is simply to integrate the known forms of deterministic-by-construction parallelism, which we overview in this talk: Kahn process networks, pure data-parallelism, single assignment languages, functional programming, and type-effect systems that enforce limited access to state by threads. My group, together with many others around the world, are developing libraries such as LVish and Accelerate that add these capabilities to the programming language Haskell. It is early days yet, but already possible to build programs that mix concurrent, lock-free data structures, blocking data-flow, callbacks, and GPU-based data-parallelism, without ever compromising determinism or referential transparency.

Event details

  • When: 12th June 2014 14:00 - 15:00
  • Where: Cole 1.33a
  • Series: School Seminar Series
  • Format: Seminar

LIFT OFF to Success

This sessions is run as part of the LIFT OFF to Success (LO2S) programme and is aimed at giving school pupils an insight into what it would be like to study computer science at university.

During the session, pupils take part in a practical programming exercise, where they learn about software development techniques and gain experience writing and developing code.

Event details

  • When: 14th July 2014 15:00 - 17:00
  • Where: Honey 110 - MSc Lab
  • Format: Summer School

Sutton Trust Summer School

The School of Computer Science runs daily sessions as part of the Sutton Trust summer school. The sessions are aimed at giving school pupils an insight into what it would be like to study computer science at university.

During the sessions, pupils take part in practical programming exercises and attend lectures similar to those they would receive in their first year studying with us.

Event details

  • When: 30th June 2014 09:00 - 4th July 2014 10:30
  • Where: Honey 110 - MSc Lab
  • Format: Summer School

LIFT OFF to Success

This session is run as part of the LIFT OFF to Success (LO2S) programme and is aimed at giving school pupils an insight into what it would be like to study computer science at university.

During the session, pupils take part in a practical programming exercise, where they learn about software development techniques and gain experience writing and developing code.

Event details

  • When: 30th June 2014 15:00 - 17:00
  • Where: Honey 110 - MSc Lab
  • Format: Summer School

Teachers Together

The School is welcoming teachers and representatives of Local Education Authorities to a departmental visit as part of the Teachers Together Conference.

Attendees will hear about our first year curriculum and how subjects such as Maths and Physics feed into it. They will also take part in a discussion about subject development in computer science, with particular focus on the Curriculum for Excellence.

Event details

  • When: 20th June 2014 09:30 - 11:15
  • Where: Cole 1.33a
  • Format: Seminar

First Chances Taster Sessions

These taster sessions are run as part of the First Chances Project and are aimed at giving school pupils an insight into what it would be like to study computer science at university.

During the sessions, pupils take part in a practical programming exercise and attend a computer science lecture similar to those they would receive in their first year studying with us.

Event details

  • When: 20th June 2014 10:00 - 12:00
  • Where: Honey 110 - MSc Lab
  • Format: Summer School

Practice talks for papers that Aaron and Daniel are presenting at AVI.

Title: AwToolkit: Attention-Aware User Interface Widgets
Authors: Juan-Enrique Garrido, Victor M. R. Penichet, Maria-Dolores Lozano, Aaron Quigley, Per Ola Kristensson.

Abstract: Increasing screen real-estate allows for the development of applications where a single user can manage a large amount of data and related tasks through a distributed user inter- face. However, such users can easily become overloaded and become unaware of display changes as they alternate their attention towards different displays. We propose Aw- Toolkit, a novel widget set for developers that supports users in maintaining awareness in multi-display systems. The Aw- Toolkit widgets automatically determine which display a user is looking at and provide users with notifications with different levels of subtlety to make the user aware of any unattended display changes. The toolkit uses four notification levels (unnoticeable, subtle, intrusive and disruptive), ranging from an almost imperceptible visual change to a clear and visually salient change. We describe AwToolkit’s six widgets, which have been designed for C# developers, and the design of a user study with an application oriented towards healthcare environments. The evaluation results re- veal a marked increase in user awareness in comparison to the same application implemented without AwToolkit.

TItle: An Evaluation of Dasher with a High-Performance Language Model as a Gaze Communication Method
Authors: Daniel Rough, Keith Vertanen, Per Ola Kristensson

Abstract: Dasher is a promising fast assistive gaze communication method. However, previous evaluations of Dasher have been inconclusive. Either the studies have been too short, involved too few participants, suffered from sampling bias, lacked a control condition, used an inappropriate language model, or a combination of the above. To rectify this, we report results from two new evaluations of Dasher carried out using a Tobii P10 assistive eye-tracker machine. We also present a method of modifying Dasher so that it can use a state-of-the-art long-span statistical language model. Our experimental results show that compared to a baseline eye-typing method, Dasher resulted in significantly faster entry rates (12.6 wpm versus 6.0 wpm in Experiment 1, and 14.2 wpm versus 7.0 wpm in Experiment 2). These faster entry rates were possible while maintaining error rates comparable to the baseline eye-typing method. Participants’ perceived physical demand, mental demand, effort and frustration were all significantly lower for Dasher. Finally, participants significantly rated Dasher as being more likeable, requiring less concentration and being more fun.

Event details

  • When: 20th May 2014 12:00 - 13:00
  • Where: Cole 1.33a
  • Format: Seminar

Honorary degree for Professor Dana Scott

We’re delighted that the University will be awarding the degree of Doctor of Science, honoris causa, to Professor Dana Scott at the graduation ceremony on Wednesday 25th June.

What does it mean to describe a computation? For Turing, it meant designing an ideal machine whose small set of simple operations could perform calculations: the operational view of computing that allows machines to perform tasks previously thought to require humans. Set against this is a view that is independent of mechanisation, where the calculations, rather than the machines that perform them, take centre stage. When we take this view, we are making use of ideas that owe their modern existence to the work of Dana Scott.

Working at Oxford in the 1970s, Scott developed the mathematical structures now known as Scott domains that provide a way of precisely describing how recursive functions make progress towards their final result. This led directly to an approach for describing the meanings of programs and programming languages — the Scott-Strachey approach to denotational semantics — and indirectly both to approaches to proving programs correct, and to the development of the lazy functional programming languages that today form a major strand of computer science research.

Dana Scott is a Turing Award recipient (jointly with Michael Rabin), a winner of the International Bolzano Prize, and a supervisor of over 50 PhD students. His contributions to the foundations of computer science have been immense, and we’re very excited to be having his company alongside our graduating class.

What’s so great about compositionality? by Professor Stuart M Shieber, Harvard.

Abstract: Compositionality is the tenet that the meaning of an expression is determined by the meanings of its immediate parts along with their method of combination. The semantics of artificial languages (such as programming languages or logics) are uniformly given compositionally, so that the notion doesn’t even arise in that literature. Linguistic theories, on the other hand, differ as to whether the relationship that they posit between the syntax and semantics of a natural language is structured in a compositional manner. Theories following the tradition of Richard Montague take compositionality to be a Good Thing, whereas theories in the transformational tradition eschew it.

I will look at what compositionality is and isn’t, why it seems desirable, why it seems problematic, and whether its advantages can’t be provided by other means. In particular, I argue that synchronous semantics can provide many of the advantages of compositionality, whether it is itself properly viewed as a compositional method, as well as having interesting practical applications.

Event details

  • When: 6th June 2014 14:00 - 15:00
  • Where: Cole 1.33a
  • Format: Seminar