I do research into "designing in" security and other properties of
systems using a combination of program analysis, algorithm design and
formal specification. I like to think that this is important, fun,
exciting and useful. A lot of people agree with me about
those qualities.
For BSc (and even MSci) I think the project should be more fun and
exciting and less obscure and purely technical. This is why I always
try to find out what the student wants to do. In the past this has
worked well (mostly) and a large proportion of my past students have
managed distinction level projects. That being said, none of them have
as yet won the project prize, but maybe that changes this year?
These are some projects I have supervised in the past:
face recognition system
footprint recognition system
information flow analyser for a While language
real-time laptop music notation generation for guitar-players
electronic elections
reactive system specification case study: watering a garden
information flow measurer for a while language
browser for a PDA
3D drafts
keyboard music generation via number notation
floating security type system for a While language
My idea is to do something imaginative and challenging that you are
interested in. I will expect you to do all the work and I won't be
spelling it out to you step by step. If you want an easy time I am
probably not the supervisor for you. But if you like a challenge and
want a project you can be proud of on your CV, come and see me
(preferably in office hours).