Uncategorized

Nassef’S Egyptian Pyramids App

Nassef’S Egyptian Pyramids AppYour friend Nassef
The Pyramids at Giza in Egypt in Northern Africa
The pyramids (Links to an external site.) were an engineering and mathematical achievement brought by early originators and developers of mathematics in the cradle of math, Africa. Central and pivotal Greek mathematicians like Pythagoras studied math in Africa (Links to an external site.).
What the assignment is aboutA great Egyptian treasure has been found by your good friend Nassef who you met at SJCC, and since has transferred to UCLA and is doing research at UCLA. He has researched and gained some very interesting knowledge and results in his research.
The African Egyptian pharaohs (Links to an external site.) left gold donations from an enormous treasure to build 100 pyramids around the world in various cities to honor African achievement in mathematics and science.
Since Nassef found the treasure, UCLA and the US Government have asked Nassef to help distribute the treasure and decode the hieroglyphic records which he understands fully.
Nassef is super busy doing interviews and managing many other aspects of the project.
Since he knows you are into technology, Nassef has paid you to take the Egyptians hieroglyphs (sha3) encoding, lookup the Egyptian pharaoh and their contribution and create a report with all 100 pyramids to be built so the treasure can be divided correctly. The US government will need this app to distribute the gold properly.
What to doWrite an application that implements the commands needed to distribute the gold that will pay for building 100 pyramids around the globe.
The app has the following commands and functionality:
Command
Functionality
1
List all the pharoahs
2
Displays information for a specific Egyptian pharaoh by asking the user for a pyramid id number
3
List all the pyramids and the contributors associated with them
4
Displays information for specific pyramid information by asking the user for a pyramid id number. Displays each contributor’s name, gold, and total contribution.
5
Reports a list of requested pyramids without any duplicates. In other words, if the user gets information on the same pyramid multiple times, this report only prints each pyramid once.
q
Quits the application
The menu once implemented should be a text based menu that look like this:
Hieroglyph, Pharaoh, and Pyramid ExplanationHerein we explain the json files and how the data is structured. Download the example code (.java files), pyramid json file, and pharaohs json file. Download Download the example code (.java files), pyramid json file, and pharaohs json file.
The EgyptianPyramidsAppExample.java is the source code you should edit and change to complete the assignment.
To write the app, it will need to read two json files. What follows is an explanation of these files in detail so students understand how the files work.
Pharaoh JSON File
A json file with a list of Egyptian pharaohs (pharaoh.json) from B.C and the beginning and ending dates of ruling over Egypt.
For example, in the pharaoh.json file you will find the great Pharoah Khufu (Links to an external site.) who ruled Egypt from 2551 – 2575 B.C. His contribution is 1793 gold and his hieroglyphic is fb560de8bc19833811a71a4f1f200f3cbf4efc075a6252fac178eb1d21142f85. Each pharaoh has a unique (digital) hieroglyph which is indicated to protect their identity representing the art to identify them.
Pyramid JSON File
A json file that contains all the new pyramids that should be built (pyramid.json) and the contributors associated with them and their donation to the pyramid projects in gold.
For example, the Bacon Pyramid has the unique ID # 61. The Bacon Pyramid (potentially named after Kevin Bacon?) has 2 contributors.
The contributors to the Bacon Pyramid are Pharoah’s Huni and Shepseskaf. The information for Pharoah’s Huni and Shepseskaf are in the pharoah.json file.
How to do itTask 1
Create a new GitHub repository by using GitHub desktop
Perform a GitHub commit and publish to publish your repository on GitHub.com
Task 2
Create a Maven project in your GitHub repository folder.
Run your new Maven application (App.java) and make sure it works (it should print “hello world”).
If you can’t recall how to create a Maven project properly, please review the previous “Hello World with Maven” assignment which contains detailed instructions on Maven and example videos for students.
Perform a GitHub commit and include a short concise commit message to help build up your Git history through development.
Perform a GitHub push to save your work to GitHub.com
Repeat the edit code, git commit, git push process until you have completed this task.
Task 3
Download the Egyptian pyramid example code.zip Download Egyptian pyramid example code.zipthat includes EgyptianPyramidAppExample.java example code, and the two json files, and put it into your project.
Make any changes to code file paths that are needed to get the EgyptianPyramidAppExample.java to run on your computer. This example code reads both JSON files and implements the list of all pharaohs commands and quit for you.
If you have not yet learned what a “path” is, there is a really good extra credit module in Canvas on “folders, files, and paths” I created to help students. Please consider doing this extra credit as this knowledge is fundamental.
The example code is example code provides to give students a head start. Students do not have to use it. Students can write their solutions from scratch if they wish to.
Edit your code by making small incremental changes.
For each small change, perform a GitHub commit and include a short concise commit message.
Perform a GitHub push to save your work to GitHub.com
Repeat the change/edit code, git commit, git push process until you have completed this task.
Task 4
Implement the menu without any of the commands working.
Edit your code by making small incremental changes.
For each small change, perform a GitHub commit and include a short concise commit message.
Perform a GitHub push to save your work to GitHub.com
Repeat the change/edit code, git commit, git push process until you have completed this task.
Task 5
Implement the quit command.
Edit your code by making small incremental changes.
For each small change, perform a GitHub commit and include a short concise commit message.
Perform a GitHub push to save your work to GitHub.com
Repeat the change/edit code, git commit, git push process until you have completed this task.
Task 6
Implement the “list all pharaohs” 1 command.
Edit your code by making small incremental changes.
For each small change, perform a GitHub commit and include a short concise commit message.
Perform a GitHub push to save your work to GitHub.com
Repeat the change/edit code, git commit, git push process until you have completed this task.
Task 7
Implement the “display a specific pharoah” 2 command.
Edit your code by making small incremental changes.
For each small change, perform a GitHub commit and include a short concise commit message.
Perform a GitHub push to save your work to GitHub.com
Repeat the change/edit code, git commit, git push process until you have completed this task.
Task 8
Finish implementing the rest of the commands and features.
Edit your code by making small incremental changes.
For each small change, perform a GitHub commit and include a short concise commit message.
Perform a GitHub push to save your work to GitHub.com
Repeat the change/edit code, git commit, git push process until you have completed this task.
Task 10
Students need to use this example assignment .docx file when submitting this assignment to make submission simple, organized, and straight forward for students.
If it is used, students simply need to delete my examples, put in your work, save the .docx file as a pdf, and submit the pdf
Submit your assignment.
TipsConsider using a stack data structure for undo and a stack for redo. Undo and redo require the “last command” or previous command to be recalled. Stacks are last-in-first-out data structures.
Test your code for edge casesIssue several commands and then undo commands until no more commands can be undone. Does your app work?
Issue several commands, undo several commands, then redo commands until no more commands can be redone. Does your app work?

https://en.wikipedia.org/wiki/Pyramid
https://en.wikipedia.org/wiki/Pythagoras
https://www.metmuseum.org/toah/hd/phar/hd_phar.htm
https://en.wikipedia.org/wiki/Khufu
this is my link folder : C:UsersPublicGitHub

Leave a Reply

Your email address will not be published. Required fields are marked *