Contact tracing: part 2: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
== What is this problem set trying to do == | == What is this problem set trying to do == | ||
You must be able to look at a real-world problem and using computational thinking, decompose it into smaller parts | You must be able to look at a real-world problem and using computational thinking, decompose it into smaller parts. you will be using file operations, user input, and perhaps serialization. | ||
== The Problem == | == The Problem == | ||
Line 21: | Line 22: | ||
# accept input for the patient: | # accept input for the patient: | ||
## name | ## name | ||
###first name, last name, alias | |||
## address | ## address | ||
## phone number | ### city, postal code, street | ||
## phone number | |||
### best phone number to reach you, secondary phone number | |||
## email | ## email | ||
### email, other best way to electronically reach you | |||
## date of infection | ## date of infection | ||
### MM-DD-YYYY | |||
## todays date | ## todays date | ||
### MM-DD-YYYY | |||
# This data must be saved in an external file so your program has persistence (you can stop the program and then re-run the program and the data will be saved). | # This data must be saved in an external file so your program has persistence (you can stop the program and then re-run the program and the data will be saved). | ||
# the file you save must be human readable. You will probably want to save this file as a JSON file, or XML. Probably JSON. | |||
# Your program must assign a UNIQUE ID to each patient. | # Your program must assign a UNIQUE ID to each patient. | ||
# This data will be used and accessed by other parts of your contact tracing app, so please design it carefully. | # This data will be used and accessed by other parts of your contact tracing app, so please design it carefully. | ||
# This program must stand alone; it should not include any other parts of any other program. | # This program must stand alone; it should not include any other parts of any other program. | ||
# All data must be correctly checked for type or an exception must be raised. Do not allow invalid data! | |||
== How you will be assessed == | == How you will be assessed == |
Latest revision as of 16:08, 30 August 2020
This is a problem set. Some of these are easy, others are far more difficult. The purpose of these problems sets are:
- to build your skill applying computational thinking to a problem
- to assess your knowledge and skills of different programming practices
What is this problem set trying to do[edit]
You must be able to look at a real-world problem and using computational thinking, decompose it into smaller parts. you will be using file operations, user input, and perhaps serialization.
The Problem[edit]
Contact tracing is the process of identifying, assessing, and managing people who have been exposed to a disease to prevent onward transmission. When systematically applied, contact tracing will break the chains of transmission of COVID-19 and is an essential public health tool for controlling the virus.
Contact tracing for COVID-19 requires identifying people who may have been exposed to COVID-19 and following them up daily for 14 days from the last point of exposure.[2]
It may be helpful to start with Contact tracing: part 1
You must write a program which a medical professional would use to interview a patient newly diagnosed with covid-19. Your program must:
- accept input for the patient:
- name
- first name, last name, alias
- address
- city, postal code, street
- phone number
- best phone number to reach you, secondary phone number
- email
- email, other best way to electronically reach you
- date of infection
- MM-DD-YYYY
- todays date
- MM-DD-YYYY
- name
- This data must be saved in an external file so your program has persistence (you can stop the program and then re-run the program and the data will be saved).
- the file you save must be human readable. You will probably want to save this file as a JSON file, or XML. Probably JSON.
- Your program must assign a UNIQUE ID to each patient.
- This data will be used and accessed by other parts of your contact tracing app, so please design it carefully.
- This program must stand alone; it should not include any other parts of any other program.
- All data must be correctly checked for type or an exception must be raised. Do not allow invalid data!
How you will be assessed[edit]
Your solution will be graded using the following axis:
Scope
- To what extent does your code implement the features required by our specification?
- To what extent is there evidence of effort?
Correctness
- To what extent did your code meet specifications?
- To what extent did your code meet unit tests?
- To what extent is your code free of bugs?
Design
- To what extent is your code written well (i.e. clearly, efficiently, elegantly, and/or logically)?
- To what extent is your code eliminating repetition?
- To what extent is your code using functions appropriately?
Style
- To what extent is your code readable?
- To what extent is your code commented?
- To what extent are your variables well named?
- To what extent do you adhere to style guide?
References[edit]
A possible solution[edit]
Click the expand link to see one possible solution, but NOT before you have tried and failed!
not yet!