Technical Information:

This section provides technical implementation details required by the programmer to create the program. You must address these requirements as specified.

Development of this program requires four classes: Contest, Student, School and Entry as well as a Driver class to control the flow of the program.

Driver Class: Name this file ID3XXXXXXX, where the Xs are replaced by your student ID. This class will contain a main() method to manage the flow of the program, and other methods as necessary to ensure the code is modularized and functions correctly.

Contest Class: This represents a Contest, in this case the Maths Whiz! Championship round. Use the class diagram below as the basis for designing your class.


  • name: String
  • MAX_ENTRANTS: int {readOnly}
  • NUMBER_OF_QUESTIONS: int {readOnly}
  • MAX_SCHOOL_ENTRANTS: int {readOnly}
  • entries: Entry[]
    • Contest(String, int, int, int)
  • getContestName(): String
  • getEntrantLimit(): int
  • getNumberOfQuestions(): int
  • registerEntrant(Student)

– capacityReached(): boolean

– schoolLimitReached(School): boolean

  • enterScores()
  • viewContestScores()

– sortResults()

Student Class: This represents a Student from one of the participating schools. Use the class diagram below as the basis for designing your class.


  • name: String
  • enrolledSchool: School
  • Student(String, School) + getName(): String

+ getSchool(): School

CRICOS Provider No. 00103D           1717 Assignment 2 specification.docx

School Class: This represents a local School participating in the Maths Whiz! Challenge. Use the class diagram below as the basis for designing your class.


  • name: String
  • registrationID: String
  • School(String, String) + getName(): String

+ getID(): String

Entry Class: This represents a single Student registered to compete in the contest, and the scores they obtain for each question in the contest. Use the class diagram below as the basis for designing your class.


  • entrant: Student
  • quizScores: int[]
  • Entry(Student, int) + setScore(int, int) + getScore(int)

+ getEntrant(): Student

+ totalScore(): int

Initialising the Program:

Initialising the program requires the following steps:

  1. Prompt the user to enter the number of questions required for the championship. This must be a minimum of 1 question and is a whole number to be stored as an int. Initialisation cannot proceed until this number has been obtained.
  2. Create a new Contest for the Maths Whiz! Championship. For this task, you will set the maximum number of entrants to 8 and the maximum entrants from any one school to be 2.
  3. Create a new School for each of the participating schools.
  4. You must select any four schools that are local to your university campus and create a School to represent each of these.
  5. Each School’s name must match the name of a local school you have selected. You can make up any id for that school.
  6. For testing purposes, you must create a fifth school that will not end up competing in the contest. This is to demonstrate that further entries will not be accepted into the contest once all available entries have been filled. This school must be named after you.
  7. Create new Students to compete in the contest. Each Student has an attribute that stores their School. You may choose the names for your own students.

CRICOS Provider No. 00103D           1717 Assignment 2 specification.docx

  1. Make sure you have enough students to fill the contest and for testing, to demonstrate that the limit on entrants from any one school is enforced and that further entrants cannot be registered once the contest is full.
  2. Register the Students to compete in the contest. Registration occurs by creating new Entries, which comprise a Student and an integer array that stores the Student’s scores for each question. These Entries are stored in the entries array. This array must be full when registration is complete.
  3. You will need to make sure that each student is only registered once in the contest.
  4. There is a limit on the number of students from a single school in each event. Make sure that this limit is not exceeded.
  5. When all places in the event have been filled, no further registrations may be accepted.

The user should be advised with a message if any of these issues occur. Your initialisation code must include attempted registrations that result in each of these issues.

  1. Advise the user that initialisation is complete,

Running the Program:

  1. Entering Results
  1. Scores for each question should be stored in the quizScores array for each Student
  2. The user is to be prompted to enter the scores for each question for each Student. All scores for Question 1 will be entered first, continuing for each successive question number until all questions have scores entered. Each score is to be read as an int and updated by accessing each Student in the entries array and using the setScores(int, int) method to update the quizScores array. Tip: This method takes two integer parameters. One of these represents the question number the student has answered. The other represents the score they obtained for that question.
  3. You may assume that the user’s results entry is the correct data type (that is, an int). You do not need to check to make sure that the user does not enter non-numerical characters.
  4. If the user selects the option to Enter Results after having already entered these, the earlier scores will be overwritten.
  5. Displaying Results
  1. Displaying the contest results requires sorting the Students in order of the total scores they obtained and presenting this information in a readable format. This report is followed by identifying the first, second and third place-getters and the school each of these students represents.
  2. To sort the students, you will need to write a sorting method that finds the total score for each student and rearranges their position based in the array based on this total.
  3. If two or more students obtain the same total score, then the order of the students and their placings will be determined based on the order their results were entered.

