A near expert at introductory problem solving and programming, you’ve decided to put your skills to good use by volunteering at SecurityCon, a security conference for IT professionals. The conference has space for up to 106 people. The conference offers seven sessions. Each session has a level of either Beginner, Intermediate, or Advanced.

A list of sessions and their levels is identified below:

Best and Worst Practices for Securing Enterprise Wireless Connections – Advanced

Fundamentals of Cryptography – Intermediate

Information Security for Management – Beginner

Invading the Mind of a Hacker - Advanced

Mitigating a Cloud Data Breach – Intermediate 

Password Fundamentals – Beginner 

Tools to Prevent Network Identity Threats Before It’s Too Late – Intermediate

The cost to attend the conference is based on a flat registration fee of $103 plus a per session fee based on the level of the session.

Beginner sessions cost $106 each

Intermediate sessions cost $206 each

Advanced sessions cost $306 each

Create a modular program that will first have the user enter in a list of the names of all conference attendees. Then, the program will present each name for the user to input the sessions that the attendee will attend. An attendee must attend at least one session, may not attend the same session more than once, and may not attend more than five sessions. Once the user finishes entering a maximum of five sessions for the attendee, the program will print a well-formatted summary of sessions the attendee will attend, including the session name, level, and cost, followed by the attendee’s total cost to attend the conference.

After the user has entered the sessions for all conference attendees, the program will print a wellformatted final report listing each session name, the number of attendees that will attend the session, the amount of money earned from that session, the total number of conference attendees, and the total amount generated from the conference. 

Other Requirements:

Your solution may not ask for the number of attendees that will attend the conference.

Your solution may not ask for the number of sessions an individual attendee will attend.

Your solution must contain one or more arrays. You may not use ArrayLists.

Your solution must demonstrate a modular design using modules.

You must validate all data input by the user. Whenever an invalid piece of data is entered, you must display an error message and re-prompt the user. 

Programming Assignment 9: Solution Design

Create a defining diagram that shows the input, processing, and output

Create a structure diagram/hierarchy chart grouping processes from the defining diagram into modules (You need to do this, but you do not need to turn it in as part of the grade) 

Create a modular solution algorithm using pseudocode

Show testing using the desk checking table method, to include test data, expected results, and a desk checking table. Make sure your desk checking considers multiple cases including both valid and invalid test data to prove your algorithm will work 

Programming Assignment 10: Solution Implementation

Write a well-documented, efficient Java program that implements the algorithm you identified. Include appropriate documentation as identified in the documentation expectations document.

Note: You may not use the Scanner or System classes for input/output. You must use the JOptionPane class. Additionally, you may not use System.exit, or any variant that exits the program in the middle of the program. The program should only exit once the algorithm has finished completing.

Upload the .java file of the final program to Blackboard. Be careful that you do not submit a .class file instead of a .java file.

Full points will be awarded for an accurate, efficient, complete Java program that compiles using jGrasp. Partial credit is available. Any final program that does not compile, for any reason, will receive an automatic zero. Other IDEs often place in additional code that you are unaware of, doing too much of the work for you. You are strongly discouraged from using IDEs other than jGrasp.

Powered by