Lockheed Martin Award

Congratulations to our recent graduate Sam Elliott, who has won the Lockheed Martin Award SIS-0518for  Best Engineered Project at the Young Software Engineer awards.

The Young Software Engineer of the Year Awards are given for the best undergraduate software projects drawn from across all students studying computer science and software engineering in Scotland.


Sam’s project, “A Concurrency System for Idris and Erlang”, takes an important step towards addressing the problem of writing large scale software, coordinated across several concurrently running machines, possibly distributed throughout the world. Writing such software is notoriously difficult because not only  do programmers need to think about the progress of a an individual task, they also need to think about how data is communicated between each task.




The project combines Idris, a new programming language developed at the University of St Andrews, with Erlang, a programming language specifically designed for building robust distributed systems, and contributes a new system for running concurrent programs, with guaranteed behaviour, in a robust, industrial strength concurrent environment.


SICSA Summer School on Practical Types

Event details

  • When: 3rd August 2015 11:00 - 5th August 2015 17:00
  • Where: Cole 1.33
  • Format: Summer School

The SICSA Summer School on Practical Types will give participants an overview of how types can be used in practice. Types have provided numerous benefits in programming language research, including language design and compiler construction, over the years and this trend looks set to continue into the future. But types have also found much wider practical application, e.g. in areas such as programme verification, termination checking, security, concurrency, software testing, resource analysis, systems biology, semi-structured data formats, databases, linguistics etc.

The school will consist of a series of 2-3 hour lectures covering introductory topics (e.g. type checking, domain specific languages, dependently typed programming), and more advanced topics such as those mentioned above. Thus we aim to cover how can types be used to classify and enhance our knowledge within specific domains of human activity, and how we can use modern functional programming languages to implement programs which take advantage of that type structure.

There will also be time in the program for participants, especially students, to present short talks about their own experience and works in progress.

Full details