1/24/25, 5:43 PM WGU Performance Assessment
NHP3 — NHP3 TASK 2: WGUPS ROUTING PROGRAM
IMPLEMENTATION
DATA STRUCTURES AND ALGORITHMS II — C950
PRFA — NHP3
Task Overview Submissions Evaluation Report
COMPETENCIES
4048.5.1 : Non-Linear Data Structures
The graduate creates software applications that incorporate non-linear data structures for efficient and
maintainable software.
4048.5.2 : Hashing Algorithms and Structures
The graduate writes code using hashing techniques within an application to perform searching operations.
4048.5.5 : Self-Adjusting Heuristics
The graduate writes code using self-adjusting heuristics to improve the performance of applications.
INTRODUCTION
For Tasks 1 and 2, you will apply the algorithms and data structures you studied in this course to
solve a real programming problem. You will also implement an algorithm to route delivery trucks
that will allow you to meet all delivery constraints while traveling under 140 miles. You will then
describe and justify the decisions you made while creating this program.
The skills you showcase in your completed project may be useful in responding to technical
interview questions for future employment. This project may also be added to your portfolio to show
to future employers.
SCENARIO
This task is the implementation phase of the WGUPS Routing Program.
The Western Governors University Parcel Service (WGUPS) needs to determine an efficient route and
delivery distribution for their daily local deliveries (DLD) because packages are not currently being
consistently delivered by their promised deadline. The Salt Lake City DLD route has three trucks,
two drivers, and an average of 40 packages to deliver each day. Each package has specific criteria
and delivery requirements that are listed in the attached “WGUPS Package File.”
Your task is to determine an algorithm, write code, and present a solution where all 40 packages will
be delivered on time while meeting each package’s requirements and keeping the combined total
distance traveled under 140 miles for all trucks. The specific delivery locations are shown on the
attached “Salt Lake City Downtown Map,” and distances to each location are given in the attached
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 1/9
1/24/25, 5:43 PM WGU Performance Assessment
“WGUPS Distance Table.” The intent is to use the program for this specific location and also for many
other cities in each state where WGU has a presence. As such, you will need to include detailed
comments to make your code easy to follow and to justify the decisions you made while writing your
scripts.
The supervisor should be able to see, at assigned points, the progress of each truck and its
packages by any of the variables listed in the “WGUPS Package File,” including what has been
delivered and at what time the delivery occurred.
ASSUMPTIONS
• Each truck can carry a maximum of 16 packages, and the ID number of each package is unique.
• The trucks travel at an average speed of 18 miles per hour and have an infinite amount of gas
with no need to stop.
• There are no collisions.
• Three trucks and two drivers are available for deliveries. Each driver stays with the same truck as
long as that truck is in service.
• Drivers leave the hub no earlier than 8:00 a.m., with the truck loaded, and can return to the hub
for packages if needed.
• The delivery and loading times are instantaneous (i.e., no time passes while at a delivery or when
moving packages to a truck at the hub). This time is factored into the calculation of the average
speed of the trucks.
• There is up to one special note associated with a package.
• The delivery address for package #9, Third District Juvenile Court, is wrong and will be corrected
at 10:20 a.m. WGUPS is aware that the address is incorrect and will be updated at 10:20 a.m.
However, WGUPS does not know the correct address (410 S. State St., Salt Lake City, UT 84111)
until 10:20 a.m.
• The distances provided in the “WGUPS Distance Table” are equal regardless of the direction
traveled.
• The day ends when all 40 packages have been delivered.
REQUIREMENTS
Your submission must be your original work. No more than a combined total of 30% of the submission and no
more than a 10% match to any one individual source can be directly quoted or closely paraphrased from
sources, even if cited correctly. The similarity report that is provided when you submit your task can be used
as a guide.
You must use the rubric to direct the creation of your submission because it provides detailed criteria that
will be used to evaluate your work. Each requirement below may be evaluated by more than one rubric
aspect. The rubric aspect titles may contain hyperlinks to relevant portions of the course.
Tasks may not be submitted as cloud links, such as links to Google Docs, Google Slides, OneDrive, etc., unless
specified in the task requirements. All other submissions must be file types that are uploaded and submitted
as attachments (e.g., .docx, .pdf, .ppt).
Note: Use only appropriate built-in data structures, except dictionaries. You must design, write, implement,
and debug all code that you turn in for this assessment. Code downloaded from the internet or acquired from
another student or any other source may not be submitted and will result in automatic failure of this
assessment.
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 2/9
1/24/25, 5:43 PM WGU Performance Assessment
A. Develop a hash table, without using any additional libraries or classes, that has an insertion function that
takes the package ID as input and inserts each of the following data components into the hash table:
• delivery address
• delivery deadline
• delivery city
• delivery zip code
• package weight
• delivery status (i.e., at the hub, en route, or delivered), including the delivery time
B. Develop a look-up function that takes the package ID as input and returns each of the following
corresponding data components:
• delivery address
• delivery deadline
• delivery city
• delivery zip code
• package weight
• delivery status (i.e., at the hub, en route, or delivered), including the delivery time
C. Write an original program that will deliver all packages and meet all requirements using the attached
supporting documents “Salt Lake City Downtown Map,” “WGUPS Distance Table,” and “WGUPS Package
File.”
1. Create an identifying comment within the first line of a file named “main.py” that includes your student
ID.
2. Include comments in your code to explain both the process and the flow of the program.
D. Provide an intuitive interface for the user to view the delivery status (including the delivery time) of any
package at any time and the total mileage traveled by all trucks. (The delivery status should report the
package as at the hub, en route, or delivered. Delivery status must include the time.)
1. Provide screenshots to show the status of all packages loaded onto each truck at a time between 8:35
a.m. and 9:25 a.m.
2. Provide screenshots to show the status of all packages loaded onto each truck at a time between 9:35
a.m. and 10:25 a.m.
3. Provide screenshots to show the status of all packages loaded onto each truck at a time between 12:03
p.m. and 1:12 p.m.
E. Provide screenshots showing successful completion of the code that includes the total mileage traveled by
all trucks.
F. Justify the package delivery algorithm used in the solution as written in the original program by doing the
following:
1. Describe two or more strengths of the algorithm used in the solution.
2. Verify that the algorithm used in the solution meets all requirements in the scenario.
3. Identify two other named algorithms that are different from the algorithm implemented in the solution
and would meet all requirements in the scenario.
a. Describe how both algorithms identified in part F3 are different from the algorithm used in the
solution.
G. Describe what you would do differently, other than the two algorithms identified in part F3, if you did this
project again, including details of the modifications that would be made.
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 3/9
1/24/25, 5:43 PM WGU Performance Assessment
H. Verify that the data structure used in the solution meets all requirements in the scenario.
1. Identify two other data structures that could meet the same requirements in the scenario.
a. Describe how each data structure identified in H1 is different from the data structure used in the
solution.
I. Acknowledge sources, using in-text citations and references, for content that is quoted, paraphrased, or
summarized.
J. Demonstrate professional communication in the content and presentation of your submission.
File Restrictions
File name may contain only letters, numbers, spaces, and these symbols: ! - _ . * ' ( )
File size limit: 200 MB
File types allowed: doc, docx, rtf, xls, xlsx, ppt, pptx, odt, pdf, csv, txt, qt, mov, mpg, avi, mp3, wav, mp4, wma, flv, asf,
mpeg, wmv, m4v, svg, tif, tiff, jpeg, jpg, gif, png, zip, rar, tar, 7z
RUBRIC
A. :HASH TABLE
NOT EVIDENT APPROACHING COMPETENT
A hash table is not provided. COMPETENCE The hash table is free from errors
The hash table contains errors and has an insertion function,
or has an insertion function with without using any additional li‐
additional libraries or classes, or braries or classes, that takes the
it does not take the package ID package ID as input and inserts
as input. Or the insertion func‐ each of the given data
tion does not insert 1 or more of components.
the given data components.
B. :LOOK-UP FUNCTION
NOT EVIDENT APPROACHING COMPETENT
A look-up function is not COMPETENCE The look-up function completes
provided. The look-up function does not without runtime errors and takes
complete, or it completes with the package ID as input and re‐
runtime errors. Or it does not turns each of the given data
take the package ID as input, or components.
it does not return 1 or more of
the given data components.
C. :ORIGINAL CODE
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 4/9
1/24/25, 5:43 PM WGU Performance Assessment
NOT EVIDENT APPROACHING COMPETENT
An original program is not COMPETENCE The program and code are origi‐
provided. The program and code are origi‐ nal. They run without errors or
nal, but they run with errors or warnings, delivers all packages,
warnings. Or they do not deliver and meets all requirements.
1 or more packages or do not
meet 1 or more requirements.
C1. :IDENTIFICATION INFORMATION
NOT EVIDENT APPROACHING COMPETENT
An identifying comment is not COMPETENCE The identifying comment is locat‐
provided. The identifying comment is ed within the first line of a file
missing from the first line of a named “main.py” that includes
file named “main.py,” the file is the student ID.
not named “main.py,” or the com‐
ment is missing the student ID,
or 1 or more of these elements is
incorrect.
C2. :PROCESS AND FLOW COMMENTS
NOT EVIDENT APPROACHING COMPETENT
The code does not include COMPETENCE The code includes detailed com‐
comments. The code does not include de‐ ments that accurately explain
tailed comments, or the com‐ both the process and the flow of
ments do not accurately explain the program.
either the process or the flow of
the program. Or comments are
missing for either the process or
the flow of the program.
D. :INTERFACE
NOT EVIDENT APPROACHING COMPETENT
An interface is not provided. COMPETENCE The interface provides an intu‐
The interface does not provide itive means for the user to both
an intuitive means for the user view the delivery status and for
to either view the delivery sta‐ the user to determine the total
tus or for the user to determine mileage traveled by all trucks.
the total mileage traveled by 1 The delivery status includes the
or more trucks. Or the delivery delivery time.
status is missing the delivery
time.
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 5/9
1/24/25, 5:43 PM WGU Performance Assessment
D1. :FIRST STATUS CHECK
NOT EVIDENT APPROACHING COMPETENT
A screenshot of the first status COMPETENCE The screenshots provided cap‐
check is not provided. The screenshots provided do ture all packages loaded onto
not capture 1 or more packages each truck and they capture the
loaded onto each truck, or 1 or status of each package at a time
more trucks is missing. Or they between 8:35 a.m. and 9:25 a.m.
do not capture the status of 1 or
more packages at a time be‐
tween 8:35 a.m. and 9:25 a.m.
D2. :SECOND STATUS CHECK
NOT EVIDENT APPROACHING COMPETENT
A screenshot of the second sta‐ COMPETENCE The screenshots provided cap‐
tus check is not provided. The screenshots provided do ture all packages loaded onto
not capture 1 or more packages each truck and they capture the
loaded onto each truck, or 1 or status of each package at a time
more trucks is missing. Or they between 9:35 a.m. and 10:25 a.m.
do not capture the status of 1 or
more packages at a time be‐
tween 9:35 a.m. and 10:25 a.m.
D3. :THIRD STATUS CHECK
NOT EVIDENT APPROACHING COMPETENT
A screenshot of the third status COMPETENCE The screenshots provided cap‐
check is not provided. The screenshots provided do ture all packages loaded onto
not capture 1 or more packages each truck and they capture the
loaded onto each truck, or 1 or status of each package at a time
more trucks is missing. Or they between 12:03 p.m. and 1:12
do not capture the status of 1 or p.m.
more packages at a time be‐
tween 12:03 p.m. and 1:12 p.m.
E. :SCREENSHOTS OF CODE EXECUTION
NOT EVIDENT APPROACHING COMPETENT
A screenshot that shows a com‐ COMPETENCE The screenshots capture a com‐
plete execution of the code is The screenshots capture an in‐ plete execution of the code that
not provided. complete execution of the code, is free from runtime errors or
or they capture runtime errors warnings and include the total
or warnings. Or the screenshots mileage traveled by all trucks.
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 6/9
1/24/25, 5:43 PM WGU Performance Assessment
do not capture the total mileage
traveled by 1 or more trucks.
F1. :STRENGTHS OF THE CHOSEN ALGORITHM
NOT EVIDENT APPROACHING COMPETENT
A description of the strengths of COMPETENCE The description accurately ex‐
the algorithm used in the solu‐ The description does not accu‐ plains 2 or more strengths of the
tion is not provided. rately explain 1 or more algorithm used in the solution.
strengths of the algorithm used
in the solution.
F2. :VERIFICATION OF ALGORITHM
NOT EVIDENT APPROACHING COMPETENT
The submission does not verify COMPETENCE The submission verifies that the
the algorithm used in the The submission does not verify algorithm used in the solution
solution. that the algorithm used in the meets all requirements in the
solution meets 1 or more re‐ scenario.
quirements in the scenario.
F3. :OTHER POSSIBLE ALGORITHMS
NOT EVIDENT APPROACHING COMPETENT
The submission does not identi‐ COMPETENCE The submission identifies 2 algo‐
fy 2 other algorithms. The submission identifies 2 algo‐ rithms different from the one
rithms different from the one used in the solution, and both al‐
used in the solution, but 1 or gorithms meet all requirements
both algorithms do not meet all in the scenario.
requirements in the scenario.
F3A. :ALGORITHM DIFFERENCES
NOT EVIDENT APPROACHING COMPETENT
A description of how the algo‐ COMPETENCE The description thoroughly and
rithms are different is not The description is missing de‐ accurately compares how both
provided. tails, or it does not accurately algorithms identified in part F3
compare how 1 or both algo‐ are different from the algorithm
rithms identified in part F3 are used in the solution.
different from the algorithm
used in the solution.
G. :DIFFERENT APPROACH
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 7/9
1/24/25, 5:43 PM WGU Performance Assessment
NOT EVIDENT APPROACHING COMPETENT
A description of what would be COMPETENCE The description appropriately ex‐
done differently is not provided. The description does not appro‐ plains what would be done differ‐
priately explain what would be ently and includes details of the
done differently, or it does not modifications that would be
include details of the modifica‐ made.
tions that would be made.
H. :VERIFICATION OF DATA STRUCTURE
NOT EVIDENT APPROACHING COMPETENT
The submission does not verify COMPETENCE The submission verifies the data
the data structure used in the The submission does not verify structure used in the solution
solution. the data structure used in the meets all requirements in the
solution meets 1 or more re‐ scenario.
quirements in the scenario.
H1. :OTHER DATA STRUCTURES
NOT EVIDENT APPROACHING COMPETENT
The submission does not identi‐ COMPETENCE The submission identifies 2 data
fy 2 other data structures. The submission identifies 2 data structures that are different from
structures that are different the one used in the solution, and
from the one used in the solu‐ both data structures meet all re‐
tion, but 1 or both data struc‐ quirements in the scenario.
tures do not meet all require‐
ments in the scenario.
H1A. :DATA STRUCTURE DIFFERENCES
NOT EVIDENT APPROACHING COMPETENT
A description that compares COMPETENCE The description thoroughly and
how the data structures are dif‐ The description is missing de‐ accurately compares how each
ferent is not provided. tails, or it does not accurately data structure identified in H1 is
compare how 1 or more data different from the data structure
structures identified in H1 is dif‐ used in the solution.
ferent from the data structure
used in the solution.
I. :SOURCES
NOT EVIDENT APPROACHING COMPETENT
The submission does not include COMPETENCE The submission includes in-text
both in-text citations and a ref‐ citations for sources that are
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 8/9
1/24/25, 5:43 PM WGU Performance Assessment
erence list for sources that are The submission includes in-text properly quoted, paraphrased, or
quoted, paraphrased, or citations for sources that are summarized and a reference list
summarized. quoted, paraphrased, or summa‐ that accurately identifies the au‐
rized and a reference list; how‐ thor, date, title, and source loca‐
ever, the citations or reference tion as available.
list is incomplete or inaccurate.
J. :PROFESSIONAL COMMUNICATION
NOT EVIDENT APPROACHING COMPETENT
This submission includes profes‐ COMPETENCE This submission demonstrates
sional communication errors re‐ This submission includes profes‐ correct use of spelling, grammar,
lated to spelling, grammar, punc‐ sional communication errors re‐ punctuation, and sentence fluen‐
tuation, and sentence fluency. lated to spelling, grammar, punc‐ cy. You have demonstrated quali‐
For best results, please focus on tuation, and/or sentence fluency. ty professional communication
the specific Correctness errors For best results, please focus on skills in this submission.
identified by Grammarly for the specific Correctness errors
Education to help guide your re‐ identified by Grammarly for
visions. If you need additional Education to help guide your
assistance preparing your sub‐ revisions.
mission, please contact your
Instructor.
SUPPORTING DOCUMENTS
Sample Core Algorithm Overview.docx
SLC downtown map.docx
WGUPS Distance Table.xlsx
WGUPS Package File.xlsx
https://tasks.wgu.edu/student/007137782/course/30860017/task/4042/overview 9/9