Ya, I think if you want an honest answer from us you'll need to attach the "blurb" for each of those.
Appended to this post.
They're probably all equally complex, but I find a great interest in something is a great way to counter complexity. Which one do you find to be most interesting?
I'm not sure as I only found out about them today. There are another sixty or so to choose from but none really caught the eye.
Seems like there's a good selection that should be able to please anyone.
Yes, we have to select five and then some algorithm allocates them, so I'm unlikely to get my first choice anyway.
B compiler (ID: 1733)
*Suitable as a Software Engineering project.
Description:
Before Dennis Ritchie and co. invented the C programming language, they started out with B. The B programming language has a similar syntax to C, although it does not support types and struct declarations. There is a manual here -
http://cm.bell-labs.com/who/dmr/bintro.html
.
This project is about creating a simple B compiler. It will require the use of standard compiler generation tools, such as antlr.
There is a choice of backend code generators (i.e. target languages that the compiler produces). You might consider ARM assembler language, since I have an ARM Linux system available for experiments. Alternatively, you might want to run in JavaScript, like Google's dart programming language. Or maybe you want to output plain old x86 code.
----------
In-car interactions using pressure (ID: 1677)
*Suitable as a Software Engineering project.
*Project may require participation from people other than the student and the supervisor as part of the evaluation.
Description:
The aim of this project is to look at enhancing interaction in the car by augmenting the steering wheel. The driver has his/her hands on the wheel most of the time. By squeezing the wheel the driver could make input (with up to 10 fingers). vibration motors in the wheel could also give feedback to the driver. This could be done in an eyes free way so that it does not distract from driving.
We will augment a gaming steering wheel with pressure sensors linked to a PC. We can then use these sensors to control car features simulated on aphone (or tablet) like music player, air con, in-car systems. We can embed simple vibration motors in the wheel to for feedback to the driver on the interactions.
For evaluation we will get the driver to control these functions while playing a driving game. we can then see how disruptive they are on driving performance.
This project will give you excellent development skills on android, knowledge of using sensors and tactile feedback and good skills in evaluation.
-----------
Map visualisation (ID: 1737)
*Suitable as a Software Engineering project.
*Project may require participation from people other than the student and the supervisor as part of the evaluation.
Description:
A typical road/street/Google map is "topographically" correct - that is, it is drawn to the same proportions as the real geography that it represents. Other kinds of maps, such as the London Underground map, are "topologically" correct in that they show connectivity between places correctly, but not necessarily in the correct geographical proportions. The standard Glasgow University map is also only topologically correct, since it is stretched and squeezed in places.
In order to use a topological map like the University map with a GPS system, the map must be registered against the real geography that the GPS system uses. The registration process enables GPS signals to be translated onto the topological map. The MakkaMappa system (
www.makkamappa.com) supports map registration - take a look to see how any map can be turned into a GPS map.
Registration is a non-trivial, error-prone, process. The purpose of this project is to develop ways of visualising how effectively the registration has been carried out.
An ideal end point for the project would be the development and evaluation of a tool to help those carrying out the registration process. Written in Javascript, this could then be included in the MakkaMappa website.
-------------
MC6800 Emulator (ID: 1747)
*Suitable as a Software Engineering project.
Description:
The aim of the project is to develop a system emulator for the Motorola MC6800 microprocessor for use in teaching. The deliverable should emulate a complete 6800 based microcomputer with RAM ROM and memory mapped I/O devices (switch banks, lights, DAC, ADC etc) mimicking the standard Motorola compatible interfaces of the era (MC6821 PIA etc). Support for various levels of interrupt as should also be included. The system should be extensible to include an integrated assembler/debugger able to assemble standard 6800 assembly language and provide tools such as tracing and breakpoints.
At a minimum, the emulator should be able to run on Windows 7 x64, Windows 7 x86 and Windows XP.
--------------
Reducing the power consumption of PC (ID: 1726)
*Suitable as a Software Engineering project.
*Project may require participation from people other than the student and the supervisor as part of the evaluation.
Description:
The aim of this project is to investigate if we can save power by changing our user interface components and interactions.
PC usage consumes a lot of power and causes the emission of lots of carbon in large organisations like companies or universities. Large graphical screens with lots of pixels mean that scrolling, for example, can consume a lot of power. If we can reduce the cost of these very common interactions, even by a small amount, then we could save lot of carbon across a large organisation. Such features may also save power on laptops or phones which often use similar widgets to desktop computers. So, we may be able to scroll differently or read text out with synthetic speech rather than show it on screen.
For the first stage of the project we will measure the power consumption of PCs doing a range of different tasks and interactions. This will give us a baseline performance. After that we will develop new techniques to reduce the power consumption. We will try 'semantic scrolling' where we dont do live scrolling but just show key parts of the text/image, or create a speech based scroller. The final stage will be to evaluate these with users and measure the reduction in power consumption and carbon emissions.
This project will give you excellent programming skills and UI design skills. The development will be done on a desktop PC and we can use any language we like. We may also try versions on an Android smartphone
-----------------
Remote monitoring of environmental experiments (ID: 1644)
*Not suitable as a Software Engineering project.
*Project may require participation from people other than the student and the supervisor as part of the evaluation.
Description:
This project will be in conjunction with Nick Kamenos, School of Geographical and Earth Sciences.
Experiments investigating the impacts of climate change on the marine environment are conducted in environmental chambers known as mesocosms. Within mesocosms, the marine environment is artificially manipulated by changing its temperature and carbon dioxide concentration to simulate the state of the seas in 100 years. The impacts on marine organisms are then observed.
However, no system is perfect and occasionally the chambers fail. The objective of this project is to design, implement and evaluate a system for monitoring environmental parameters in marine environmental chambers. The system will communicate environmental parameters from pre-installed sensors within the mesocosms to the experimenters using Twitter, Facebook and email. The system shall inform the mesocosm users if environmental parameters in the experimental chambers deviate from a predefined range. The system shall be controlled using a GUI that can be used by a non-specialist programmer. This will allow remote monitoring of the experiments should they fail and allow the scientists to correct the errors.
------------------
Visualizing Geo-Tagged Data (ID: 1721)
*Suitable as a Software Engineering project.
Description:
The process of geotagging involves adding location information to a piece of data. This allows the data to be visualized / superimposed on a map. Examples include website hits
(e.g. maploco) and virtual networks (e.g. techcity.
This project involves creating a questionnaire / survey system where the answers to a poll are geo-tagged, and then the resulting data can be visualized using a map. There are many possible extensions including:
- mobile phone app to automatically add geographical information based on current user location
- aggregation of responses within a certain geographical radius, to give summarized data