Title: Parallel sorting
Class: CA4
Persons: 1
Skills: Strong programming skills, especially
knowledge of parallelism
Outputs: Working algorithms, timing analysis.
Difficulty: Technically difficult.
The primary task is to implement a multiway parallel sorting algorithm with maximum
efficiency. The technical difficulty lies in discovering how to merge n sorted
sequences in parallel using O(n) processors, where n can be arbitrarily large.
The performance of the solution should be measured against other parallel
sorting algorithms (to be supplied). There is also the opportunity to invent or
suggest other algorithms for sorting in parallel.
Title:
Class: CA4
Persons: 1 (possibly 2)
Skills: Good programming skills, especially
knowledge of programming Android or iOS mobile
devices.
Outputs:
Difficulty: Technically difficult.
Write an app that allows the user to manage how
they are alerted when their mobile device receives a call, an SMS text message,
or an e-mail. It must allow fine control, including recognising the sender, the
nature of the incoming information, and the location of the receiver. The app
can be developed for either Android or iOS. If two
persons take on the project, then additional functionality and/or deployment on
both platforms will be required.
Title: Stolen car detection
Class: CA4
Persons: 2
Skills: Good programming skills, especially
knowledge of programming Android or iOS mobile
devices.
Outputs: Mobile app for either Android or iOS or both.
Difficulty: Challenging
Assume a mobile phone with a location detection
facility is secured in a car. How can it be used (i) to
detect the theft of the car, and (ii) to aid in its recovery. There are many
different approaches to theft detection, some of which will be suggested. The
most appropriate one should be selected and implemented. Additionally, once a
theft has been detected, how might the in-car mobile phone
be used to help in recovering it. Again, there are many different approaches to
this, so some selection will need to be made. As an optional extra, and if there
is the necessary appropriate technical knowledge, additional functionality can
be added by interfacing the in-car mobile with the car engine. Practical
considerations must be taken into account, such as powering the phone. The
development team could be 3 persons if significant additional functionality is
added. Output of the project is working demonstrable software.
Title: Stolen car tracking
Class: EC4
Persons: 2
Skills: Good knowledge of internet, database,
and mobile technologies. Good analytic and writing skills. People-facing
skills.
Outputs: Report with recommendations on service
for tracking stolen cars, and accompanying presentation.
Difficulty: Average
Design and do a technical and business feasibility
study for a service that helps track stolen cars. Car users who have their car
stolen would register with the service. The service will have negotiated
agreements with operators of ANPR equipment to report sightings of stolen
vehicles in real-time. ANPR stands for automatic
number plate recognition and is commonly deployed by operators of car parks, speed cameras,
tolling, etc. The issues to be addressed are not simply technical but legal
(esp. data protection) and commercial. The commercial aspect involves finding
out and negotiating with at least two ANPR operators, and funding the service.
What other uses might the application serve? Could the system be linked to
police services? The outputs will be a report, and an accompanying demonstrator
which can consist of screen mock-ups and/or a smart 5- to 10-minute online
presentation. The success of the project relies on the participants having the
people-facing skills to seek out and conduct interviews with providers of ANPR
equipment.
Title: An innovative application
Class: CA3/CA4/EC4
Persons: 1 or 2
Skills: As appropriate
Outputs: Working demonstrable software, or a
design proposal, technical outline, and mock-ups for a large-scale complex
application
Difficulty: Appropriate to level and number of participants
Propose your own project that has some innovative
quality to it, such as a new app, a new on-line service etc. For applications
of modest scale, working software must be produced. For a large-scale complex
application, it may suffice to propose a design, make mock-ups, and establish
the technical feasibility.