国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

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

時(shí)間:2024-05-15  來(lái)源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(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.
2
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.
3
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.
4
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
▪ The location’s name, or the purposes of this assignment you can assume the person’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
5
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 Purpose Parameters
INIT Initializes the program and sets the
artificial CURRENT_DATE
currentDate – the artificial current date for
the program
LOAD_DATA Loads data from the provided
People, Locations and Visits CSV
files
peoplePath – path to people csv
locationPath – path to location csv
visitPath – path to visit csv
ADD_PERSON Adds a new person personName – name of the person to add
ADD_LOCATION Adds a new location locationName – name of the location to add
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.
6
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
travelled from person to person
until it reaches the target.
personName – name of the person to trace
the virus transmission for
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:
𝐶 = (
𝐷
60
× 100)
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.
7
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.
8
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.
9
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
• Report (30%)
o Logical reasoning for Data Structure and Algorithm selection is documented in supporting
documentation. (25%)
▪ Choices of data structure and algorithm
▪ Efficient usage of space
▪ Efficient computation time
o Provided sample outputs are relevant to the requirements. (5%)

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp
















 

掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
  • 上一篇:代寫CPT206、Java程序設(shè)計(jì)代做
  • 下一篇:菲律賓能補(bǔ)辦護(hù)照嗎(補(bǔ)辦護(hù)照的過(guò)程)
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場(chǎng)仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲勞振動(dòng)
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手,多多出評(píng)軟件徽y1698861
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服務(wù)平臺(tái)
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 豆包網(wǎng)頁(yè)版入口 破天一劍 目錄網(wǎng) 排行網(wǎng)

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

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    精品一区日韩成人| 蜜桃av噜噜一区二区三区| 久久久99久久精品女同性| 日韩有码在线播放| 国产成人久久久| 久久精品国产亚洲一区二区 | 久久成人精品一区二区三区| 欧美成人性色生活仑片| 国产99在线免费| 丁香色欲久久久久久综合网| 日韩欧美精品免费| 国产尤物99| julia一区二区中文久久94| 91精品国产综合久久香蕉的用户体验 | 在线精品日韩| 午夜精品久久久久久久99黑人| 午夜dv内射一区二区| 人妻内射一区二区在线视频| 青青在线视频一区二区三区| 国产在线视频一区| 国产欧美日韩视频| 久久久视频免费观看| 久久精彩免费视频| 欧美激情精品久久久| 在线观看国产一区| 日本女人高潮视频| 国产亚洲二区| 久久综合久久综合这里只有精品| 久久久久久噜噜噜久久久精品| 国产精品久久国产精品99gif | 中文字幕乱码人妻综合二区三区| 亚洲欧美国产不卡| 欧洲精品久久久| 国产精品综合久久久久久| 黄色网址在线免费看| 欧美国产视频在线观看| 国产美女永久无遮挡| 久久偷窥视频| 国产精品国产亚洲精品看不卡| 国产99久久精品一区二区 夜夜躁日日躁| 中文字幕日韩一区二区三区| 天堂一区二区三区| 日本不卡一区| 欧美一级大片视频| 蜜桃麻豆91| 91高清视频免费| 欧美成人一区二区在线观看| 成人国产精品一区| 99电影在线观看| 久久草视频在线看| 久久国产精品久久精品| 亚洲欧美影院| 色综合久久av| 日本www高清视频| 欧美在线播放一区二区| 国产一区二区不卡视频在线观看 | 九色自拍视频在线观看| 久久亚洲欧美日韩精品专区| 在线观看福利一区| 性一交一乱一伧国产女士spa | 欧美一区在线直播| 欧美极品一区二区| 精品视频无码一区二区三区| 国产裸体写真av一区二区| 99视频网站| 国产不卡av在线免费观看| 久久99欧美| 精品国产欧美一区二区三区成人| 国产精品久久久久国产a级| 国产精品久久久久久婷婷天堂| 久久国产精品网站| 欧美成人在线免费| 亚洲日本精品国产第一区| 日本久久久精品视频| 欧日韩不卡在线视频| 麻豆一区二区三区在线观看 | 欧美精品在线免费| 少妇高潮喷水久久久久久久久久| 欧美精品日韩www.p站| 亚洲第一页在线视频| 狠狠色狠狠色综合人人| 激情欧美一区二区三区中文字幕| 成人精品久久av网站| 久久久久久久久久久91| 亚洲最大福利视频网| 激情欧美一区二区三区中文字幕| 久热免费在线观看| 精品久久中出| 日韩中文字幕在线不卡| 人妻久久久一区二区三区| 成人av影视在线| 久久久免费av| 中文字幕一区二区三区有限公司| 无码人妻丰满熟妇区96| 奇米成人av国产一区二区三区| 男人的天堂成人| 久久最新免费视频| 久久精品99久久久香蕉| 欧美成人精品一区二区| 日韩免费中文专区| 91久热免费在线视频| 麻豆国产va免费精品高清在线| 熟妇人妻va精品中文字幕| 91精品成人久久| 欧美精品做受xxx性少妇| 国产精品久久久久福利| 欧美一级视频在线观看| 韩国国内大量揄拍精品视频| 国产欧美在线看| 欧美一级爱爱| 国产裸体写真av一区二区| 国产精品久久久久不卡| 日韩久久一级片| 国产精品专区h在线观看| 久久精品影视伊人网| 亚洲 高清 成人 动漫| 91久久久在线| 色综合久综合久久综合久鬼88| 日本伊人精品一区二区三区介绍| 爱福利视频一区二区| 久久婷婷国产麻豆91天堂| 日韩久久不卡| 久久99精品国产一区二区三区| 日韩av色综合| 久草综合在线观看| 日韩欧美亚洲在线| 久久综合伊人77777麻豆| 色中色综合成人| 久久99精品久久久久久水蜜桃| 日本一区二区三区免费看| 91精品国产乱码久久久久久蜜臀 | 国产免费一区二区视频| 久久国产亚洲精品无码| 亚洲va久久久噜噜噜久久天堂| 成人精品一二区| 亚洲www在线| 久久精品日韩| 欧美影院久久久| 国产精品色婷婷视频| 亚洲a中文字幕| 91福利视频导航| 亚洲三级一区| 国产精品69久久| 亚洲在线免费视频| 精品日本一区二区三区| 国产不卡av在线| 日韩无套无码精品| 久久久久无码国产精品一区| 熟女少妇精品一区二区| 国产精品com| 欧美在线视频一区二区| www.日韩av.com| 青青青在线观看视频| 日韩中文字幕久久| 日本不卡在线播放| 91免费版看片| 午夜精品久久久久久久99热浪潮| 国产欧美日韩最新| 在线不卡日本| 日韩在线精品视频| 欧美性受xxxx黑人猛交88| 久久精品国产电影| 精品一区在线播放| 两个人的视频www国产精品| 国产欧美精品在线播放| 亚洲国产日韩综合一区| 国产激情久久久久| 妓院一钑片免看黄大片| 亚洲五码在线观看视频| 欧美精品福利在线| 国产精品视频永久免费播放| 精品国产一区二区在线| 成人av资源网| 日韩激情视频| 欧美亚洲成人精品| 国产区一区二区| 日韩美女免费观看| 国产日韩三区| 亚洲精品久久区二区三区蜜桃臀 | 国产欧美精品一区二区三区介绍 | 国产精品视频二| 欧美性视频在线| www国产黄色| 久久久久久一区| www.欧美精品一二三区| 欧美日韩免费观看一区| 国产精品自产拍在线观看中文| 午夜一区二区三视频在线观看| 91蜜桃网站免费观看| 久久久久久国产| 不卡av电影院| 久久久久久久激情| 91九色国产在线| 99中文字幕| 国内精品伊人久久| 青草热久免费精品视频| 真实国产乱子伦对白视频| 国产精品乱码视频| 欧美一区二区综合| 精品毛片久久久久久|