0% found this document useful (0 votes)
42 views8 pages

ES2D7 - Software Assignment 2023-24

Uploaded by

guru03697
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views8 pages

ES2D7 - Software Assignment 2023-24

Uploaded by

guru03697
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

School of Engineering

The University of Warwick


General Assignment Information
Module Code ES2D7
Module Title Systems and Software Engineering Principles
Assignment Title Software Assignment
Assignment 50% of 15 credit module
Weighting / Credits
Submission Deadline Thursday Week 30 (noon)

Intended Learning Outcomes (ILOs) Assessed


Intended Learning Outcome(s) Tasks
(ILOs)
Apply object-orientated techniques Create game as Matlab App
for solving complex problems

Select, apply and evaluate Video presentation to explain development process


approaches to system and software chosen
development, including V-model,
Waterfall, Agile and MBSE

Notes:
• A total mark below 30% indicates that the ILOs have not all been met at threshold level;
• A total mark in the range 30 – 38% indicates that the ILOs have all been partially met to
at least threshold level;
• A total mark of at least 40% indicates that the ILOs have all been met.

1|Page
Submission Details
The submission details for this assignment are:
• Deadline: Thursday Week 30 (noon)
• Method: Tabula
• Format of submission: The following items should be submitted:
1) The.mlapp file and any other required files to run the app (e.g. other test images). If there
are more than 5 files, then please provide as a single zip file.
2) The video.
• Submission length: The video shall not be longer than 5mins.
• Formatting instructions: The video shall be submitted as a .mp4 file. The maximum video file
size is 90MB.
• Note: Students are responsible for ensuring that work is uploaded successfully before
the deadline. If there are technical issues when submitting online, please contact the
Engineering Student Office ([email protected]).

Guidance and Referencing Style


It is serious Academic Misconduct to pass off the work of others (including peers or AI-based
chatbots such as ChatGPT) as your own and you should not permit colleagues to copy from
you. Sources must be appropriately and properly acknowledged every time reference is made
to another’s work, using the Harvard Referencing system. Failure to do so amounts to
plagiarism which breaches university regulations and falls short of the Academic Integrity
expected in the department and university.
Find out more about the School of Engineering Referencing System here:
https://warwick.ac.uk/fac/sci/eng/eso/undergraduate_students/guidance/handbook/skills/s
hb-2-04
There are also other types of academic offences including duplication or ‘self-plagiarism’.
Refer to https://warwick.ac.uk/fac/arts/history/students/undergraduate/assess-plagiarism/
for further details.

Style and Formatting Guide


Submissions are expected to conform to professional standards on style and formatting, and
guidance can be found here:
https://warwick.ac.uk/fac/sci/eng/eso/undergraduate_students/guidance/handbook/skills/s
h-1-06/

Assignment Feedback
Written individual and cohort feedback will be provided to students.

2|Page
The Brief
You are required to develop an innovative game in Matlab that has educational benefits for
at least ONE of the following groups of users:

• Key Stage 3 secondary children (ages 11-14, UK System Years 7-9)


• A-level students (ages 16-18, UK System Years 12-13)

This project involves completing two tasks:


1. Develop a fully-working game using Matlab.
2. Provide a 5-minute video presentation, which includes a demonstration of your
game.

Do not copy any code from any online source (e.g. youtube videos, forums, AI chatbots).
You will score zero if you do this. Copying an existing solution and adding a couple of
features is also likely to score zero.

Task 1 - Matlab Game


Your game must be developed to meet the following requirements:
1. The game shall be developed in the Matlab App designer and shall be submitted as a
Matlab app (.mlapp file). Do not submit your game as a .m file.
2. Games that are designed for Key Stage 3 students should address at least one of the
following subjects: English, maths, science, history, geography, modern foreign
languages, design and technology, art and design, music, computing.
3. Games that are designed for A-level students should address one of the established
A-level subjects.
4. The user shall be able to experience most of the features within the first 3-5 mins of
playing the game.
5. Do not implement the same game as one created in the ES2D7 labs (e.g not PacMan
or tic-tac-toe).

Task hints:

