Course / Programme:
Module name and code:
Tutor:
Assignment Number:
Assignment Title:
Issue Date:
Submission Deadline:
|
School of Creative Technologies
Computer Networks & Security
Introduction to Programming & Scripting (SEC4101)
Brennan Tighe
1
Health Statistics for Focus Groups
12th of November 2018
14th of December 2018 @ 2355
(Moodle upload of Report and program file (.py))
|
Learning Outcomes:
2. Demonstrate the ability to design, write, and debug programs that use sequence, selection and repetition statements, methods/functions, primitive data types, arrays, and that do I/O
3. Define the appropriate programming constructs in order to develop functional software to a specification
4. Express the development and problem solving processes involved in the development of software
5. Review your own personal skills for the development of self-management techniques and time management
|
Grading
A percentage mark will be provided based on Assessment Rubric. Grading is as follows:
A: 70-100%
B: 60-69%
C: 50-59%
D: 40-49%
Marks below 40% will be classed as fail.
Assignment
According to NHS (2016a):
The body mass index (BMI) is a measure that uses your height and weight to work out if your weight is healthy.
The BMI calculation divides an adult's weight in kilograms by their height in metres squared. For example, A BMI of 25 means 25kg/m2.
BMI ranges
For most adults, an ideal BMI is in the 18.5 to 24.9 range.
For children and young people aged 2 to 18, the BMI calculation takes into account age and gender as well as height and weight.
If your BMI is:
· below 18.5 – you're in the underweight range
· between 18.5 and 24.9 – you're in the healthy weight range
· between 25 and 29.9 – you're in the overweight range
· between 30 and 39.9 – you're in the obese range
According to NHS (2016b):
To work out your BMI:
· divide your weight in kilograms (kg) by your height in metres (m)
· then divide the answer by your height again to get your BMI
For example:
· if you weigh 70kg and you're 1.75m tall, divide 70 by 1.75 – the answer is 40
· then divide 40 by 1.75 – the answer is 22.9
· your BMI is 22.9kg/m2
References :
NHS(2016a) What is the body mass index (BMI)? [Online] Available at: http://www.nhs.uk/chq/Pages/3215.aspx?CategoryID=52 (Accessed April 2017)
NHS(2016b) How can I work out my body mass index (BMI)? [Online] Available at: http://www.nhs.uk/chq/Pages/how-can-i-work-out-my-bmi.aspx?CategoryID=51&SubCategoryID=165 (Accessed April 2017)
|
Scenario
You have been tasked with creating a programmed solution for a research team who are involved in analysing the health statistics related to
n
respondents in a focus group. In statistics,
n
refers to the number in a trial or sample.
Your programmed solution should:
· calculate health-related statistics for respondents in various focus groups.
· demonstrate versatility by being capable of taking details for
n
respondents since focus group sizes are dynamic and may have a changing numbers of respondents. Therefore, it is important that your application does not initially prompt the end user by asking for a
specific
number of respondents since the
n
may not be known at the beginning of a focus group session.
· capture details for each respondent including height, weight and age.
· determine the overall
mean,
mode,
range
for
BMI,
height,
weight
and
age, the number and percentage of the sample considered
underweight,
healthy,
overweight
and
obese.
· show versatility by allowing respondents to enter data using metric or imperial standards: weight in pounds (lb), stone (st) or kilograms (kg); height in metres (m), feet (ft) or inches (in)
· be robust enough to handle erroneous or invalid data and generate appropriate messages alerting the user by asking for re-entry of data in the correct format and range.
Other Requirements:
· The program should start by displaying a welcome message explaining its purpose. Afterwards, it should display a message asking the end user if he/she would like to continue; if
no
is chosen, the program should terminate.
· After data for each respondent is entered, the program should ask the end user if he/she would like to enter details for another respondent in the sample or provide a summary of the aggregated statistics.
· The summary of the aggregated statistics must be saved in an appropriate file format to disk in a location of the end users choosing
· After group statistics have been displayed, the program should allow restart of whole process.
· Use a BASH script to locate a CVS file on the computer (The location must not be hardcoded) and pass that location as an argument into the python file.
· Use a Shell Script to e-mail the aggregated data file to a recipient that is passed in as an argument to the BASH script
· Use tkinter to develop an appropriate GUI
Section 1: Problem Decomposition, Planning and Design (Aka Design Documentation)
1. Design your program based on the preceding scenario; these should:
· include a minimum of three (3) submodules.
· include a minimum of one (1) error-checking procedure.
· Include a minimum of one (1) BASH script that supports
2. Develop a Hierarchical Structure Chart depicting your overall design.An example layout is shown below:
3. Present your pseudocode and flowcharts, for both the main program and submodules (functions).
4. Develop a Data Dictionary. Use meaningful identifier names for variables and constants.
You may use this table as a starting point:
Identifier Name
|
Variable / constant
|
Data Type
|
Local / Global
|
How Variable will be used
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Section 2: Develop the code (35%)
1. Develop your program using appropriate algorithms to manipulate data.
2. Ensure appropriate comments are included within your program to explain functionality and provide citations for code or information used on the internet.
Section 3: Testing and Analysis
Incorporate annotated screenshots as supporting evidence.
1. Utilise appropriate data to test error-checking procedures and modify the program as appropriate.
2. Discuss situations during the debugging process where you have identified and corrected syntax and logic errors.
3. Demonstrate that you have used an iterative testing process using appropriate data to ensure correct program functionality. Correct and modify programs where necessary.
4. Discuss programming decisions made throughout work and alternative paths considered.
You
may
use the following table to document this process:
Date
|
Inputs
|
Expected Outcome
|
Actual Outcome
|
Screenshot(s)
|
Analysis of Result
|
Corrective Action
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Section 4: Review
1. Discuss your own personal skills development throughout the project and self-management techniques and time management.
Video Demonstration (15)
·
You need to submit a video of you demonstrating your program and explain how it works. In addition you are to explain interesting features, modules, libraries and identify where on the internet you have sourced them from the internet and why you choose that particular examples.
In this assignment I have achieved the following objectives
|
Tick appropriate box
NA – not attempted : Part – part completed : Full – fully completed
|
NA
|
Part
|
Full
|
Section 1: Decomposition, Planning and Design
|
|
|
|
Section 2: Implementation
|
|
|
|
Section 3: Testing and Analysis
|
|
|
|
Section 4: Review
|
|
|
|