Choosing a Project

There are a wide range of projects to choose from.  Some are a straightforward piece of software engineering, while others are more research based, usually connected
to research being carried out at the university.  The research-based projects usually have a difficult looking mathematical or theoretical computer science side to them. Don't let this put you off!  You do not need to be an expert in the field to take on one of these projects.  If you know a little about the subject, and are interested in it, then a project like this might make a good choice - if you know nothing about it, then obviously not.  Some background reading will be essential for research-based projects, but this will help to put the project in perspective, give the project clear goals, and provide material for the introduction when you come to write-up.

While almost all projects require you to write a substantial piece of code, software engineering type projects allow you to concentrate on software development and programming skills.

Project Goals

Be clear on what what your goals for the project are, and what you want to get out of it. Possible goals include:
Whatever your goals are, when discussing projects with staff make it clear what they are, and what you are looking to get out of the project.  For many of the projects there is some flexibility regarding what you can do, and the project can be geared to fit in with your wishes and skills.

Choice of Language and Interface

Most projects involve writing a substantial piece of code, and the choice of language will be an important point.  Also think about the interface.  Is a GUI essential/desirable/unnecessary?  How will the GUI be implemented?  Look at packages you might be using before deciding on a project.  Possibilities include Swing, OpenGL, tcl/tk. You will basically be teaching yourself how to use these.  There will be limited help available from staff, research students and BUCS, but ultimately it's your responsibility. Some of the projects require some kind of 3-d rendering.  Here Java 3D is an option.  Look at what resources and tutorials are available.  Do you want to spend hours learning to use one of these packages?  They often have steep learning curves.  The positive side is you are learning a very useful skill, which you can put on your CV, and could help you find a job after graduating.

Final report

Look at previous good dissertations for ideas for the structure of final report. Bear this in mind throughout.  From day one, you can start gathering information that will be useful when writing-up.

MSc workload

The busiest time of the year is still to come.  After the Easter holidays, the work load is very high with a number of coursework deadlines, and then there are the final exams.  During this period you will have little or no time for your project, so now is a good time to make a real start.  By working hard now, you should be in a position
to start coding soon after the last of your exams.