There is one formal coursework which is worth 40% of the module mark.
The submission date is in the first week back after the holidays. You are strongly advised to submit before the holidays, so that you can enjoy a break before exam revision. If you follow the timescale on the labs page and work at it, then you should have plenty of time to complete this before the holidays. Just consider the requirements, show that you understand and can write C++ code and don't overdo it. It is possible to do something which is very good without having to put too much time into it if you think about it carefully.
You should submit both the documentation file and a zip of your project directory.
You should use the lab sessions to work on this once you have finished the lab exercises. Most of the lab exercises will help you with the coursework - and are deliberately designed to do so. By the time you have finished the lab exercises, you should know how to do the coursework. The demo lectures should also be a lot of help with this - again deliberately.
I suggest using the schedule on the lab sessions page to guide you into when to start the coursework.
The formal coursework involves using an existing program framework to implement a graphical program. This is a good practice for what you may see in industry - somebody will often give you an existing system / program and ask you to add features to it. It is unlikely that you will have experience with every framework or program which you will work with. Using a custom framework for this coursework means that people who know specific frameworks already will not have an advantage.
You MUST work within this framework. Courseworks which do not do so may be awarded a mark of 0. This is a firm requirement! One aim of this exercise is to prove that you can understand existing C++ code and frameworks.
The coursework is deliberately very open. The advantages of this are that you can make it as interesting as you want, and that it is really easy for us to catch plagiarism - there is no longer a defence of 'we both did the same thing by accident'. The disadvantage is that we need to know what you have done and what you want marks for. The documentation file is the way that you give us that information.
Documentation for the framework. The best way to understand the framework is to go to go through the code, try the lab examples and attend the lectures. However, for those of you who want a reference, or who want help in exploring the code yourselves, this is a document giving you a load of information about how the framework works and how to work with it.
Some collision detection information: This is information on collision detection and demo 4. Feel free to copy the code in here and demo 4. My aim is that you understand code and can write it/modify it.
Some slides I prepared for last year.
Collision detection slide illustration which I used last year.
To give you an initial idea of the type of program which you could create for this coursework, you can look at the hall of fame for previous years:
All of these programs got very good marks, and most of them probably required people to spend far more time on this than I had expected them to. However, most did so because they found it a fun coursework to do.
Providing the hall of fame gives them some fame for their work, and also helps you to get some ideas of things which were done in the past which met (at least most of) the requirements.