狠狠综合久久久久综合网址-a毛片网站-欧美啊v在线观看-中文字幕久久熟女人妻av免费-无码av一区二区三区不卡-亚洲综合av色婷婷五月蜜臀-夜夜操天天摸-a级在线免费观看-三上悠亚91-国产丰满乱子伦无码专区-视频一区中文字幕-黑人大战欲求不满人妻-精品亚洲国产成人蜜臀av-男人你懂得-97超碰人人爽-五月丁香六月综合缴情在线

INFS 2042代做、代寫 Java 編程設(shè)計(jì)

時(shí)間:2024-05-27  來(lái)源:  作者: 我要糾錯(cuò)



 INFS 2042 Data Structures Advanced Assignment 2 – Contact Tracing
UniSA STEM
The University of South Australia 2024
Originally written by Brandon Matthews Modified by Daniel Ablett, and Gun Lee
   Warning: This material has been reproduced and communicated to you by or on behalf of the University of South Australia in accordance with section 113P of the Copyright Act 1968 (Act). The material in this communication may be subject to copyright under the Act. Any further reproduction or communication of this material by you may be the subject of copyright protection under the Act.
 1

1. Introduction
To track and reduce the spread of a disease during an epidemic or pandemic situation it is critical that authorities and health experts can trace who has been in contact with whom, when the contact occurred and where. This is known as contact tracing. Efficiently searching potentially millions of people and where they have been will require an efficient way to store and navigate through the data.
In this assignment, you are tasked with building a basic contact tracing system. You must use your knowledge of data structures and search algorithms to efficiently store and process large quantities of contact tracing data. You are not restricted to the data structures and algorithms explored in this course. You may also make use of structures and algorithms from the Data Structures Essentials course.
2. Requirements
Your client has provided you with a strict set of system requirements that the program must meet. How you achieve those requirements and which algorithms or data structures you use are up to you. You must implement the program in Java using OpenJDK 11 or newer. You should also aim to make the program as efficient as possible. For example, exhaustively searching lists in nested loops would not be the most efficient implementation in many cases.
Generally, it is easier to design with optimisation in mind. When using the following data structures: Binary Search Tree, Self-Balancing Search Tree, Graph, Skip List, Blockchain, Hash Map, Hash Set etc. you must implement the data structure yourself. It is expected that a selection of these structures will be required to meet the client requirements as efficiently as possible.
You may use provided data structures in Java libraries (such as Linked List, Queue, Stack etc.) only if they are not a part of the content covered in this course to support the implementation of other structures and store data where necessary. Be wary of functions that are built into provided data structures, if you do use them ensure you consider their performance impact.
You are also required to provide supporting documentation, in this, you must explain each data structure you used, what they were used for and why. This includes cases where you have used Java’s built-in data structures. Consider your implementation in the context of a real contact tracing application. The data provided for this assignment, as described below, is for 40 people, with 80 visits to 6 locations. In a real application we likely have millions of people, with tens or hundreds of millions of visits to hundreds of thousands of locations. Your implementation should be efficient for storage and processing of large amounts of data.
Remember, it is not enough that your system implements the requirements, it must implement them efficiently.
2

