Department of Electronic Engineering
ELE00029C Introduction to Programming RESIT Assessment 2021/22
SUMMARY DETAILS
This reassessment (Program) contributes 50% of the reassessment for this module.
Note that for complete context this assessment also describes the Report component.
Clearly indicate your Exam Number on every separate piece of work submitted.
Submission is via the VLE module submission point. The deadline is 12:00 on Monday 15 August 2022. Please try and submit early as any late submissions will be penalised. Assessment information including on late penalties is given in the Statement of Assessment.
ACADEMIC INTEGRITY
policy on academic integrity. If this is your first year of study at the University then you also need to complete the mandatory Academic Integrity Tutorial. Further information is available at http://www.york.ac.uk/integrity/.
In particular please note:
Unless the coursework specifies a group submission, you should assume that all submissions are individual and should therefore be your own work. and, wherever possible, will be checked by the Department using Turnitin software.
Introduction
A major high street bank has commissioned you to create a graphical game to entertain their customers while they wait to see a personal banker at one of their busy branches. The premise of the game is to be based on simple physics, involving the user launching a projectile across a graphical space, while incorporating environmental factors such as wind or physical obstacles that can affect the projectile’s trajectory.
As the game will ultimately be ported onto a number of different platforms (including the bank’s mobile app) and have additional features added to it (such as advertising), you are also required to produce a written report that will make the hand-over of your work to a team of software engineers as effective as possible.
In summary, your assignment has two parts, a game programmed in C and an accompanying report (described below).
The Game
You are required to create a graphical game written in C. The user should launch a projectile, which has a trajectory that is affected by the acceleration of gravity. In addition to this at least one environmental factor should also affect the projectiles trajectory. Finally a scoring system must be implemented as well.
Other game mechanics and additional features are left to your creativity. However, ensure that they remain relevant to the customer. One suggestion is to make the projectile look like a coin and the height of its trajectory corresponding to money invested or savings earned.
More suggestions: • Animations • Game Menu • Levels
• Weather Conditions (e.g. low/high wind) • Leader board
• Advance controls (e.g. Power meter)
Important
It is your responsibility to prepare, document and retain any information relating to the Pro- gram (such as technical specs, source code, test results, etc.) that may be needed for writing the Report at a later stage, particularly as you may no longer have access to your Program prior to Report submission.
The Report
You are required to write a 10-page report and an Appendix of the source code. The report (except for the abstract, see below) is written for professional software engineers who have a similar level of knowledge as you. You may add an additional title page, which along with the Appendix will not count as one of the 10 pages. The report must contain the following main numbered sections, with specific content in each as described below:
- Abstract – a short, top-level summary of the contents of the report (max 300 words), and unlike the rest of the report this should be written at a level that a general audience will be able to understand (e.g. your bank customer).
- Problem Analysis – describes the problem, including a description of the game, the gen- eral approach to creating it, the physical laws and models applied, and any limitations or special conditions in the design and implementation.
- Specification – describes program design, algorithms and methods used, including lib- raries, user inputs and outputs, and prescribed features as well as the extended feature(s) you have added to the scenario. Include flowcharts to help aid the reader’s understand- ing. You should also include a plan for testing your code, including user testing, and the criteria for evaluating successful completion (e.g. positive user feedback, customer satisfaction).
- Evaluation – a review and analysis of program design, code, performance and overall quality, any limitations, unsolved problems (e.g. bugs), conclusions on your evaluation criteria, and suggestions for improvements or further work.
- Appendix – contains the C source code of the program, including comments, header files, assets (e.g. images), and any special conditions or notations. Please do not include your name however, as the submission is anonymous.
Hand-In
Your individual work components, the Program and the Report, should be submitted separ- ately by the corresponding submission deadlines, as stated on the cover page. Work should be anonymised (using your exam number instead of your name when referring to yourself). The Program should be uploaded to the module’s VLE submission point as a single ZIP file (maximum size 30MB), while the Report should be submitted as a single document.
• The Program submission should be a ZIP file (max 30MB) containing the following:
– The Code:Blocks project folder, including source files (.c), header files (.h) and the Code:Blocks project file (.cbp)
– Any resources needed to run the project on Departmental computers.
• The Report submission should contain: A single written document (.doc, .docx or .pdf).
Important
This assignment must be your own individual work, and all writing must be your own unless you explicitly reference other people’s code and work.
Your Software
Your code should be well-commented, and well-structured, making good use of variables, functions, arrays, pointers and structures, according to the scenario, analysis, criteria and specifications as set out in the report
Marking Scheme
You will be marked by a panel according to the following scheme: • C programming quality (50%)
– Use of C Language:
* Required features included * Correct use in program
* Use of libraries
– Clarity of code: * Comments * Formatting
* Structure
* Variable naming
– Use of at least one extended feature or contribution, e.g...:
* Start/Game Over Menu
* Additional design and/or graphics effects * Additional game mechanics
• Report quality (50%)
- – Completeness – contains required sections with appropriate and accurate content
- – Readability - well-written, nicely formatted and easy to understand by the intended audience
- – Fitness for purpose – professional quality, well-documented for further extension or hand-over of project
The Program and Report components for this assignment each contribute 50% to the assessment credit for the module Introduction to Programming.
Learning outcomes assessed
The following Learning Outcomes from the Syllabus are assessed by this assignment:
Learning Outcome form Syllabus List How it is assessed
Subject content
• To study the C Programming language as a practical tool for software implementation | C code is required for this assignment, and its quality, effective use of tools and readability are assessed. |
• To develop the concepts of software design and the techniques of computer programming | Scenario based around producing code and written materials for a notional bank as cus- tomer. Requires analysis of customer needs, specification, design, and implementation of code. Quality and creativity of code and doc- umentation is assessed. |
Academic and graduate skills
• To develop the ability to express algorithms in individual steps, and encode these steps in a programming language | Assignment requires program specification, design, coding, testing and documentation. |