/bmi

BMI github exercise

Primary LanguageR

bmi

BMI exercise to practice using R functions and git.

Step 1: Design the programme on paper.

We want to create a function that reads some height/weight data in from a CSV file and produces tabular, plot and statistical output. The first step is to design this on paper. We need to split the problem into individual tasks which need to be functionally separate (e.g. don't ask the user for some input in the same function as you display the data).

We need to see the list of tasks and the order in which they are undertaken (including any repetitions or loops).

Step 2: Allocate each of these tasks to groups.

Each group should take ownership of a task. They will add the prototypes and final code for that task to the github repository and all groups should be able to run the final code.

The tasks may vary as we understand the needs of the programme but that will be dealt with by the iterative process.

We will also need a task to bring all of the components together (the 'main' programme).

Step 3: Design each of the components associated with each task on paper.

Each component needs to have its functionality clearly defined and the inputs and outputs specified.

Step 4: Make sure the design fits together.

All groups need to make sure that they know where their data is coming from and what is required of them. The 'main' programme group need to feel confident that they have a programme flow that will work.

Step 5: Implement the tasks.

Each task needs to be implemented as a function. The functions need to be documented so that the users (other groups) can understand them. We will work through this iteratively until we achieve a working 'main' programme. If ecessary, we will further separate difficult tasks, or allocate new tasks if any prove easy.

Step 5: Bring it all together and see what we have.

Once all the tasks are available, we will bring them together and add finishing touches if needed. If there is time, we can consider what additional features we might like to add and attempt to implement those.