A few suggestions follow, but this is certainly not an exhaustive list.
Get in contact if you're interested in anything around mobility (phones), distributed systems, cloud, etc. (js573 (a) cam.ac.uk).
Last year's list can be found here.


'Things' and their capabilities

The emerging computing environment (the internet of things) is one where many different things (mobile devices, sensors, servers (cloud-based), actuators, etc) will need to come together to provide services.

These interactions are adhoc: who, what, when and how systems/services/devices communicate will need to be determined on the fly, and may occur with things never seen before. E.g. walking into your friend's home for the first time, how can we quickly determine that we could interact with their lights, and their stereo, but not their oven, heating system or their grandmother's heart-rate sensor.

This project concerns how 'things' can negotiate, at run-time, the types and properties/controls for interactions with others.


Playing with movement

Most current-gen mobile devices have a bunch of accelerometers, gyroscropes, and other related sensor streams that can be used for various purposes.

This is an experimental-based project basically about doing more with movement.
For example, can certain movements (or patterns there of) uniquely identify someone? How easy is it to detect when groups of people are peforming similar movements, using different devices etc.

Lots of cool applicatins for this - everything from security (phone locks, PKI) to enabling collaboration between people in gaming or event spaces


Cloud handover: mediating between cloud (global) and local interactions

These days, we see much use of the 'cloud' to delivery applications and services. However, as computing becomes more pervasive (i.e. with the Internet of Things) there will be more local interactions -- e.g. a person and their current physical environment (e.g. their home, the train station or shopping mall they're in, etc.)

Sometimes the use of cloud services will be sensible, e.g. especially where 'actions' are based on (heavy) data analytics. But other times, direct actions may be more appropriate -- if I'm interacting with my appliances when I'm home, why involve a cloud provider?

This project would investigate a platform for better managing interactions directly between 'things' and/or cloud services when/where appropraite.

The potential gains are not only in efficiency (e.g. reducing connectivity requirements), but could help address security and privacy concerns, by removing the middleman in certain instances.


Big Data Analytics for EU Patent Law

The EU patent system is current undergoing radical transformation. However, there is little, if any, technical support for this.

This project would develop, explore and evaluate data analytics techniques, to help uncover new and interesting associations between patents and case law. This project benefits not only those in the legal industry, but to uncover new and interesting insights into the types of technology being protected.

This is important work - there is lots of Government and industrial support for this, and this project is an opportunity to work with some high-profile players in the space.


Privacy in the Internet of Things

The vision of the internet of things is basically data being collected constantly from everywhere. A lot of this, however, will relate to the physical environment/space you're in. E.g. the room you're in, the shops near by, other people around you, etc.

It would be useful to have some control over who you interact with and how your data is used. This project will explore practical mechanisms for effecting this. A simple example might be something like 'telling' a Google glass wearer to `ignore me'.


Whatsapp for Healthcare: decentralised, secure sharing

To explore how highly sensitive data can be shared in a peer-to-peer, decentralised infrastructure - with a particular focus on mobile devices. At the most basic level, what would a `Whatsapp for clinicians' require? What about device- rather than people- driven interactions.

Broadly the themes concern mobile computing, security and distributed systems networking - specifics are better discussed in person.

There's the opportunity to engage with clinicians and a hospital, if desired.


Infrastructure for supporting behavioural change (with uMotif)

Reminders and notifications have been shown to effect real behavioural change.

This project explores how a technical infrastructure can improve health and well-being, where a person (or their care community) to be prompted when/where relevant to effect some lifestyle change. Stuff like remember to go for a walk, not to smoke or before 10, etc.

There are many aspects to this project -- so there is some freedom to focus on areas of interest.
This could include developing a suitable (reliable, secure) messaging capability (comms), complex event processing - that is, working out when important things have happened, the best time to send a message etc (which involves combining data from various sources e.g. phone sensors with environmental data, and perhaps open datasets), how to specify policy (e.g. can we take a complex set of actions when something happens), etc.

The project is in collaboration with uMotif (a prosperous, rapidly growing medical-IT startup), and has much scope for real-world testing and deployment.


Demonstrating distributed-systems using Raspberry Pis

This project concerns a platform for introducing Comp Sci networking (distributed systems) concepts to kids/teenagers, through a bunch of Pis.

Demonstrating networking would probably be through some "fun" A/V feedback, e.g. playing some sound(s), screen output, lights, buzzers, etc. The networking concepts demonstrated by the users (kids/teachers) composing a 'symphony', or 'art-installation', of sorts.

The challenge is making things 'work'. That is, at a lower-level, coordinating the devices, making sure they are in synch, loads are balanced (data flows, CPU, etc), dealing with failures (network variability, 'unplugging' the pi). This stuff should be seamless for users - they are non-experts! But at the same time it should help them understand, with feedback to illustrate network issues (e.g. failures, congestion).

Quite a few resources are available to assist (devices, scripting languages, middleware, etc.)