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:
- To pass. If you are finding the course difficult - particularly
the programming side - then make this clear when discussing projects with
the supervisors, and consider projects that don't require learning a new
language, or writing a complicated piece of code.
- To Get a Distinction. If you are around 70% or over, then a distinction
is a possibility - make this clear to potential supervisors, and they can
make sure the project extends you, and gives you the best chance of a distinction.
- To learn useful skills? What are you planning on doing after
this course? Choose a project that will allow you to develop
skills that will help you in whatever direction you want to go, for example
web programming, Java programming, database programming.
- To go on to do a Phd? What areas of research are you interested
in? Look at projects that provide the opportunity to continue the work
at Phd level.
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.