2.1 System Requirements
Below are a set of requirements for the operation of the program as provided by your client.
• The system administrator would like the ability to load existing data from the provided .csv files. The code to read the files is already provided by the client however they have not implemented a method
to store the data.
• In addition, public health officials need the ability to add a new Person, Location or Visit to the data.
The client has provided the input command parsing code to support this however they have not
implemented the functionality.
• Public health officials need the ability to search for a Person by name. This should show them all details
about the person. This includes listing all visits the Person has made.
o Hint: This would require an efficient means of searching for the Person and all Visits in which
the Person has visited any Location.
o If a startDate and endDate are provided, this should also filter the list of Visits to only include
those between these times.
• Public health officials need the ability to search for a Location by name. This should show them all
details about the location. This includes listing all people that have visited the location.
o If a startDate and endDate are provided, this should also filter the list of Visits to only include
those between these times.
• The public health officials would like the ability to produce a list of potential contacts up to (n) levels
away from a given person (including known contacts).
o If n = 1, the list will contain only direct contacts of the given person.
o If n = 2, the list will contain all direct contacts (n=1) of the given person and all contacts of
those contacts (n=2).
o If n=r, the list will contain all n=1 to n=r-1 contacts of the given person and all contacts of those
contacts (n=r).
o Hint: This would require an efficient method of identifying contacts of a given person based
on their visits.
• Public health officials also need the ability to specify if the person is a new Active Case (i.e., they have
become infected with the virus).
o When an Active Case is added, they also need to see an estimation of where, when and from
whom the person likely contracted the virus. Your program should output the most likely contact source including the location and time of contact. Note: The most likely contact source is the pair of people with the highest Chance of Spread (C) as defined later in this document.
o If a new Active Case has no immediate contacts that are also an Active Case, the program should instead find the nearest or most likely Active Case. That is, the existing Active Case for which each contact between them and the new Active Case have the highest total Chance of Spread (C).
o Hint: This would require a method for identifying the person from which the visit during which the person most likely contracted the virus.
• The public health officials would like to output a trace of the transmission of the virus from its original source to a target person. In this process this trace should ensure the date each person along the path was infected is correct by verifying the start date of their infection is the day after the contact with the highest Chance of Spread (C). In a ‘real world’ data set this would be useful for identifying different branches of the virus as it spreads and tracing the virus back to its original source.
o Hint: this would require a method for tracing the path through each person backwards from the given person until no previous source case can be found (in the provided data).
• The public health officials would like to be able to produce a list of all active cases.
• The program must be robust and user friendly, so it does not crash but print proper messages.
3

2.2 Supporting Documentation
You must provide a document to support your program design and demonstrate your program meets the requirements. This must include:
• One-page summary of your program design and the reasoning behind your design decision.
Explain all data structures and algorithms you used, what they were used for, and your reasoning for selecting them. (e.g., estimate of overall performance, space and time-efficiency)
• Sample outputs from your program. (no page limit)
This is to demonstrate that your program meets the requirements. Provide headings to clarify what requirement does the provided sample output demonstrates.
3. Data and Code
For simplicity, a limited data set is provided. A person is only considered infectious if they are currently an active case and only the dates between which they are infections is recorded. All of the data is artificial data that has been procedurally generated. A person is only considered an active case if they have an activeStartDate, and they either don’t have an activeEndDate or the activeEndDate is after the “current date”.
3.1 Provided Data Format
The data in the provided CSV files are structured as follows:
• Person.csv – A list of people where each person has:
o name
▪ The person’s full name, or the purposes of this assignment you can assume the
person’s full name is unique within the data set o activeStartDate
▪ The date after the person is estimated to have contracted the virus the virus (empty if they have not contracted the virus)
o activeEndDate
▪ The date the person stopped being contagious (or is estimated to stop if after the
“current date”).
• Location – A list of locations where each location has:
o name
▪ Thelocation’sname,orthepurposesofthisassignmentyoucanassumetheperson’s
full name is unique within the data set
• Visit – A list of visits by a person to a location where each visit has:
o personName
▪ Name of the person that visited the location
o locationName
▪ Name of the location the person visited
o date
▪ Date of the visit
o entryTime
▪ Time the person entered the location
o exitTime
▪ Time the person exited the location
4

3.2 Provided Code
The client has provided the basic interface commands they wish to use to handle the data. You are free to add commands for your testing purposes if you wish, however you must keep the commands listed here the same. The provided base code handles the parsing of these commands and provides some supporting types and functions. It is recommended that you retain the command functionality and build upon it, however you are free to modify the base code however you want/need to meet the requirements. See testfiles/test.txt in the provided code for a set of example commands.
The program is configured with an artificial “CURRENT_DATE” variable that relates to the provided data files. You should use whenever referring to the current date. This is configured by an initialization command in the test files.
For simplicity, a limited data set is provided. A person is only considered infectious if they are currently an active case and only the dates between which they are infections is recorded. All of the data is artificial data that has been procedurally generated. A person is only considered an active case if they have an activeStartDate, and they either don’t have an activeEndDate or the activeEndDate is after the “current date”.
   Command INIT
LOAD_DATA
ADD_PERSON ADD_LOCATION
Purpose
Initializes the program and sets the artificial CURRENT_DATE
Loads data from the
People, Locations and
files
Adds a new person
Adds a new location
Parameters
currentDate – the artificial current date for the program
peoplePath – path to people csv locationPath – path to location csv
visitPath – path to visit csv
personName – name of the person to add
locationName – name of the location to add
      provided Visits CSV
       ADD_VISIT
   Adds a new visit
  personName – name of the person locationName – name of the location date – date of the visit
