联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2025-04-24 10:20

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 1 of 10

NCUK INTERNATIONAL YEAR ONE ENGINEERING

IDEPG001 Programming

Coursework

2024-2025

Coursework

The marks for each element are clearly indicated in the attached marking

scheme.

This assignment constitutes 70% of the total marks for this subject.

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 2 of 10

The brief

A new leisure and sports club “Sports for You” want to interact with their members through

a new app. Part of this app is to allow the members to keep a history of activities they

have completed, and calories burnt.

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.

Column 1 stores the activity number, 1 = swim, 2 = boxing etc (these are fixed values).

Columns 2 – 5 represent the calories burnt per weight category.

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 3 of 10

Application Requirements:

1. Read in the person’s name and weight in kilograms – store this in a struct. This

struct should also be used to store a list of workouts for the person, each workout

will hold information on activity number and calories burnt. Validate the weight

entered is within the range 30kg to 200kg.

2. Read the data from the file and store this.

3. Display the following menu options:

4. Option 1 display calories burnt by activity per hour.

It should show each activity name, and calories burnt per weight category. There

should be headings for each weight category. (see table on page 2)

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.

For each workout the program should calculate the number of calories burnt and

store the activity number and calories burnt.

6. Option 3 should display the persons name and weight and a list of each workout

they have entered. For each workout it should display the activity name and

calories burnt. Total calories burnt should be displayed at the end of the list. All

workouts entered should be visible throughout the duration of the program

execution.

7. Validation of inputs should be included as follows:

a. Menu choices should be limited to integers in the range of options.

b. Workouts should be a minimum of 10 minutes long and no longer than 2

hours.

c. The weight of the person should be within the range of 30 to 200kg.

d. You can assume there will be no more than 100 workouts entered for this

demonstration.

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 4 of 10

Additional Functionality

The following list shows further suggested functionality you may implement to show further

knowledge and understanding within your assessment (see grading rubric). It is not expected that

you implement any or all of this.

1. Dynamic allocation of activity data.

2. Save the user data so it does not require re-input each time.

3. Save the workout data entered by the user to a file.

4. Any other suitable.

Suggested Data Dictionary for main components:

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:

name

(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 person

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 5 of 10

Guidance

1. Your program should be well structured and commented, with meaningful variable

names. Constants and user-defined functions should be used in appropriate places

for clarity and to reduce duplication.

2. The program should be developed in an incremental way, we recommend that you

start by creating the menus, and validation of the menu choices before moving

onto the more complex elements. Take note of any issues you have come across

and how you have resolved these – this will help you to demonstrate your

knowledge and understanding of the coursework.

3. Look carefully at the Coursework Instructions and grading rubric to ensure you

meet the requirements of the assignment in full. Ask your tutor if there are any

aspects that you do not understand.

4. At the end, it is recommended that you put your program through a pretty printer

to ensure it is consistently formatted.

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 6 of 10

Coursework Instructions

Your coursework should be handed in as a report. The report should include each area below. To

demonstrate knowledge and understanding you should document all areas fully as instructed in each

part below. Refer also to Grading Rubric for each part.

Part 1 – Design (30%)

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

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 7 of 10

Part 2 – Test plan and Test Results (20%)

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

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 8 of 10

Part 3 – Application (40%)

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

Part 4 – Review (10%)

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

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 9 of 10

Grading Rubric

Criteria Assessed

Element

Acquisition and application of requisite knowledge

Novice [0 –

39%]

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%)

Application is

limited in

features,

poorly

engineered

lacking

robustness

and

extensibility

and rigour.

Application has

most of the

required

features

evident though

lacks thorough

engineering

leading to

insufficient

extensibility

and/or

robustness

with limited

rigour evident.

Acceptable

solution

thorough not

convincingly

engineered

which may

limit

extensibility

and/or

robustness,

rigour is

deficient.

Solution is well

engineered

with evidence

of extensibility.

There may be

some minor

lack of

robustness

and/or

features, or

rigour

Wholly

professional

approach with

solution well engineered,

robust and

extensible.

Usability

(10%)

No

interaction

and very

limited

output.

System

functions but

there is no

interaction and

only minimum

output.

Acceptable

usability

though no user

interaction to

load data

and/or very

basic output.

Good, usable

application with

basic user

interface

provide, loads

data as

required and

has the

minimum

output well

displayed.

Excellent,

near

professional

quality

interface and

interactivity.

User has

freedom to

load data and

the outputs

are extensive

with excellent

presentation.

Quality (20%) Program

does not

produce

correct

results; the

standard of

coding is

poor with no

real attempt

to meet a

Code executes

and results are

produced but

they are not

validated

and/or the

standard of

the code is

basic.

Acceptable

quality with

clear evidence

the correct

result is

produced, the

standard of

coding is

acceptable

though there

are clearly

Good quality

throughout, the

application

executes as

required and

results are valid

code quality

has some

issues such as

pretty printing

or naming

Excellent

quality,

executes as

required,

results are

valid and

code is

professionally

presented.

Programming

Coursework 2425 © NCUK Ltd. 2023 Page 10 of 10

quality

threshold.

issues with

consistency.

convention not

consistent.

Evidence of

comprehensio

n (20%)

Lacking,

student

appears

unable to

explain the

code and

features

used and

had very

little

evidence of

skills being

acquired and

applied.

Basic evidence

of

comprehension

, can explain

the major

parts of the

program

though lacking

evidence of

understanding

the more

complex

language

features

applied. Skill

level was

sufficient to

complete the

basic tasks but

not more

advanced

work.

Acceptable

though there

are some more

fundamental

areas that the

student is not

so confident

explaining or

has

misunderstood

. They display

the skill level

expected to

succeed with

the

assignment.

Good

knowledge of

the code

though not

comprehensive

or compelling

they are able to

explain the

main features

of the program

and how it

executes and

display an

above average

skill in their

work.

Excellent,

student fully

understood all

the work

submitted,

could explain

the

relationship

between the

model and

the code, the

how the

program

executes and

showed well

above

average and

skill in the

production of

the work.

Review

10%

Degree to

which you

have reflected

appropriately

on the work

you have

produced, the

lessons learnt,

strengths and

weaknesses

etc.

Not a

reflective

account,

details are

presented

as is rather

than

considering

the impact

upon the

learner.

Evidence of

some

reflection

rather than

just a

narrative of

the process

though not

consistent.

Clear

evidence of

reflection

though

lacking depth

and some

objectivity.

Reflection is

evident

throughout

identifying

areas of

development

and skill

acquisition

though minor

inconsistencie

s present.

Deeply

reflective

account with

clear

evidence of

developmen

t and skill

acquisition

along with

evaluation

of previous

skill and

knowledge

deployment.


相关文章

【上一篇】:到头了
【下一篇】:没有了

版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp