IMAT1908 CW Specification 2022
IMAT1908 CW Specification 2022
Deliverable # 1:
1. Completing the Lab 4.
2. Code (C++ source and .h files) as a solution (folder with .sln in it) as a .zip file
on Blackboard.
Deliverable # 2:
3. Code (C++ source and .h files) as a solution (folder with .sln in it) including any
assets used as a .zip file on Blackboard.
4. A short document describing your approach to testing and any documented
test cases to the TurnItIn link on Blackboard.
If you need any support or advice on completing this coursework please visit the Student
Matters tab on the Faculty of Technology Blackboard page.
Late submission of coursework policy: Late submissions will be processed in accordance
with current University regulations which state:
“the time period during which a student may submit a piece of work late without authorisation and have
the work capped at 40% [50% at PG level] if passed is 14 calendar days. Work submitted
unauthorised more than 14 calendar days after the original submission date will receive a mark of 0%.
These regulations apply to a student’s first attempt at coursework. Work submitted late without
authorisation which constitutes reassessment of a previously failed piece of coursework will always
receive a mark of 0%.”
Academic Offences and Bad Academic Practices:
These include plagiarism, cheating, collusion, copying work and reuse of your own work, poor
referencing or the passing off of somebody else's ideas as your own. If you are in any doubt about
what constitutes an academic offence or bad academic practice you must check with your tutor.
Further information and details of how DSU can support you, if needed, is available at:
http://www.dmu.ac.uk/dmu-students/the-student-gateway/academic-support-office/academic-
offences.aspx and
http://www.dmu.ac.uk/dmu-students/the-student-gateway/academic-support-office/bad-academic-
practice.aspx
Tasks to be undertaken:
Deliverable # 1:
Deliverable # 2:
You are to implement a version of the classic arcade game Snake in C++ using the
Visual Studio IDE with the SFML libraries. The mechanics of the game are as follows:
• The player controls a moving snake that’s goal is to eat the food (dots) on the
screen.
• The snake is within a box that has four walls. If the snake hits any of these
walls, the game is over.
• The playing area is a grid so that if the direction of the snake is correct it won’t
miss the food.
• Each of the pieces of food that are collected add a point to the players score.
• As the pieces are eaten, a section is added to the snake.
• If the snake hits itself, the game is over.
Deliverable # 1:
1) Code (C++ source .cpp and .h files) as a solution, in a compressed .zip style
file onto Blackboard.
Deliverable # 2:
1) Code (C++ source .cpp and .h files) as a solution and any assets used, in a
compressed .zip style file onto Blackboard.
2) A maximum of 5 minutes recorded video through Panopto, demonstrating the
functionalities of the game.
3) A short document (maximum 3 pages in 12pt) describing your approach to
software testing as well as any documented test cases to be submitted to
TurnItIn.
How the work will be marked: Using the outlined matrix and returned electronically.
To ensure a high mark you need to achieve good functionality with high quality code.
Module leader/tutor name: Dr. Daniyal Haider
Contact details: [email protected]
5
Deliverable # 2 Marking Rubrics
0-29 30-39 40-49 50-59 60-69 70-79 80-89 90-100
Game Game mechanics Games The The majority of Nearly all of All game In addition to the
Mechanics have not been mechanics fundamental the game the game mechanics criteria required for
Weight achieved. Little or have partially game mechanics mechanics have been the 70-79% mark
55.00% no work has been been mechanics have been have been implemented range some
done in achieved. A have been implemented, implemented well. extensions of the
implementation or significant implemented, albeit with and the Efficiency of student’s design have
Innovation
design. portion of the albeit with some bugs game is the been specified and
mechanics some bugs. largely bug algorithms implemented in the
have not been free. has been game.
implemented. considered
throughout
the game.
Code Ignored code Ignored code Poor code Some code Significant Code Code standards
Presentation standards. No standards. standards. standards elements of standards adhered to across the
Weight use of structures Some use of Some use of adhered to. the game adhered to whole of the project
20.00% such as loops or functions or functions or Repeated use contain the across the with a completely OO
arrays to reduce objects. No objects. No of functions or use of code game code. approach. Innovation
repeated code. OO OO objects. standard A near
No OO implemented implemented. Implementation and an OO completely
implemented. of some but approach. OO project.
poor OO.
Code No code structure Unstructured Vaguely Code is neat Code has Code has Code has been split
Organisation with little or no code with structured and been split been split appropriately into
Weight comments. comments that code with commented into header appropriately header and source
10.00% are difficult to some effectively but and source and this is files. Areas that need
comprehend. commenting. lacked files. reflected in comments have been
Innovation
effective Comments the directory carefully considered.
splitting into could have structure.
source and been Effective use
header. improved. of
comments.
Testing Poor testing. No effective Basic testing Some testing Some good Good testing Good extensions of
Weight testing. with no with some testing. throughout. the testing design.
15.00% discussion of description of
the process. the process. Innovation