entryTime – time visit started exitTime – time visit ended
    GET_PERSON
   Finds the Person by name and lists all visits (or a filtered list of visits between startDate and endDate)
   personName – name of the person to get startDate (optional) – filter visit list by this start time
endDate (optional) – filter visit list by this end time
   GET_LOCATION
  Finds the Location by name and lists all visits (or a filtered list of visits between startDate and endDate)
  locationName – name of the location to get startDate (optional) – filter visit list by this start time
endDate (optional) – filter visit list by this end time
 LIST_CONTACTS
   Finds the Person by name and lists all contacts within (n) contacts of the given person. i.e. n=1 is direct contact, n=2 is contact with an n=1 contact ... n=N is contact with an n=N-1 contact.
  personName – person to get contacts of n – number of levels of contact
  CURRENTLY_ACTIVE
Lists all currently active people. 5
   
  NEW_CASE
   Sets the given Person to now be an active case and the date and time they tested positive. Also outputs the most likely infection source for the target and updates the activeStartDate for the person (1 day after the contact took place), if no viable contact is detected, sets the activeStartDate to the CURRENT_DATE variable in DateHelpers.
   personName – name of the person to make a new case
  TRACE_PATH Traces the path that the virus personName – name of the person to trace travelled from person to person the virus transmission for
until it reaches the target.
3.3 Calculating the Chance of Spread
For this assignment, we have an imaginary virus that has a high chance of spreading and becomes detectable and contagious the following day. That is. if John is detected as an active case on 5/1/2021, they must have caught the virus some day before 5/1/2021
For this virus the chance of contact between an active case and another person resulting in a spread to that person is based on the overlap in time spent by two people at a given location, the time since the active case contracted the virus and the incubation time. The chance is the percentage of one hour spent in contact (in the same location).
Let D be the time spent by two people in the same location (in minutes) The Chance of Spread (C) is:
𝐶=(𝐷 ×100) 60
Note that C cannot be less than 0% or greater than 100%. 3.4 Running the Provided Code
To run the provided code you will need to pass it the path to the test file as a program argument through the “Run Configuration” in eclipse. The default included test file is at the relative location “testfiles/test.txt”. Throughout development it may help to create your own test files and data sets that you can use to help with implementation of specific functions. If you are using your own test file, make sure you update the “Arguments” under the “Run Configuration” in eclipse. Note that a different test file may be used for marking.
   6

 4. Submission Details
All assignments must be submitted via the learnonline submission system through the course webpage. You must submit two files, a report and a zip file containing your programming solution.
Report
Submit a single pdf file with the name emailID.pdf (replace emailID with your own!) as outlined in section 2.2
Code
Make sure you add your name and email ID into the comments on all of the Java file you have modified. Create a single zip file with the name emailID.zip. When unzipped it should contain a functional eclipse project. You may work on the project in another IDE however you must ensure it works as an eclipse project as it will be marked based on eclipse.
7
 
Late Submissions and Extensions
Late submissions will be penalised by scaling the marks by 70% unless with pre-approved extension. Application for extension should be lodged through the course website and it requires a document proving acceptable reasons for extension (e.g., medical certificate, or a letter from your work supervisor). Please check the course outline available on the course website for further details on late submission and extensions.
Academic Misconduct
Students must be aware of the academic misconduct guidelines available from the University of South Australia website. Deliberate academic misconduct such as plagiarism is subject to penalties. Information about Academic integrity can be found in Section 9 of the Assessment policies and procedures manual at: https://i.unisa.edu.au/policies-and-procedures/codes/assessment-policies/
All of the assignments are compared using special tools designed to look for similarities between Java programs. The plagiarism checking programs do not just compare the actual Java code, but instead perform comparisons on the code after it has been compiled. Performing cosmetic changes such as reformatting code, renaming variables, or reordering code may fool a human under casual inspection but will still be detected by the plagiarism checker as being similar. Beware that if you use generative AI tools, this may result in another person using the same tool submitting solutions with high similarities.
Any assignments found to be in violation of the university’s rules on academic misconduct will become subject of Academic Integrity investigation which will decide the penalty. Furthermore, you may also fail the course and/or receive an official note in your academic transcript.
The best way to avoid being penalised for plagiarism is to not cheat on your assignment. Do not share your code with anyone, do not let anyone else do your assignment for you, and do not leave your computer unattended or share your password with anyone. If you are working with friends it is ok to discuss the assignment and possible ways of solving it, but you should not share your code. Sharing code with others is still considered academic misconduct. The golden rule for working on your assignments is never show another student the material you intend on handing up.
 8

