Mobile menu icon
Mobile menu icon Search iconSearch
Search type

Department of Computer Science

Research projects

Find a postgraduate research project in your area of interest by exploring the research projects that we offer in the Department of Computer Science.

We have a broad range of research projects for which we are seeking doctoral students. Browse the list of projects on this page or follow the links below to find information on doctoral training opportunities, or applying for a postgraduate research programme.

Alternatively, if you would like to propose your own project then please include a research project proposal and the name of a possible supervisor with your application.

Available projects

Building an End-User Programming Framework for the Internet-of-Things

Primary supervisor

Additional supervisors

  • Sarah Clinch

Contact admissions office

Other projects with the same supervisor


  • Directly Funded Project (European/UK Students Only)

This research project has funding attached. Funding for this project is available to citizens of a number of European countries (including the UK). In most cases this will include all EU nationals. However full funding may not be available to all applicants and you should read the full department and project details for further information.

Project description

Applications are invited for this fully funded (tuition fees plus additional stipend), full-time PhD EPSRC iCASE studentship, to start in September 2018 or as soon as appropriate. It is intended that this studentship is part of a newly established partnership between the University of Manchester and Arm Research.

The Project

The emerging infrastructure of the Internet-of-Things (IoT) offers unprecedented opportunities to build systems which integrate networks of things, services, and people. The expansion of the borders of systems to capture data from ambient and personal sensors, communicative tools, mobile and ubiquitous computing devices, defines a dramatic increase of the sensing substrate which can be used as the basis for the construction of the next generation of computing systems.

However, the heterogeneous and distributed nature of this substrate introduces new requirements for developing systems over the Internet-of-Things. Designing, programming or managing these new environments requires metaphors, interfaces, and interaction strategies for supporting programmers in the construction of IoT systems. Additionally, many IoT application scenarios require higher personalization and contextualization. Despite the sophistication and prevalence of user centered design methods, it is increasingly problematic for software developers to anticipate the needs of users at design time. In many situations, end-users themselves (either domain experts or consumers) should be enabled create and adapt systems to their preferences.
This project aims at building an end-to-end software development environment for the Internet-of-Things to support end-users in programming tasks. A central goal to the project is to enable end-users to build IoT applications using the combination of natural language commands, semantic search and visualization. The proposed programming environment is built upon the concept of schema-agnostic data environments, where end-users are abstracted away from the underlying data representation and can program using their own vocabulary.

The Supervision Team and Study Environment

The University of Manchester boasts one of the most innovative and successful schools of computer science in the world. Manchester saw the birth of computer science, with the creation of the world's first stored-program computer. We continue to work on pioneering research with widespread activity and strength in a range of key aspects of computer science from hardware through to user interaction.

The School of Computer Science was ranked in the top 5% in the UK (4th out of 89 submissions) based on GPA for Computer Science and Informatics in REF2014, the most recent UK research assessment. REF2014 also assessed that The University of Manchester is the best environment in the UK for computer science and informatics research, with 94% of our research being classed as "world-leading" (4*) or "internationally excellent" (3*). All our "impact" case studies were ranked 3* and 4*, which puts us joint-top for research impact.
Arm is the worlds leading semiconductor intellectual property (IP) supplier. In 2015/16, Arm's customers shipped 15 billion processors - more than 2 processors for every human being on the planet. Arm Research looks beyond today's products to identify problems and opportunities to generate better experiences for people in the future. The student will be expected to engage with Arm/Arm research through regular meetings and, at times, through short periods of work at Arm premises.


Applicants should have or expect to obtain a BSc 1st Class or MSc with Distinction in computer science or a related discipline and strong programming skills. Applicants must also have British citizenship or be a permanent resident and have lived in the UK for the last 3 years. Exceptional EU students may be eligible.

Academic Supervisors: Dr Andre Freitas (UoM, School of Computer Science) and Dr Sarah Clinch (UoM, School of Computer Science)
Industrial Supervisor: Prof. John Goodacre (Arm)

Deadline for applications is Friday 6th April. Qualified applicants are strongly encouraged to informally contact Sarah Clinch ( and/or Andre Freitas ( to discuss the application prior to applying.

Please submit a full application via the standard application route.

Person specification


Applicants will be required to evidence the following skills and qualifications.

  • Good written and oral communication skills, able to promote ideas by logical argument and capable of presenting the results of a project in a clear and effective manner
  • A degree (or equivalent experience) in Computer Science, Electronic Engineering, Maths, Physics, Data science or a similar relevant science or engineering or technical subject.
  • Awareness of emerging trends and developments in relevant technologies, gained through project work as part of a relevant degree, extra-curricular project work or employment experience
  • Self-motivated, with the drive and initiative to carry out projects according to plan, and the ability to quickly adapt in a fast-changing environment
  • Strong programming skills, with confidence and independence in programming complex systems
  • Ability to rapidly acquire new skills and to work with new technologies with little documentation or support
  • An informed knowledge of and passion for IoT technologies


Applicants will be required to evidence the following skills and qualifications.

  • Ability to work as part of a multi-disciplinary team
  • Previous academic or industry experience in Natural Language Processing or Human-Computer Interaction.
  • Sound time and resource management skills and be able to lead, motivate and direct support staff and contractors contributing to the project