Reference no: EM132409848
ITECH1400 Foundations of Programming Assignment - Biorhythms: Theory & Practice
Overview - In this assignment you will provide a Python script which will calculate the Biorhythms for any individual and present the data graphically using libraries and a common algorithm.
Learning Outcomes Assessed - The following course learning outcomes are assessed by completing this assessment:
K1. Identify and use the correct syntax of a common programming language.
K2. Recall and use typical programming constructs to design and implement simple software solutions.
K3. Reproduce and adapt commonly used basic algorithms.
K4. Explain the importance of programming style concepts (documentation, mnemonic names, indentation)
S2. Write and implement a solution algorithm using basic programming constructs.
S3. Demonstrate debugging and testing skills whilst writing code.
A1. Develop self-reliance and judgement in adapting algorithms to diverse contexts.
A2. Design and write program solutions to identified problems using accepted design constructs.
Assessment Details -
Theory -
Biorhythms were developed by Wilhelm Fließ, a colleague of Sigmund Freud, in the 19th century and were very popular in the 1970s (Troutman, 1978); despite criticisms they are still used today in fields such as work safety to sports performance (Arab, Omidvari, & Nasiripour, 2014; Habibi, Mohammadi, Ghanbary Sartang, & Zeinodini, 2016; Zareian, Rabbani, & Saeedi, 2014).
The theory underlying Biorhythms proposes that, from birth, three cycles: physical, emotional and intellectual affect our performance. Understanding these cycles can help to optimise our potential.
Although there are many references available, the paper by Troutman (1978) has been attached as an early computer application.
(Spend a little time looking at the code at the end of this paper. Consider all the GO TO statements in the code and how it affects readability. Would this code be easy to modify? Debug? Compare this with the way we write code today - refer to the 3 structures given by Boehm and Jacopini in the additional material in week 1.)
Your main task is to develop a Python application that can display Biorhythms for any person given their date of birth and the target date. You should be able to provide the Biorhythms for a suitable spread around the target date as well.
Two algorithms to determine the day of any date have been provided - you are to implement one of these in a function which you call in your code to add the day of the week to your graph annotation.
Using a few carefully chosen dates, demonstrate that your day of the week function works correctly. (Here we don't use a Python library function for this so that you might better appreciate libraries.)
Practice -
The last stage is to apply the Biorhythm code that you have implemented. There are many ways to do this, for example:
Choose a favourite sports person - Roger Federer or Serena Williams for example. How were their Biorhythms in their last tennis match? Did they win? If not what were their adversary's Biorhythms like?
Take a celebrity - a famous actor - Clark Gable or Marilyn Monroe. Clark Gable had a heart attack on November 5, 1960 and died shortly after. What were his Biorhythms like around this time?
Biorhythms indicate that we are at our peak when all three curves are at their maximum. How often could we expect to experience this in our lifetimes? 10, 50 or 100 times or more? Modify your code to determine this.
Discuss your own ideas with your lecturer or tutor.
A report is to be submitted in this assignment. There is a discussion section in the report in which you can apply step 6 in the six-step problem solving process and ask the four questions often used in evaluating a solution.
Attachment:- Programming Assignment Files.rar