5. Assessment Criteria
• Program Code (70%)
o Runs without any errors or crashing (5%) o Meets Client Requirements (40%)
o Quality of Implementation and Code (25%)
 •
▪ Is the code well-structured and logical?
▪ Is the code readable?
▪ Have efficient control-flow elements been used (while loops, for loops)?
▪ Sufficient comments. Also, name and email ID must be added in comments. ▪ Code reusability
▪ Choices of data structure and algorithm ▪ Efficient usage of space
▪ Efficient computation time
 Report (30%)
 o
Logical reasoning for Data Structure and Algorithm selection is documented in supporting
 documentation. (25%)
o Provided sample outputs are relevant to the requirements. (5%)
請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp















 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁(yè)
  • 上一篇:代做 EBU5376、MATLAB 語(yǔ)言程序代寫
  • 下一篇:代寫 CPT204 Intelligent Rogue Chars
  • 無(wú)相關(guān)信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國(guó)家級(jí)風(fēng)景名勝區(qū)
    昆明西山國(guó)家級(jí)風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗(yàn)證碼平臺(tái) 幣安官網(wǎng)下載 歐冠直播 WPS下載

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    狠狠综合久久久久综合网址-a毛片网站-欧美啊v在线观看-中文字幕久久熟女人妻av免费-无码av一区二区三区不卡-亚洲综合av色婷婷五月蜜臀-夜夜操天天摸-a级在线免费观看-三上悠亚91-国产丰满乱子伦无码专区-视频一区中文字幕-黑人大战欲求不满人妻-精品亚洲国产成人蜜臀av-男人你懂得-97超碰人人爽-五月丁香六月综合缴情在线
  • <dl id="akume"></dl>
  • <noscript id="akume"><object id="akume"></object></noscript>
  • <nav id="akume"><dl id="akume"></dl></nav>
  • <rt id="akume"></rt>
    <dl id="akume"><acronym id="akume"></acronym></dl><dl id="akume"><xmp id="akume"></xmp></dl>
    日日碰狠狠添天天爽超碰97| 一区二区三区四区久久| 26uuu成人| 免费精品99久久国产综合精品应用| 可以看毛片的网址| www.好吊操| 国产欧美日韩网站| 91专区在线观看| 每日在线更新av| 日韩av在线综合| 99re在线视频免费观看| 人妻无码视频一区二区三区 | 女性隐私黄www网站视频| 欧美成人高潮一二区在线看| 成人一区二区av| 99在线免费视频观看| 成年人网站免费视频| 国产在线观看福利| 91最新在线观看| 不卡中文字幕在线观看| 26uuu成人| 国产妇女馒头高清泬20p多| 成人综合视频在线| 色国产在线视频| 9999在线观看| 久久艹国产精品| 免费观看成人网| 伊人精品视频在线观看| 一卡二卡三卡视频| 久草综合在线观看| av动漫免费观看| 日韩精品在线中文字幕| 亚洲精品乱码久久久久久自慰 | 精品国产免费av| 免费在线观看污网站| 免费在线黄网站| 国产成人美女视频| 日本熟妇人妻xxxx| 九一精品久久久| 两根大肉大捧一进一出好爽视频| 国产av人人夜夜澡人人爽| 成人av在线播放观看| 午夜免费看视频| 欧美这里只有精品| 一级黄色大片儿| 成人精品视频一区二区| 亚洲精品少妇一区二区| 蜜桃免费在线视频| 99精品人妻少妇一区二区| 特级黄色录像片| 欧美视频国产视频| 男人日女人下面视频| 欧美婷婷精品激情| 免费在线观看毛片网站| 亚洲天堂第一区| 国产l精品国产亚洲区久久| 99视频在线视频| 2019日韩中文字幕mv| 在线免费黄色网| 人人干人人视频| 欧美三级一级片| 国产一二三在线视频| 精品一区二区成人免费视频| 国产原创精品在线| 日本人视频jizz页码69| 久久久久久三级| 激情综合网俺也去| 青青草av网站| 亚欧激情乱码久久久久久久久| 日韩少妇内射免费播放18禁裸乳| 丰满的少妇愉情hd高清果冻传媒 | 久久黄色免费看| 男人的天堂99| 欧美视频第三页| 国产极品美女高潮无套久久久| 9久久9毛片又大又硬又粗| 波多野结衣综合网| 亚洲 欧美 日韩 国产综合 在线 | 九色在线视频观看| 成人观看免费完整观看| 99视频精品免费| the porn av| 伊人精品视频在线观看| 欧美 国产 精品| 六月婷婷激情综合| 国产精品亚洲αv天堂无码| 男人的天堂日韩| www.久久com| 妞干网在线观看视频| 91猫先生在线| 亚洲午夜激情影院| 强伦女教师2:伦理在线观看| 97国产精东麻豆人妻电影| 天天摸天天碰天天添| av在线无限看| 婷婷视频在线播放| 妺妺窝人体色www在线小说| 日本www高清视频| 国产一级片中文字幕| 免费一级特黄特色毛片久久看| 免费毛片网站在线观看| 在线观看国产一级片| 300部国产真实乱| 看欧美ab黄色大片视频免费| 永久免费黄色片| 国产伦精品一区二区三区四区视频_ | 乌克兰美女av| 日韩成人三级视频| 天天综合天天添夜夜添狠狠添| 国产日韩亚洲欧美在线| 男人女人黄一级| 无码人妻少妇伦在线电影| 免费看污污网站| 亚洲熟妇无码另类久久久| 激情五月俺来也| 欧美三级一级片| 欧美一级免费播放| 亚洲精品乱码久久久久久动漫| 777久久久精品一区二区三区| 精品一区二区成人免费视频| 麻豆三级在线观看| 国产超级av在线| 日韩av新片网| 91精品国产毛片武则天| 亚洲第一狼人区| 日本新janpanese乱熟| 成人精品视频一区二区| 欧美男女交配视频| 免费看国产曰批40分钟| 色男人天堂av| www.com黄色片| 亚洲精品高清无码视频| 国产黄色一级网站| heyzo亚洲| 成人黄色大片网站| 人妻无码一区二区三区四区| 久久综合在线观看| 手机av在线免费| 我要看一级黄色大片| 一区二区三区 日韩| 中文字幕永久视频| 色戒在线免费观看| 一道本在线免费视频| xxx国产在线观看| 亚洲精品第三页| 午夜免费福利网站| 裸体裸乳免费看| 欧美 日韩 亚洲 一区| 精品少妇一区二区三区在线| 欧美日韩黄色一级片| 黄色录像特级片| 欧美性视频在线播放| 激情五月六月婷婷| 欧美一级视频免费看| 久久久久人妻精品一区三寸| 日本老熟妇毛茸茸| 怡红院亚洲色图| 9191国产视频| 欧美 日韩 国产在线观看| 丁香啪啪综合成人亚洲| 一区二区三区韩国| 亚洲欧美日韩一二三区| 亚洲国产精品无码观看久久| 国产特级黄色大片| 久久久精品高清| 人妻无码久久一区二区三区免费| www.99在线| 在线无限看免费粉色视频| 欧美深夜福利视频| 国产精品视频黄色| a天堂资源在线观看| 天天操,天天操| 日韩人妻无码精品久久久不卡| 欧美日韩亚洲一二三| 国产四区在线观看| 免费观看精品视频| 日本一本在线视频| 亚洲色精品三区二区一区| 成年在线观看视频| 手机看片一级片| 国产aaa一级片| 人人妻人人澡人人爽欧美一区双| 黄色一级二级三级| 亚洲 欧美 日韩 国产综合 在线| 99精品视频国产| 国产精品宾馆在线精品酒店| 波多野结衣三级在线| 91最新在线观看| 18岁网站在线观看| 欧美男女爱爱视频| 亚洲精品天堂成人片av在线播放| 特级丰满少妇一级| 欧美三级一级片| 777av视频| 国产一二三在线视频| 日韩精品一区二区三区四 | 国产一区视频免费观看| 玩弄中年熟妇正在播放| 搞av.com| 日本a视频在线观看|