Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

please provide me with the full working java codes that achieves the specifications of this project ( preferably with explanations ) * * * i

please provide me with the full working java codes that achieves the specifications of this project (preferably with explanations )
*** i want the full functional code not just steps on how to solve it .
***thank you in advance.
In this course project, you are required to write a network application that implements a client/server quizzes environment for elementary school students using TCP API in Java.
The environment allows students (clients) to take math quizzes related to the four main operations +,-,*,\. Each quiz consists of a number of questions that are based on these four operations, with a certain difficulty level that is determined by the number of operations in the question and the number of digits that numbers consist of.
The student must be able to provide the correct answer for each question to earn the question point. The quiz total grade is the summation of all earned questions points.
On the server side:
The server application must accept clients connections and respond to them. The server must be able to handle more than one connection at the same time but for each connection it must not allow more than one quiz to be performed at the same time.
When the client application is connected, the client must be asked continuously to choose
either to:
1. Start a new quiz.
2. Terminate.
If the student requests to start a quiz, the program must start configuring settings of the quiz by asking the student to specify the following:
- The number of questions.
- Whether a timeout must be specified for questions, within which the student must provide the answer to be counted. If the student chooses to specify a timeout, he must be asked to enter this timeout (in seconds).
- The difficulty of questions which is specified by:
o Maximum number of operations that questions consist of.
Example-1: if the student chooses it to be 1, all questions must consist of exactly one operation such as: 33+55,3*44,....
Example-2: if the student chooses it to be 3, the questions could be any
of the following: 44+5*2,32*3+3*5,55+11,......
The maximum supported value for this option is 4.
o Maximum number of digits that form numbers in the question.
Example-1: if the student chooses it to be 1, then all numbers in the
question must consist of exactly one digit.
Example-2: if the student chooses it to be 3, then numbers could consist
of 1,2, or 3 digits.
When the quiz starts, for each question, the server must select numbers and operations in the question randomly as specified in the quiz settings. The student must provide the correct answer within the specified timeout (if a timeout is specified). If so, the point of the question will be added to the total grade. For each question the student can send only one answer.
This process is repeated for all the questions. Make sure to introduce a slight delay between each question and the next. The server application must compute the points by summing the points of the questions. The server must send the student the quiz result which includes a report of all questions showing which questions were answered correctly and which were answered incorrectly along with the correct answer, then the quiz total grade.
If the client selects to terminate, the connection with the server must be terminated.
Note that the server must preserve statistics info that includes:
1. Total number of quizzes performed by all students.
2. The numbers of quizzes performed that included one operation, two operations, three operations, and four operations.
3. The numbers of quizzes for which students achieved:
[0-25%) of the total grade.
[25%-50%) of the total grade.
[50%-75%) of the total grade.
[75%-100%) of the total grade.
100% of the total grade.
This statistics info must persist even if the server application is terminated.
If there is no activity (received connections) on the server side for 10 minutes, the server
application must ask the admin whether to:
1. Continue waiting, in this case the server application must go back to waiting for
clients connections.
2. Display statistics and terminate, statistics info must be displayed to the admin and the server application must be terminated.
Your final submission must include the following:
1. Your code, fully documented.
2. A report that includes the UML class diagram showing the design of your application data and methods

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learning MySQL Get A Handle On Your Data

Authors: Seyed M M Tahaghoghi

1st Edition

0596529465, 9780596529468

More Books

Students also viewed these Databases questions

Question

=+9. Think about a campaign direction.

Answered: 1 week ago

Question

=+Who is the audience?

Answered: 1 week ago