G52CPP Summary Lectures Labs Coursework Revision Questions

OLD 2012/13 This is an old page. Please go here for a choice of years.

G52CPP C++ Programming - for 2012/2013

There is one formal coursework which is worth 40% of the module mark.

Coursework deadline

You must submit your zipped coursework directory and your documentation file through the coursework submission entry on the moodle page (see below) by 17:00 on Wednesday 24th April.

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.

How to submit your coursework

You must submit this coursework through the submission page on the Computer Science Moodle site: http://teaching.cs.nott.ac.uk/cw/

You should submit both the documentation file and a zip of your project directory.

When to start this...

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.

Coursework Instructions, Files and Specification

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.

  1. Please read this to get started: Getting Started with the Coursework 2013 v1.pdf.
  2. You should find that Coursework Labs A and B help you to understand the coursework framework:
    First lab session on the coursework framework
    Second lab session on the coursework framework
  3. This document specifies the precise requirements for the coursework: FormalCWRequirements.pdf. You will need to read this thoroughly.
  4. Here is the zip file of the source code directory to start with: G52CPP_CW2013.zip : Visual Studio 2012 project directory - zipped. You will need to download this and unzip it to work on your coursework.
  5. Template documentation file to submit, [docx]. You need to fill in this file and submit it along with your zip file.

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.

Additional information and support files

You may find the following files useful. Other files may accumulate here as the module progresses, usually in response to question in labs or the demo lectures.

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.

Hall of Fame - previous coursework submissions

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:

Web page for the Hall Of Fame

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.