Introduction

We welcome applications from suitably qualified and well-motivated students from all over the world. Doing a PhD in Birmingham is challenging and rewarding! See below for some examples of successful PhDs.

Topics and supervisors

Currently, I am interested in supervising PhD students working in areas including (but not limited to) the following:
  • Electronic voting, and in particular, verification of voting protocols and systems
    A good electronic voting system has to fulfil properties that look hard to achieve simultaneously, such as
    • Receipt freeness: a voter should not get a receipt that would enable her to prove to a potential coercer that she voted in a particular way.
    • Verifiability: a voter should be able to verify that her vote was correctly counted in the declared outcome
    How can that be achieved? Other issues, like usability and scalability, are also very important.

  • Trusted computing, and the Trusted Platform Module (TPM)
    Trusted computing allows parties to have guarantees about what is going on on a remote computer. It has many applications. For example it would be useful to know that a server is not going to indiscriminately distribute data that you send to it.

  • Access control systems.
    They govern access that users have to resources, but are often very complex. Can we model the access control implemented by systems such as facebook?

  • Verification of security properties in pervasive and ubiquitous computing

  • Balancing the requirements of security and privacy
    Security for society and industry may mean that all your movements and activities are monitored and logged by governments and companies. Privacy for individuals means that people should be able to control how data about them is used and disseminated. Usually, we want to balance these two opposing requirements. What sort of systems should we design to achieve that?

Other supervisors in our group have other interests.

Application process

I welcome informal enquiries. If you are an excellent candidate, I'll be happy to supervise your PhD.  Here are some ways I would like to use, to evaluate your suitability:
  • Your previous experience and university transcripts, of course.

  • Your statement of research interests, in relation to the area you intend to study (such as one of those specified above). This statement should show some awareness of the research that has been done, and some ideas about the research you might do.

  • Evidence that you have good mathematical skills and "computational thinking" skills. Completion of three or four of the exercises mentioned below would be useful evidence.

You should send those documents to me (M.D.Ryan at cs.bham.ac.uk).

You will also need to complete our formal application procedure, but that can be done later.

Those exercises

These exercises are intended for you to provide some evidence of mathematical and "computational thinking" skills. The idea is to do three or more of them.
  • If you do three of them completely and succinctly, that's good. Probably you have the right skills.
  • If you do more than three, that's even better.
  • If you redevelop one or more of the exercises, expanding it or improving it, that's fantastic. Definitely you have the right skills. (And I will use your redevelopment, if you give me permission.)

(An old version of the exercises is available here.)

Computational thinking? What's that?

It is a term invented by Jeannette Wing in about 2006. Computational thinking involves solving problems and designing systems by drawing on the concepts of computer science. Computational thinking is thinking recursively, it is parallel processing, it is interpreting data as code and code as data, it is typechecking, aliasing, using abstraction and decomposition, heuristic reasoning, and using or avoiding redundancy. The full article.

The exercises above are intended to test some aspects of mathematical and computational thinking without assuming too much specific knowledge. But I don't think they are ideal for that purpose. If someone knows of better exercises for testing mathematical and computational thinking skills, I'd love to be told.