This is your second assignment that will contribute to your grade for the semester. It is worth 40% of your overall grade. You are asked to write a more involved working animation / game.
This will detail, for your second assignment:
Read the specification carefully.
Start working on the assignment early.
When you think you are ready to submit check the following:
Ensure you have all covered all the elements mentioned in the marking scheme.
Ensure specifically that your indentation is consistent.
Write comments to explain what your animation does and particularly how tricky code works and what it does.
Ensure that your name, student number and description of what your code does is written at the top of the main sketch file.
Ensure that you have named the submission (zip) file according to the prescribed naming convention.
In your second assignment, you are asked to write code to produce a more complex dynamic animation / game of your choice with user interaction of your choice in Processing (Java).
The aim of the assignment is for you to demonstrate your understanding of all the structures seen so far. Specifically, you are asked to include the following:
At least one user-defined class, adhering to encapsulation rules, complete with:
The usual Processing class containing the draw(), setup(), etc. This class must use your user-defined class(es) in an appropriate manner.
Use of selection (if) and iteration (loops).
Use of primitive / object arrays.
The complexity of the entire code is important, i.e. the more complex the code, the more marks you will achieve. (see marking scheme).
The Pong game v8 that we covered in lectures and labs is an example of top marks for complexity.
Bear in mind that you don't have to develop a game; you can also develop a complex animation instead.
Build a game other than Pong or a complex animation.
Our recommendation is that you try something other than Pong. If you hand up another version of Pong it will need to go beyond v8 in complexity. i.e. you have the code for v8 and v9 of Pong so you will need to implement addtional functionality and classes (e.g. 2 player with one player being the computer etc.)
When handing up it is important that you explicitly highlight how you've met each part of the spec. Additionally if you are handing up Pong again you will need to explicity highlight the difference between the first version that you handed up and this version.
There are two components to your overall mark:
Please read below regarding interviews.
Working animation with inclusion of bespoke methods in the main sketch. (10 marks)
User-defined class (at least one):
Creation of user-defined class with appropriate fields, constructors, getters, setters (10 marks).
Class bespoke methods (15 marks)
The user-defined class(es) are used in an appropriate manner (15 marks).
Data structure:
Use of a data structure to store information i.e. array (20 marks).
Calculations performed on the information stored (20 marks).
Use of standard programming control contructs (if, loop) (5 marks).
Comments, indentation, naming, structure of code, etc. (5 marks)
This is a mark out of 10 based on the complexity of the problem solved/code. So you will get more marks if the animation is more involved than one that is very simple. Please do not confuse an elegant solution of a complex problem with a simple problem.
The final mark is calculated by multiplying the two component marks and dividing by 10. This means that complexity is a multiplier so a weakness in that will negatively affect your grade.
Example:
Please note that we reserve the right to interview you on your code. You may be asked (for example) to explain:
If we need to interview you on your work, you will be given a mark out of 10 for the interview. This mark will be a multiplier of your overall grade. For example:
The submission is due Sunday 15 April 2018, 11.55PM.
No late submissions will be accepted (unless mitigating circumstances, with supporting documentation, apply).
The dropbox is available in the 'Assignments' section in Moodle.
Your files should be contained in a folder named according to the rule:
You should then compress (zip) the folder that contains all the sketches used to develop your assignment; this is the file that you should submit.
You should include a readme tab in the sketch. The contents of this tab should be of the following format:
/*
Name :
Student Number:
Brief description of the animation achieved:
Justification of spec:
Known bugs/problems:
Any sources referred to during the development of the assignment (no need to reference lecture/lab materials):
*/
If you hand up another version of Pong you will need to state the addtional features added in the description section above.
Additionally, if you are handing up Pong for a second time, add another section within the description, explicity stating the difference between the first version that you handed up, and this version.