Senior Lecturer in Computer Science
My main areas of interest are embedded systems, real-time, networking and formal methods.
The key requirement for doing a project with me is that you should be committed to developing a piece of software. If you’re trying to avoid programming as much as possible, you should probably talk to someone else.
The next section gives a list of particular topics that I have in mind for this year. Any one of them could form the basis of an interesting project. If one or more of these topics grabs your interest, do some googling to get a rough idea of what might be involved and then speak to me to develop your ideas further. If you don’t like any of these ideas but you think you’d like to do something in a related area, speak to me about it.
Quadcopter The Crazyflie Nano Quadcopter is a new open-source development that offers many opportunities for interesting projects, e.g. developing firmware for the heading and altitude sensors, interfacing a tiny camera, working on algorithms for autonomous flight etc. If you’re interested in these projects, you’d need to be prepared to purchase a kit yourself… and build it!
Quantum Leaps: event-driven programming for embedded systems The Quantum Leaps software provides a family of lightweight, RTOS-like frameworks for event-driven programming of embedded systems. A project in this area would involve deploying QP on the FRDM-K64F, implementing a small control system using two different approaches, one using QP and another using a more traditional OS such as uC/OS-II, and comparing the approaches, considering performance of the code, ease of development, maintainability etc.
The ideas below could also form the basis of a good project. Get in touch if you’d like to discuss any of them with me.
Content and Presentation
Some of your content will be based on your literature review. This will involve reading some literature. Unless you have a plan, your reading will be inefficient. How to read a research paper is an excellent guide to forming a plan for reading a paper. Follow its advice.
Writing for Computer Science is a good general text book about effective communication in Computer Science.
If you don't want to splash out on a text book, there are several sites with links to a variety of advice about how to write clearly. Not all of the advice is directly relevant to writing a B.Sc. or M.Sc. dissertation in Computing or Engineering. The advice may not even be consistent. However, it is well worth reading, as you begin to form your own ideas about how to write a good dissertation. The sites that I find most useful are:
However, before rushing to devour all of the hints and tips available from these pages, you should remember that the most valuable document for you is the project handbook for the module that you are studying. You should pay particular attention to the marking guidelines and ensure that, for each part of your dissertation, you have addressed all of the requirements of the marking scheme. And when the project handbook requires an approach that differs from that suggested by some other document, it is the project handbook that you should follow. All of the general writing guidelines in the world are of little benefit if you do not adhere strictly to the specific requirements of the organization to which you intend to submit your document.
Once you're clear about the advice in your project handbook, you may find the following helpful for parts of your dissertation. Remember that much of the advice below is written for academics intending to submit a journal or conference paper. You'll need to interpret it carefully to make it fit the requirements of a dissertation.
Abstract
Main report body
Bibliography, references, citations
Style
Tools
Writing
It's hard to imagine why anyone would write a Computing or Engineering
project dissertation using anything other
than LaTeX. Its key
benefit is that it allows you to concentrate on
the content of your writing rather than
its layout. Also, it handles automatically the
production of lists of contents, tables and figures, and, using
BibTeX, it makes it easy to produce a bibliography and to manage
citations. It also enables you to construct
more beautiful
documents.
I’ve made available some resources that show you how to use this tool to produce a dissertation. The Not so short introduction to LaTeX should be used to answer your general LaTeX queries. There’s also a useful LaTeX Wikibook that is worth a look.