1/24/25, 5:42 PM WGU Performance Assessment
NHP3 — NHP3 TASK 1: WGUPS ROUTING PROGRAM
PLANNING
DATA STRUCTURES AND ALGORITHMS II — C950
PRFA — NHP3
Task Overview Submissions Evaluation Report
COMPETENCIES
4048.5.3 : Dictionaries and Sets
The graduate incorporates dictionaries and sets in order to organize data into key-value pairs.
4048.5.4 : Self-Adjusting Data Structures
The graduate evaluates the space and time complexity of self-adjusting data structures using big-O notation
to improve the performance of applications.
4048.5.6 : NP-Completeness and Turing Machines
The graduate evaluates computational complexity theories in order to apply models to specific scenarios.
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 planning 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
https://tasks.wgu.edu/student/007137782/course/30860017/task/4041/overview 1/6
1/24/25, 5:42 PM WGU Performance Assessment
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 “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).
A. Identify a named self-adjusting algorithm (e.g., nearest neighbor algorithm, greedy algorithm) that could
be used to create your program to deliver the packages.
https://tasks.wgu.edu/student/007137782/course/30860017/task/4041/overview 2/6
1/24/25, 5:42 PM WGU Performance Assessment
B. Identify a self-adjusting data structure, such as a hash table, that could be used with the algorithm
identified in part A to store the package data.
1. Explain how your data structure accounts for the relationship between the data components you are
storing.
C. Write an overview of your program in which you do the following:
1. Explain the algorithm’s logic using pseudocode.
Note: You may refer to the attached “Sample Core Algorithm Overview” to complete part C1.
2. Describe the programming environment you will use to create the Python application, including both
the software and hardware you will use.
3. Evaluate the space-time complexity of each major segment of the program and the entire program
using big-O notation.
4. Explain the capability of your solution to scale and adapt to a growing number of packages.
5. Discuss why the software design would be efficient and easy to maintain.
6. Describe both the strengths and weaknesses of the self-adjusting data structure (e.g., the hash table).
7. Justify the choice of a key for efficient delivery management from the following components:
• delivery address
• delivery deadline
• delivery city
• delivery zip code
• package ID
• package weight
• delivery status (i.e., at the hub, en route, or delivered), including the delivery time
D. Acknowledge sources, using in-text citations and references, for content that is quoted, paraphrased, or
summarized.
E. 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. :ALGORITHM IDENTIFICATION
NOT EVIDENT APPROACHING COMPETENT
A named self-adjusting algo‐ COMPETENCE The named self-adjusting algo‐
rithm is not identified. The named self-adjusting algo‐ rithm identified would be appro‐
rithm identified would not be
https://tasks.wgu.edu/student/007137782/course/30860017/task/4041/overview 3/6
1/24/25, 5:42 PM WGU Performance Assessment
appropriate to use to create a priate to use to create a program
program to deliver the packages. to deliver the packages.
B. :DATA STRUCTURE IDENTIFICATION
NOT EVIDENT APPROACHING COMPETENT
A self-adjusting data structure is COMPETENCE The self-adjusting data structure
not identified. The self-adjusting data structure identified would be appropriate
identified would not be appro‐ to use with the algorithm identi‐
priate to use with the algorithm fied in part A to store the pack‐
identified in part A to store the age data.
package data.
B1. :EXPLANATION OF DATA STRUCTURE
NOT EVIDENT APPROACHING COMPETENT
An explanation about how the COMPETENCE The explanation thoroughly and
data structure accounts for the The explanation is missing de‐ accurately describes how the
relationship between the data tails or does not accurately de‐ data structure accounts for the
components being stored is not scribe how the data structure relationship between the data
provided. accounts for the relationship be‐ components being stored.
tween the data components be‐
ing stored.
C1. :ALGORITHM’S LOGIC
NOT EVIDENT APPROACHING COMPETENT
An explanation in pseudocode is COMPETENCE The explanation in pseudocode
not provided. The explanation in pseudocode accurately describes the algo‐
does not accurately describe the rithm’s logic.
algorithm’s logic.
C2. :DEVELOPMENT ENVIRONMENT
NOT EVIDENT APPROACHING COMPETENT
A description of the program‐ COMPETENCE The description accurately ex‐
ming environment is not The description does not accu‐ plains the programming environ‐
provided. rately explain the programming ment that will be used to create
environment that will be used to the Python application. The de‐
create the Python application. scription includes both the soft‐
Or the description is missing an ware and hardware that will be
explanation of the software or used.
hardware that will be used.
https://tasks.wgu.edu/student/007137782/course/30860017/task/4041/overview 4/6
1/24/25, 5:42 PM WGU Performance Assessment
C3. :SPACE-TIME COMPLEXITY USING BIG-O NOTATION
NOT EVIDENT APPROACHING COMPETENT
An evaluation of the space-time COMPETENCE The evaluation uses big-O nota‐
complexity using big-O notation The evaluation does not use big- tion and accurately determines
is not provided. O notation, or it does not accu‐ the space-time complexity of
rately determine the space-time each major segment of the pro‐
complexity of 1 or more major gram and the entire program.
segments of the program. Or an
evaluation is missing for space,
time, or the entire program.
C4. :SCALABILITY AND ADAPTABILITY
NOT EVIDENT APPROACHING COMPETENT
An explanation of the capability COMPETENCE The explanation thoroughly and
of the solution to scale and The explanation is missing de‐ accurately describes the capabili‐
adapt to a growing number of tails, or it does not accurately ty of the solution to scale and
packages is not provided. describe the capability of the so‐ adapt to a growing number of
lution to scale and adapt to a packages.
growing number of packages.
C5. :SOFTWARE EFFICIENCY AND MAINTAINABILITY
NOT EVIDENT APPROACHING COMPETENT
A discussion about why the soft‐ COMPETENCE The discussion accurately ex‐
ware design would be efficient The discussion does not accu‐ plains why the software design
and easy to maintain is not rately explain why the software would be efficient and easy to
provided. design would be efficient or why maintain.
it would be easy to maintain.
C6. :SELF-ADJUSTING DATA STRUCTURES
NOT EVIDENT APPROACHING COMPETENT
A description of the strengths COMPETENCE The description thoroughly and
and weaknesses of the self-ad‐ The description is missing de‐ accurately explains both the
justing data structure is not tails, or it does not accurately strengths and weaknesses of the
provided. explain both the strengths and self-adjusting data structure.
weaknesses of the self-adjusting
data structure. Or a description
is missing for the strengths or
the weaknesses.
C7. :DATA KEY
https://tasks.wgu.edu/student/007137782/course/30860017/task/4041/overview 5/6
1/24/25, 5:42 PM WGU Performance Assessment
NOT EVIDENT APPROACHING COMPETENT
A justification of the key choice COMPETENCE The justification of the key choice
is not provided. The justification of the key appropriately addresses efficient
choice is provided, but it does delivery management.
not appropriately address effi‐
cient delivery management.
D. :SOURCES
NOT EVIDENT APPROACHING COMPETENT
The submission does not include COMPETENCE The submission includes in-text
both in-text citations and a ref‐ The submission includes in-text citations for sources that are
erence list for sources that are citations for sources that are properly quoted, paraphrased, or
quoted, paraphrased, or quoted, paraphrased, or summa‐ summarized and a reference list
summarized. rized and a reference list; how‐ that accurately identifies the au‐
ever, the citations or reference thor, date, title, and source loca‐
list is incomplete or inaccurate. tion as available.
E. :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/4041/overview 6/6