Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
IDEPG001 Programming
Coursework
2024-2025
Coursework
This assignment constitutes 70% of the total marks for this subject.
The brief
You should write a program to demonstrate this part of the app, the program can read data on available activities and calories burnt per hour from a file. (Please note: these figures are not accurate; they are for the purpose of the coursework only). For this demonstration, the app will enter details for one person only, the person can then enter which activities they have completed and the duration of each activity, this information can then be displayed back to the user with details of how much calories were burnt.
For your version of the app there are 5 fixed activities with data on calories burnt depending on 4 fixed weight categories as follows:
|
Activity Name |
Calories burnt per hour in weight category |
|||
|
<50kg |
<70kg |
<90kg |
>=90kg |
|
|
swim |
300 |
400 |
450 |
500 |
|
boxing |
450 |
500 |
580 |
620 |
|
yoga |
100 |
110 |
120 |
130 |
|
weights |
200 |
240 |
260 |
300 |
|
badminton |
300 |
350 |
380 |
400 |
The data should be read from a file, example txt file as follows:
In this file each row represents an activity, and the calories burnt for that activity dependent on weight category.
2. Read the data from the file and store this.
4. Option 1 display calories burnt by activity per hour.
5. Option 2 should allow the user to enter one or more than one workout. For each workout they should select the activity they have completed and enter the duration of the workout in minutes.
Additional Functionality
|
activity_no |
integer |
Number of the activity
chosen (1 for swim, 2 for boxing etc)
|
|
activities[5] |
string array |
Name of each activity
(swim, boxing, yoga,
weights,badmington)
|
|
activity_data[5][5] |
integer array |
each row represents an
activity, (row 0 = swim)
col 0: activityNo
col 1: activity calories
burnt<50kg
col 2: activity calories
burnt<70kg
col 3: activity calories
burnt < 90kg
col 4: activity calories
burnt >=90kg
|
|
Person:
|
(Struct)
Char (20)
|
Name of person |
|
weight |
integer |
Weight to nearest kg |
|
workouts[100][2] |
integer array |
each row represents a workout for the person
col 0: activityNo
col 1: activity calories burnt.
|
|
workoutNo |
integer |
Total number of workouts completed for the personProgramming
|
Coursework Instructions
|
You should produce the following design documentation: |
||
|
Design Documentation |
Instructions |
Total Marks |
|
Pseudocode |
Pseudocode should be provided for Application Requirement 5 (page 3): Enter one or more than one workout. You can assume the person details have already been entered and all data for activities is already read from the file. You may expand on the provided data dictionary for the pseudocode. |
10 |
|
Flow Chart |
A Flow chart should be provided for Application Requirement 6 (page 3) Menu Option 3: Display completed workouts. |
10 |
|
State Transition Diagram (STD |
A State Transition Diagram should be provided for the menu and submenu system. |
10 |
Details of what is to be tested, why, what was the expected outcome, remedial action if required. All tests should be supported by a screen shot proving the test was completed.
|
You should produce the following as part of your testing documentation: |
||
|
Test Documentation |
Instructions |
Total Marks |
|
Test Plan |
You should produce a plan of what is to be tested and what is the expected outcome. All functionality should be tested with pre-determined inputs and expected outcomes. |
8 |
|
Test Results |
Your test results should clearly show the outputs of the tests and any remedial action which was taken. |
6 |
|
Automated Unit Tests |
You should demonstrate the use of automated unit tests, these can be used as part of the documentation for your test results.** If this is not possible (please state) you can undertake and demonstrate different types of tests such as user experience tests(observations), accessibility testing; more detailed testing of requirements and additional requirements AND/OR use of a model program with command line arguments. |
6 |
|
Application:
The code must be suitably demonstrated for the marks to be awarded for this element. You should demonstrate knowledge within your report of the code you have created, this can be done by screenshots and explanations of the code. You should provide a full listing of your code in an appendix to your coursework and upload the c file.
|
||
|
Application Documentation |
Instructions |
Total Marks |
|
Execution |
You should provide a fully working program written in the c language, covering all the application requirements listed on page 3.
You can exceed the application requirements, suggested additional functionality is listed on page 4, or you may choose to use some of your own ideas to show further knowledge and understanding.
|
20 |
|
Usability |
Screenshots of your code executing to demonstrate how the user interacts with the application. |
4 |
|
Quality |
Code listing and explanations, evidence through tests that the code produces the correct outputs. |
8 |
|
Evidence of Comprehension |
Documentation should show evidence of your refinement of code, errors or issues you came across and how these were resolved and explanations of areas of your code. |
8 |
|
Review: A suitably written reflective report communicating your learning through the assignment, the skills you have developed and areas that need further improvement. |
||
|
Reflection of assignment |
You should reflect on your work throughout the coursework. |
4 |
|
Skills Developed |
Where did you develop skills – what did you do well? |
3 |
|
Areas Requiring further improvement. |
Moving into the future what would you require to improve? |
3 |
|
Grading Rubric |
||||||
|
Criteria |
Assessed Element |
Acquisition and application of requisite knowledge |
||||
|
|
Beginner [40 –49%] |
Competent [50 – 59%] |
Proficient [60 – 69%] |
Expert [70 – 100%] |
||
|
Quality of models. 30% |
Pseudo code
(10%) Flow
chart (10%)
STD (10%)
|
Very poorly presented models inappropriat e or wholly ineffective. |
Issues with models which undermines the appropriatenes s and efficacy. But there is clear evidence of effort in the attempt and techniques are identifiable. |
Acceptable models though there are minor issues with appropriatenes s and efficacy and/or notational errors. |
No noticeable limitations in the models.
Techniques have been used to an appropriate standard though there may be some minor omissions or errors that reduce the completeness of the models.
|
Models are extremely effective and professionally presented, notations have been used appropriately and the models wholly map to the provided solution. |
|
Test documentatio n 20% |
Plan including reason for testing, expected result, actual result and evidence of remedial action and test execution |
Very poor testing, major functionality untested and/or lack of any real plan, evidence of execution or management . |
Basic level of testing evident though errors and omissions evident and the plan has evidence of test executions though it is not convincing in its application or management. |
Satisfactory plan testing the major executable functions of the system and evidence of tests being executed and managed but not compelling. |
Good plan with significant majority of the system tested as required with minor omissions. Clear evidence of execution and management. |
Excellent and comprehensiv e plan; comprehensiv e evidence of the tests being executed and managed. |
|
Application
40%
|
Execution
(50%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|