CRICOS Provider No. 00103D           1717 Assignment 2 specification.docx

  1. Viewing Program Credits
  2. No special processing is required for this section. A simple display of the credit information is all that is needed.
  3. Exit Program
  4. The program should exit by reaching the end of the main() method. System.exit(int) should not be used.

Stage 3: Testing

Using a copy of the test cases developed in Stage 1: Design, test the program you have developed in

Stage 2: Program Development. Document your results, including both failed and successful tests.

Note: Please do not leave out any failed tests. If your testing highlights that your program has not worked correctly, then the failed tests help to demonstrate that you have been testing your program properly.

To show that you have tested your program, include small (but readable) screen captures in your Actual Results as well as any explanatory comments. Microsoft Windows includes a Snipping Tool that is useful for taking captures of the relevant parts of the screen.


Your program code, design and testing documentation should be zipped into a single file and loaded into the Assignment Box provided in Moodle by the due date and time.

CRICOS Provider No. 00103D           1717 Assignment 2 specification.docx

Marking Criteria/Rubric

Stage 1: Design Documentation
Development of an algorithm describing how the program should function
•   All requirements from the Assessment Details section included
Logical structure
Documented test cases to validate program1
•   All requirements from the Assessment Details section included
•   Data is validated to ensure user entries are appropriate and incorrect user entries
are handled smoothly
Stage 2: Program Development
A Java program addressing the requirements outlined in the Assignment Details section,
including appropriate use of classes, instances, loops, conditional statements, constants and
Use of coding conventions throughout entire program, including readable and clear layout,
following naming conventions and including meaningful and appropriate comments.
Creation of classes Contest, School, Student and Entry to match diagrams provided2
Initialisation of the program in the driver class:
•   Creation of a Contest, Schools and Students, using four local school names and an2
additional school named after the programming student developing this program
•   Registration of Students in the Contest, ensuring each student is only registered2
once, each school is limited to the set number of entrants and the capacity of the
contest is not exceeded.
Running Program
•   Appropriate menus display until user chooses to exit0.5
•   Entering of results for the contest
•   Display Results correctly displays the total scores for each entrant3
•   First, second and third positions are accurately displayed and the school identified1
Program Credits included0.5
Coding Standards
•   Code modularized, correctly using method calls and passing data between methods
•   Object-oriented approaches have been implemented appropriately (full marks only2
available for a complete assignment)
Stage 3: Testing
Documented test results clearly showing all the testing that has been conducted and the2
results of this testing. Pro-rata marks based on extent of assignment tasks completed.

CRICOS Provider No. 00103D           1717 Assignment 2 specification.docx


Assignments will be marked within 2 weeks of submission. Marks will be loaded in fdlGrades, and a completed marking sheet will be available via Moodle.


Plagiarism is the presentation of the expressed thought or work of another person as though it is one’s own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at

Maddox Smith

Greetings for the day !
Hope that you’re well !

We want to introduce ourselves as a team of professionals who are into academic writing for the last 10+ years. We can provide assignment assistance in all subjects. Our experts can provide solutions across all the topics right from Management, HR, Marketing, Finance & Accounts, Statistics, IT, childcare, nursing, law, and general writing. We provide plagiarism free work and also send a ‘Turnitin’ report along with completed work. Our services are available at reasonable cost; we entertain amendment requests from clients without any extra charges.

Our Feature Included

Ø Every assignment includes graphical representation like pie chart, bar graph, smart art and all.
Ø Free 0% plagiarism report
Ø Expert team for technical work as well.
Ø On time delivery
Ø Multiple rework facility
Ø Huge team of expert in each subject
Ø Referencing like: Harvard, APA, MLA, Oscola, automatic referencing all are familiar to our experts.

Subject we cover: Math , finance, economics, accounts, civil engineering, mechanical engineering, IT, Computer science, electrical and electronics engineering, history, geography, political science, sociology, physiology, philosophy, biology, microbiology, biotechnology, biotechnology, B-school assignments, project report, psychology, nursing assignments, medical assignments, Tourists and travelling assignments all kinds of dissertation and so on

Best Regards:
Oz Paper Help
WhatsApp:+1 585-666-2225
1 Step 1