• You are free to choose any type of game for this project providing that it meets the
requirements above. Some popular education games for primary school children are:
o Hit the button (https://www.topmarks.co.uk/maths-games/hit-the-button)
o TTRockStarts (https://ttrockstars.com/)
o https://www.mathplayground.com/mathman_multiplication.html
• There is a wide variety of games that can be developed and they can include an
action element (see last example above).
• Avoid choosing a game that takes too long to play as it will take a long time to test
(and debug).
• You can either develop game for one player or two players.
• You can choose an appropriate level of difficulty by thinking carefully about the kind
of game you want to develop.

3|Page
• Make sure that your code will be able to load any resources (e.g. images/sounds)
from the same directory as your game. Avoid something like:

Which assumes that the file ‘crazy_image.png’ has been placed in a particular
directory and won’t run during the marking process.

Submission When submitting to tabula, make sure you include all files required to run the
game (including images). If you have more than 5 files, you will need to zip the files and
submit the .zip file. You may also submit short set of instructions (no longer than ½ A4 page)
if you think this would be useful (please submit as PDF file).

Task 2 – Video Presentation and Demonstration


Video Requirements
1. The video shall not be longer than 5mins.
2. The video shall be submitted as a .mp4 file.
3. The maximum video file size is 90MB.
4. The video should include the following topics:
• Overview of the game and how it meets the brief (i.e. educational benefit). What
are the high-level requirements of your end user(s)?
• The development /design process that you used to develop your game.
• A demonstration of your game (this must not last longer than 2.5 mins).
• An explanation of how your game works (key parts of the code). The video
presentation must explain the most complicated part of your code (e.g. the core
algorithm for the opponent, if implemented).

To record your video, you could use one of the following tools:

• Microsoft Teams – allows you to record your desktop (matlab and/or powerpoint)
and a camera feed of yourself1.
• OBS studio (https://obsproject.com/) – this is more difficult to use than microsoft
teams but produces very good results.
• Powerpoint – can be used to record a video presentation but will not capture footage
of your game in Matlab.

1
Go to Microsoft teams and go to calendar view. Click on ‘meet now’ (have a meeting with yourself - you don’t
need to invite anyone). Once the meeting starts, you can share your screen and start a recording. Once you
end the meeting, the recording will be available on Microsoft stream. You can then download this as a .mp4
file.

4|Page
Assignment FAQ (based upon questions from 22/23 forum)
----------------

Q: Can we use AI generated graphics?


A: Yes – you can! The project is not testing your graphic creation skills so AI generation of graphics is
allowed. You can’t use AI (e.g. ChatGPT) to generate code or other aspects of the project.
----------------

Q: Does my game have to have an opponent AI in order to score highly?

A: No – this would make it an interesting project and it would improve the score for complexity, but
there are other ways to achieve this.
----------------

Q: For the software assignment, do the images/graphics used in the game have to be drawn/made
ourselves or are we allowed to pull images/graphics from the internet/other sources?

A: You do not have to create your own images/artwork as this assignment is testing software
development skills. It's ok to source images from the web etc.

----------------
Q: Is it possible to use the Gamelab file from the pacman workshop to set up my game environment
or would that be considered copying existing code?

A: I would strongly advise against using the gamelab .p file from the pacman workshop because it
isn’t implemented using an app (and you won’t be able to demonstrate creating a whole game).

----------------
Q: What counts as plagiarism?

A: The main thing to avoid is directly copying code from another source. In previous years, students
submitted games that contained code copied from youtube videos (and other sources) and they
were all give a score of zero for the game. This also included cases such as:

• Copying code but changing variable names


• Copying code but changing graphics
• Copying code and adding a few small extra features

If the overall concept of the game is similar to another one, then that's ok. There are a lot of games
out there and even if you create a brand new game, it's highly likely that it will be similar to an
existing idea.

5|Page
Marking Scheme
Criteria Explanation/examples App/Game Video Weighting
How well does the choice • Has the high-level purpose of the game been addressed? Y 10%
of game meet the • Has the game been developed with the customer/user in mind?
assignment brief? • Is there in-depth consideration of the user(s) needs?
Development Approach • Have the processes, skills and knowledge from the Systems part of the Y 10%
ES2D7 module been applied to the development of the game?

Innovation and creativity • Is the game close to an existing product, or has a brand-new concept been Y Y 15%
developed?
Project complexity / coding • Graphics (e.g. static graphics vs dynamic 2d graphics vs 3D graphics) Y 25%
skill • Complexity of interaction with user e.g. a game where the user has to click
one or two buttons is usually simpler than a game which requires many
mouse and/or keyboard inputs.
• Implementation of the computer as an opponent (e.g. a basic AI)
• Number of levels / scoring mechanism

Note: a holistic approach is taken to assessing this item.

Robustness and quality of • Does the game run smoothly or are there lots of issues? Y 20%
game implementation • Are the files neatly provided or does the submission folder contain
unnecessary files?

Note #1: This item will be judged in the context of the project complexity.
Note #2: Most of the marks for how well the game runs rather than neatness of
submission folder.

Ease of use and overall • Is the game well laid-out, are the graphics neatly done? Y 20%
playability • Is it obvious (or explained) how the game is played?
• Is the game enjoyable to play?

6|Page
The table below gives some example indicators for the extreme ends of the marking scale.

Mark Indicators for mark


0-29% • Submitted game contains copied code
• Submitted code cannot be run and/or contain some very basic errors (e.g.
plotting errors from ES197).
80%+ • A very challenging and complex project has been undertaken which has
been implemented to a very high standard.
• Submitted game shows a creative approach and ability to demonstrate a
novel product.
• The project fully meets the brief and addresses user need.
• Submitted game is at (or very close) to a professional/publishable
standard.
• Excellent and engaging presentation.

7|Page
8|Page

You might also like