Overview
One of the problems that Julius Caesar faced while expanding the Roman Empire was communicating with his generals in a secure manner—so that someone else reading the messages would not be able to understand them but that his generals could. Caesar came up with the idea of encoding his messages by simply shifting each letter to the right in the alphabet. Caesar selected a shift amount (the Key) of 3. Thus, A becomes D, B becomes E, and so forth. Nonletters are left alone. To decode a message, the letters shift to the left by 3. So, F becomes C, G becomes D, and so on. In Caesar’s time, this kind of coding (called a substitution code) was essentially unknown. Caesar was able to communicate his battle plans securely. Note: Today this kind of encryption is far too easily broken to be used.
Implementation Notes
To implement a Caesar Cipher translation scheme in Java, you will need to acquire the Key to be used and the text string to be translated. You’ll need to access the characters in the String one-by-one. Use the String.charAt() method to do this. You’ll need to translate each letter using the Key, leaving nonletters alone. You can use the Character.isLetter() method to determine whether a given character is a letter. You’ll need to use exception handling to deal with the case of a nonnumeric Key.
The Key and the String should be on one line, as illustrated. Implement the heart of the program as a method, called “translate.” It should have the following declaration: public static String translate(String inText, int key)
Following is an example of a portion of what your program’s output might look like:
Input key
Translated: AbCd
Input key
Translated: Uftujoh, 1-2-3.
Input key
Translated: Testing, 1-2-3.
Input key
Bad key. Not in -3..+3
Input key
In this assignment, you will build a program that implements the Caesar Cipher algorithm. You must build a method called translate—public static String translate(String inText, int key)—that accepts the provided text and Key. It then uses the Caesar Cipher algorithm to translate inText into a String, called outText, which is what the method returns. If Key is greater than zero, then every character in inText is “shifted” to the right in the alphabet by Key characters. For example, if Key = 1, then “ABC” becomes “BCD.” If key is less than zero, then every character in inText is “shifted” to the left by Key characters. For example, if Key = –2, then “DEF” becomes “BCD.” The key value is guaranteed to be in the range –3..+3.
Translate must be a method with the header/signature shown above.
You also need to build a “driver”—it’s the main method—which does the following:
It displays an appropriate title message.
It repeatedly requests input:
It calls translate() to translate the text using the Key.
It then displays the resulting text.
It repeats steps 2–4 until a Key value > –3 or < –3 is encountered.
Invalid Keys (nonnumeric) are dealt with using exception handling; the program then continues.
Note: Translate both encodes(key > 0) and decodes (key < 0)
Resources
Introduction to Programming, NetBeans, Java, JavaFX Outline [DOCX] Download Introduction to Programming, NetBeans, Java, JavaFX Outline [DOCX].
Glossary of Java Keywords and TerminologyLinks to an external site..
01. Introduction.Links to an external site. | Transcript (2020).
02. ProgrammingLinks to an external site.. | Transcript (2020).
03. NetBeans.Links to an external site. | Transcript (2020).
04. Java, part 1.Links to an external site. | Transcript (2020).
05. Java, part 2.Links to an external site. | Transcript (2020).
06. Java, part 3.Links to an external site. | Transcript (2020).
07. Java, part 4.Links to an external site. | Transcript (2020).
08. Java, part 5.Links to an external site. | Transcript (2020).
09. Java, part 6.Links to an external site. | Transcript (2020).
10. Java, part 7.Links to an external site. | Transcript (2020).
11. Java, part 8.Links to an external site. | Transcript (2020).
Week 1 Sample Code [ZIP].
Assignment Instructions
Complete the following steps to build a program that implements the Caesar Cipher algorithm.
Build a translate method—public static String translate(String inText, int key)—that accepts the provided text and Key.Translate must be a method with the header/signature shown above.
Build a driver method.
Take sufficient screen shots to demonstrate that your program meets all requirements.Include the execution output of your program to convince a reader that it functions properly—both encoding and decoding messages.
Test your program with both positive and negative Key values and text strings containing both alphabetic and nonalphabetic characters.
Paste these screen shots into an MS Word document.
For your final test, you use must use the following input: “–3 Zh, wkh 42 shrsoh, ri wkh . . .”
Create a .zip file containing your NetBeans Caesar Cipher project.Before zipping your project, right-click the project and "clean" it. This greatly reduces the file size and speeds up the program's performance.
Then close NetBeans.
Add the MS Word document with your screenshots to your .zip file.
Submit your cleaned Caesar Cipher project in an appropriately constructed and correctly named .zip file.Name your .zip file following this pattern: LastName_Week1.zip.
Deliverable
Submit a single .zip file with your Caesar Cipher project files and MS Word screenshot document by 11:59 p.m. on Sunday of this week. Do not submit multiple files.
Competencies Measured
By successfully completing this assignment, you will demonstrate your proficiency in the following course competencies and scoring guide criteria:
Competency 1: Apply the logical constructs of programming to the design and coding of application programs using a modern scripting or programming language.Write a Java translate method that implements the Caesar Cipher algorithm.
Write a main method that drives translate().
Provide appropriate inline comments, as well as an initial comment block.
Demonstrate that the program handles expected key values correctly (–3, 3), as well as nonnumeric keys.
Provide sufficient screenshots to demonstrate that the program meets all requirements.
Competency 2: Implement an engaging user interface using modern technology to connect the interface to a back-end database that supports user requirements.Package a cleaned project in an appropriately constructed and correctly named .zip file.
View Rubric
Week 1 Assignment: Learning to Program Using Java
Week 1 Assignment: Learning to Program Using Java
CriteriaRatingsPts
Write a Java translate method that implements the Caesar Cipher algorithm.view longer description
16 to >13.6 pts
DISTINGUISHED
Writes a Java translate method that implements the Caesar Cipher algorithm that is error free.13.6 to >11.2 pts
PROFICIENT
Writes a Java translate method that implements the Caesar Cipher algorithm.11.2 to >0 pts
BASIC
Writes a Java translate method that implements the Caesar Cipher algorithm, but the method has several errors.0 pts
NON_PERFORMANCE
Does not write a Java translate method that implements the Caesar Cipher algorithm./ 16 pts
Write a main method that drives translate().
view longer description
12.8 to >10.88 pts
DISTINGUISHED
Writes a main method that drives translate() that is error free.10.88 to >8.96 pts
PROFICIENT
Writes a main method that drives translate().8.96 to >0 pts
BASIC
Writes a main method that drives translate(), but the method has errors.0 pts
NON_PERFORMANCE
Does not write a main method that drives translate()./ 12.8 pts
Provide appropriate inline comments, as well as an initial comment block.
view longer description
12.8 to >10.88 pts
DISTINGUISHED
Provides appropriate inline comments that are concisely written, as well as an initial comment block.10.88 to >8.96 pts
PROFICIENT
Provides appropriate inline comments, as well as an initial comment block.8.96 to >0 pts
BASIC
Provides inline comments, as well as an initial comment block, but the comments are not appropriate or are missing key details.0 pts
NON_PERFORMANCE
Does not provide appropriate inline comments, as well as an initial comment block./ 12.8 pts
Demonstrate that the program handles expected key values correctly (–3, 3), as well as nonnumeric keys.
view longer description
12.8 to >10.88 pts
DISTINGUISHED
Demonstrates that the program handles expected key values correctly (–3, 3), as well as nonnumeric keys without errors.10.88 to >8.96 pts
PROFICIENT
Demonstrates that the program handles expected key values correctly (–3, 3), as well as nonnumeric keys.8.96 to >0 pts
BASIC
Demonstrates that the program handles expected key values correctly (–3, 3), as well as nonnumeric keys, but some of the tests did not pass.0 pts
NON_PERFORMANCE
Does not demonstrate that the program handles expected key values correctly (–3, 3), as well as nonnumeric keys./ 12.8 pts
Provide sufficient screen shots to demonstrate that the program meets all requirements.
view longer description
12.8 to >10.88 pts
DISTINGUISHED
Provides sufficient screen shots that are organized logically to demonstrate the program meets all requirements.10.88 to >8.96 pts
PROFICIENT
Provides sufficient screen shots to demonstrate the program meets all requirements.8.96 to >0 pts
BASIC
Provides screen shots to demonstrate the program meets some requirements.0 pts
NON_PERFORMANCE
Does not provide sufficient screen shots to demonstrate the program meets all requirements./ 12.8 pts
Package a cleaned project in an appropriately constructed and correctly named .zip file.
view longer description
12.8 to >10.88 pts
DISTINGUISHED
Packages a cleaned project in an appropriately constructed and correctly named .zip file that is error free.10.88 to >8.96 pts
PROFICIENT
Packages a cleaned project in an appropriately constructed and correctly named .zip file.8.96 to >0 pts
BASIC
Packages a cleaned project in a somewhat appropriately constructed and correctly named .zip file.0 pts
NON_PERFORMANCE
Does not package a cleaned project in an appropriately constructed and correctly named .zip
2.Read the requirements for all related course activities before completing this lab. Take notes as needed as you complete the lab to help you complete those activities.
Select the linked title heading above to access a lab arranged through the textbook publisher.
Follow the lab instructions carefully.
Download the Assignment Template found in the Resources and use it for both your lab screenshots and your assignment responses
By now you should have completed the labs in the Virtual Resource Activity for this unit and saved your screenshots to a Word document for submission with this assignment.Overview
Information security personnel need to have an in-depth understanding of network defense concepts and techniques, including firewalls. In this assignment you apply your knowledge of how firewalls protect information assets against attacks traversing internal and external enterprise networks.Directions
Consider your lab work and studies to address each of the following in the Word document that contains your lab screenshots. Clearly label each section.Describe briefly what you learned or observed in the lab and include it in the section with your screenshots. Be specific.
Create a diagram depicting how a firewall system can be effectively integrated into a typical enterprise network. Note: There can be multiple devices in a well-protected network. Explain the rationale for device placement(s). The network should include:Switches.
Router(s).
Server(s).
Firewall(s).
DMZ.
Compare and contrast the primary features of pfSense and Windows Defender firewalls. Explain why one firewall may be more appropriate than the other for a large enterprise network.
Submission Instructions
Submit your assignment in a Word document with well-labeled responses.View RubricWeek 1 Assignment – Enterprise FirewallsWeek 1 Assignment – Enterprise FirewallsCriteriaRatingsPtsConfigure a pfSense firewall on the client as specified in a lab and evidenced by screenshots.view longer description13.6 to >11.56 ptsDISTINGUISHEDConfigures a pfSense firewall on the client as specified in a lab and evidenced by screenshots and includes a description of what was learned from or observed in the lab.11.56 to >9.52 ptsPROFICIENTConfigures a pfSense firewall on the client as specified in a lab and evidenced by screenshots.9.52 to >0 ptsBASICConfigures a pfSense firewall on the client in an unspecified way, or does not complete the lab.0 ptsNON_PERFORMANCEDoes not configure a pfSense firewall on the client in a lab and evidenced by screenshots./ 13.6 ptsCreate a diagram depicting an enterprise network with an effectively integrated firewall system.view longer description13.6 to >11.56 ptsDISTINGUISHEDCreates a clear diagram depicting an enterprise network with an elegantly integrated firewall system that shows a clear understanding and ability to communicate firewall system integration.11.56 to >9.52 ptsPROFICIENTCreates a diagram depicting an enterprise network with an effectively integrated firewall system.9.52 to >0 ptsBASICCreates a diagram depicting an enterprise network with an ineffectively integrated firewall system. Or, creates a diagram that is unclear or confusing.0 ptsNON_PERFORMANCEDoes not create a diagram depicting an enterprise network with a firewall system./ 13.6 ptsExplain the rationale of firewall integration choices.view longer description13.6 to >11.56 ptsDISTINGUISHEDExplains the rationale of firewall integration choices and why it is superior to other options using specific examples to illustrate assertions.11.56 to >9.52 ptsPROFICIENTExplains the rationale of firewall integration choices.9.52 to >0 ptsBASICLists reasons for of firewall integration choices, or offers an explanation that is unclear or unfounded.0 ptsNON_PERFORMANCEDoes not explain the rationale of firewall integration choices./ 13.6 ptsCompare and contrast the primary features of pfSense and Windows Defender firewalls.view longer description13.6 to >11.56 ptsDISTINGUISHEDCompares and contrasts the primary features of pfSense and Windows Defender firewalls in great detail that effectively reveals their differences to a decision maker.11.56 to >9.52 ptsPROFICIENTCompares and contrasts the primary features of pfSense and Windows Defender firewalls.9.52 to >0 ptsBASICCompares and contrasts the primary features of pfSense and Windows Defender firewalls, but with significant errors or omissions.0 ptsNON_PERFORMANCEDoes not compare and contrast the primary features of pfSense and Windows Defender firewalls./ 13.6 ptsJustify the choice of a firewall type for an enterprise application.view longer description12.8 to >10.88 ptsDISTINGUISHEDJustifies the choice of a firewall type for an enterprise application with support that demonstrates a deep understanding of enterprise firewall integration issues.10.88 to >8.96 ptsPROFICIENTJustifies the choice of a firewall type for an enterprise application.8.96 to >0 ptsBASICJustifies an inappropriate choice of a firewall type for an enterprise application or inadequately justifies an appropriate choice.0 ptsNON_PERFORMANCEDoes not justify the choice of a firewall type for an enterprise application./ 12.8 ptsCreate visual elements that effectively communicate information.view longer description12.8 to >10.88 ptsDISTINGUISHEDCreates well-designed visual elements that that effectively communicate desired information appropriate for the audience or user.10.88 to >8.96 ptsPROFICIENTCreates visual elements that effectively communicate information.8.96 to >0 ptsBASICCreates visual elements that ineffectively communicate information.0 ptsNON_PERFORMANCEDoes not create visual elements./ 12.8 pts
Place this order or similar order and get an amazing discount. USE Discount code “GET20” for 20% discount