Description
see
Project
Deadline: Tuesday 02/12/2025 @ 23:59
[Total Mark is 14]
Student Details:
CRN:
Name:
Name:
Name:
ID:
ID:
ID:
Instructions:
• You must submit two separate copies (one Word file and one PDF file) using the Assignment Template on
Blackboard via the allocated folder. These files must not be in compressed format.
• It is your responsibility to check and make sure that you have uploaded both the correct files.
• Zero mark will be given if you try to bypass the SafeAssign (e.g. misspell words, remove spaces between
words, hide characters, use different character sets, convert text into image or languages other than English
or any kind of manipulation).
• Email submission will not be accepted.
• You are advised to make your work clear and well-presented. This includes filling your information on the cover
page.
• You must use this template, failing which will result in zero mark.
• You MUST show all your work, and text must not be converted into an image, unless specified otherwise by
the question.
• Late submission will result in ZERO mark.
• The work should be your own, copying from students or other resources will result in ZERO mark.
• Use Times New Roman font for all your answers.
Restricted – مقيد
Description and Instructions
Pg. 01
Description and Instructions
On this project, each group of students will solve a problem to assess their
understanding of data structure. Students will work in groups of 2-3 students
then collect their work in one report to be submitted with the other project
materials.
Project Description
Welcome, zookeepers! You have been “hired” by the prestigious (but poorly
organized) City Zoo. Your mission is to design and implement “ZooKeeper’s
Pathfinder,” a software application that will model the zoo’s operations using
fundamental data structures. The goal is to evaluate your understanding of how
Arrays, ArrayLists, Stacks, Queues, Trees, and Graphs can be applied to solve
real-world problems, and to analyze the efficiency of your solutions. Successfully
completing this project will demonstrate your proficiency in implementing,
utilizing, and analyzing these core concepts.
Project Milestones
The project is divided into five core milestones. You must complete each
milestone sequentially.
Milestone 1: The Zoo Layout (Arrays & ArrayLists)
Objective: Model the physical layout of the zoo.
Restricted – مقيد
Description and Instructions
Pg. 02
•
Create a Zone class with properties zoneName (e.g., “African
Savannah”) and zoneId.
•
Create an Enclosure class with properties enclosureName, animalType,
and capacity.
•
Inside the Zone class, maintain a list of its enclosures using
an ArrayList.
•
In your main program, create an Array (or ArrayList) of Zone objects to
represent the entire zoo. Populate it with at least 3 zones, each
containing at least 2 enclosures.
Complexity Analysis: In your code comments or report, state the time
complexity (Big O) for finding a specific enclosure by name in your zoo
layout. Justify your answer based on the data structure used.
Milestone 2: The Visitor Queue (Queues)
Objective: Simulate a fair waiting system for a popular exhibit.
•
Create a Visitor class with a visitorName and ticketId.
•
Model the queue for the “Panda House” exhibit using a Queue interface
implemented with a LinkedList.
•
Implement functions to:
o
joinQueue(Visitor v): Adds a visitor to the end of the queue.
o
admitNextVisitor(): Removes and returns the visitor from the front
of the queue.
•
Complexity Analysis: What is the time complexity of
both joinQueue() and admitNextVisitor()? Explain why.
Restricted – مقيد
Description and Instructions
Pg. 03
Milestone 3: The Keeper’s Task List (Stacks)
Objective: Model a Last-In-First-Out (LIFO) task management system.
•
Create a Task class with taskDescription and isUrgent flag.
•
Model the zookeeper’s task list using a Stack.
•
Implement functions to:
o
addNewTask(Task t): Pushes a new task onto the stack.
o
completeNextTask(): Pops and returns the task from the top of
the stack.
•
Complexity Analysis: What is the time complexity of
both addNewTask() and completeNextTask()? Explain why.
Milestone 4: The Animal Family Tree (Binary Search Trees)
Objective: Represent hierarchical data for animal genealogy.
•
Create an AnimalNode class with animalName, birthYear, leftChild,
and rightChild references.
•
Build a Binary Search Tree (BST) where each node is an animal. The
BST should be ordered based on the birthYear (older animals on the
left, younger on the right).
•
Implement a function findOldestAnimal() that traverses the tree to find
and return the animal with the smallest (oldest) birthYear.
•
Complexity Analysis: What is the time complexity of
the findOldestAnimal() function in the best-case and worstcase scenarios? Justify your answer by describing the structure of the
BST in each case.
Restricted – مقيد
Description and Instructions
Pg. 04
Milestone 5: The Friendship Web (Graphs)
Objective: Map the connections between enclosures to enable pathfinding.
•
Model the zoo as a graph where each enclosure is a vertex (node).
•
Represent the paths between enclosures as edges. Use an Adjacency
List (e.g., a HashMap where the key is an
enclosure name and the value is a list of directly connected enclosures).
•
Implement a Breadth-First Search (BFS) algorithm to find and print a
valid path from the “Zoo Entrance” to a user-specified animal enclosure.
•
Complexity Analysis: What is the time complexity of your BFS
pathfinding algorithm? Explain your reasoning in terms of the number of
vertices (V) and edges (E) in the graph.
Core Deliverable: The Integrated Application
Objective: Combine all milestones into a single, interactive program.
Restricted – مقيد
•
Create a main menu in the console that allows the user to select and run
each of the five functionalities (Layout, Queue, Stack, Tree, Graph).
•
The program should not crash on invalid input and should provide clear
instructions.
Description and Instructions
Pg. 05
4. What to submit?
You must submit a single file containing:
1. All well-commented source code.
2. Screen captures of all code functionality. (grade will be deducted if no
screen cap provided)
3. Complexity analysis for each milestone.
Marking Criteria
#
Marks
1
Milestones Source code (1 for each Milestone code and 1 for
integration)
6
2
Complexity with explanation of each milestone (1 for each
milestone)
5
3
Screen Captures for each functionality
3
Total
Restricted – مقيد
Criteria
14
Purchase answer to see full
attachment