Friday, November 22, 2013

More PhD opportunities: data science and pervasive parallelism

Another advertisement...

My department has been awarded two EPSRC Centres for Doctoral Training in the areas of:

  • Data Science (machine learning, databases, algorithms and big data, and applications
  • Pervasive Parallelism (architecture, parallel programming, agent-based systems, verification, concurrency, distribution)
Applications are now being accepted for 10 PhD students in each area starting in September 2014.

These PhD programs are structured as 1 year of taught classes leading to a MSc, followed by a 3-year PhD project.  Thus, they are suitable for well-prepared students with a strong undergraduate degree.  Students already holding a MSc degree can potentially proceed directly to the PhD program.  Both programs have numerous industry partners and offer many opportunities for career development for students interested in either an academic or industry career, including support from Edinburgh's commercialization team (the strongest in the UK measured in terms of number of startup companies).

Available funding covers fees for UK or EU students plus a stipend of approximately £13,700/year for living expenses.  Well-qualified applicants of other nationalities are welcome and can be considered for fully-funded positions, but are encouraged to investigate supplementary funding sources that would cover the difference in fees.

There are two deadlines for applications: for full consideration apply by 27 January 2014. (Any non-EU candidates must apply by this date, and also make a separate application for a Edinburgh Global Research Scholarship). Any remaining scholarships will be awarded after the second round deadline of 31 March 2014.

Application information is here:

Labels: , ,

Thursday, November 07, 2013

PhD opportunities in data-centric programming at LFCS, University of Edinburgh

And now for a word from our sponsors...

I would like to recruit 1-2 PhD students, working on any of the following topics (with further details given at the associated links). 
  • Language-based provenance security: Provenance-based security and audit; applications to slicing, failure analysis for system configuration languages; information-flow and provenance-tracking for multi-tier programs; designing new [functional/declarative] languages or dynamic information flow analyses for secure, high-reliability datacenter programming
  • Data-centric programming and provenance: Types and language design for integrating multiple data-centric programming models; language-integrated query; extending bidirectional programming for synchronizing data across data models;  language-based techniques for data curation and preservation, provenance tracking, or archiving; query and update techniques for longitudinal or provenance-aware queries.
One position is funded by a Microsoft Research PhD studentship, joint with Paul Anderson and Dimitrios Vytiniotis (MSR-Cambridge).  The funding includes a laptop for the student and there may be additional opportunities for collaboration or internships (at the discretion of MSR).  A second funded position may be available.

Applicants should have a good honors degree or equivalent in computer science, or a related discipline, and ideally familiarity with foundations of programming languages, security, or databases and interests in applications of these foundations to real systems.

Other PhD studentships are also available, including on topics related to types and programming languages.  Please contact me ( or others in LFCS to discuss alternative project ideas.

Read more »

Labels: , , ,

Sunday, November 03, 2013

Nominal Sets and Nominal Computation Theory

Nominal Sets: Names and Symmetry in Computer Science
Andrew M. Pitts
Cambridge, 2013 (see also recent lecture notes)

Dagstuhl Seminar on Nominal Computation Theory
(organized by Mikolaj Bojanczyk, Bartek Klin, Alexander Kurz, and Andrew M. Pitts)

$\newcommand{\AA}{\mathbb{A}}$Part of my summer reading was Pitts' recent book on nominal sets.  Let $\AA$ be a set of names. A nominal set is a set $X$ equipped with a permutation action, that is, a function $\cdot_X :  Perm(\AA) \times X \to X$ where $Perm(\AA)$ is the set of all (finite) permutations on $X$.  Being a permutation action means that $id\cdot_X x = x$ and $(\pi \circ \pi') \cdot_X x = \pi \cdot_X \pi' \cdot_X x$ for all $\pi,\pi' \in Perm(\AA)$.  In addition, a nominal set must satisfy a finite-support property, which (oversimplifying slightly) requires that for each element there is a least support set $supp(x) \subseteq \AA$ such that for all $a,b \notin supp(x)$ we have $(a~b)\cdot_X x = x$.  Intuitively, the support is the set of names "appearing in" $x$, though in general there is no requirement that $X$ be a set of abstract syntax trees in the usual sense.

Read more »

Labels: ,