Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For this assignment, you don't have to take a quiz. Instead, you will build a data structure and application to support creating Quizzes similar to

For this assignment, you don't have to take a quiz.

Instead, you will build a data structure and application to support creating Quizzes similar to Kahoot (Links to an external site.) or Quizlet (Links to an external site.).

To get started, you will need to create a class structure using the following class diagram. The class diagram below is a simplified version of the design provided in a MySql tutorial I stumbled across (Links to an external site.) that you may want to reference for more detail about the class attributes defined in the diagram. image text in transcribed

What to Do?

In your data structure, a quiz has certain attributes plus an aggregation of one-to-many questions with one-to-many answers. Aggregations in Java usually are a type of List, in our case List and List. You can use an ArrayList or another type of list of your choice.

Each Quiz has a host user (instructor). For simplicity's sake, we will not model the taking and tracking of quizzes for now, although you are welcome to create a more complete application by doing so for extra credit. In our simplified model, the user class, therefore, is used only for tracking hosts, but in a full-blown app would also track quiz takers. We are also not modeling quiz dates and scores in the simplified app.

Requirements

  1. Once you have created the data structure, you should populate it with your own data. You should create at least two quizzes with at least four questions, at least one true-false, and at least two multiple-choice questions.
  2. Your application should support a print operation that prints out two versions of your quiz a student version and an instructor version. The instructor version indicates the correct answer to the question.
  3. Additionally, the questions and answers should be shuffled before each print operation so you will need to use a randomizer function to shuffle the order of the questions before your print out.
  4. Your print-outs should be formatted similar to a real quiz.
  5. Your quiz should show part of the host information at the top of the page and the quiz title and/or summary.
  6. Your test output should print out all quizzes that you have created (at least two).

Extra Credit: In order to reduce the tedium of grading for your professor, interesting or humorous quiz topics will get extra credit because if you're lucky, sometimes in life, your creativity is rewarded!

Submission Instructions:

Submit your completed java file(s) and screenshots of your test output. Robust testing is required and must be demonstrated.

quiz_meta id BIGINT (20) quizId BIGINT(20) key VARCHAR(50) content TEXT Indexes user id BIGINT (20) firstName VARCHAR(50) middleNam e VARCHAR(50) lastName VARCHAR(50) mobile VARCHAR(15) email VARCHAR(50) passwordHash VARCHAR(32) host TINYINT(1) registered At DATETIME lastLogin DATETIME intro TINYTEXT profile TEXT Indexes quiz_question id BIGINT (20) quizId BIGINT(20) type VARCHAR(50) active TINYINT (1) level SMALLINT (6) score SMALLINT(6) createdAt DATETIME updatedAt DATETIME content TEXT Indexes # 1 HE quiz id BIGINT (20) hostId BIGINT(20) title VARCHAR(75) metaTitle VARCHAR(100) slug VARCHAR(100) summary TINYTEXT type SMALLINT(6) score SMALLINT(6) published TINYINT (1) createdAt DATETIME r--+updatedAt DATETIME It publishedAt DATETIME startsAt DATETIME endsAt DATETIME content TEXT Indexes quiz_answer *id BIGINT (20) quizId BIGINT(20) questionId BIGINT (20) active TINYINT (1) correct TINYINT(1) createdAt DATETIME 1 take id BIGINT (20) userId BIGINT(20) quizId BIGINT(20) status SMALLINT (6) score SMALLINT(6) published TINYINT (1) createdAt DATETIME updatedAt DATETIME H startedAt DATETIME finished At DATETIME content TEXT Indexes updatedAt DATETIME content TEXT Indexes take_answer id BIGINT (20) takeld BIGINT(20) questionId BIGINT (20) answerId BIGINT(20) active TINYINT (1) createdAt DATETIME updatedAt DATETIME content TEXT Indexes quiz_meta id BIGINT (20) quizId BIGINT(20) key VARCHAR(50) content TEXT Indexes user id BIGINT (20) firstName VARCHAR(50) middleNam e VARCHAR(50) lastName VARCHAR(50) mobile VARCHAR(15) email VARCHAR(50) passwordHash VARCHAR(32) host TINYINT(1) registered At DATETIME lastLogin DATETIME intro TINYTEXT profile TEXT Indexes quiz_question id BIGINT (20) quizId BIGINT(20) type VARCHAR(50) active TINYINT (1) level SMALLINT (6) score SMALLINT(6) createdAt DATETIME updatedAt DATETIME content TEXT Indexes # 1 HE quiz id BIGINT (20) hostId BIGINT(20) title VARCHAR(75) metaTitle VARCHAR(100) slug VARCHAR(100) summary TINYTEXT type SMALLINT(6) score SMALLINT(6) published TINYINT (1) createdAt DATETIME r--+updatedAt DATETIME It publishedAt DATETIME startsAt DATETIME endsAt DATETIME content TEXT Indexes quiz_answer *id BIGINT (20) quizId BIGINT(20) questionId BIGINT (20) active TINYINT (1) correct TINYINT(1) createdAt DATETIME 1 take id BIGINT (20) userId BIGINT(20) quizId BIGINT(20) status SMALLINT (6) score SMALLINT(6) published TINYINT (1) createdAt DATETIME updatedAt DATETIME H startedAt DATETIME finished At DATETIME content TEXT Indexes updatedAt DATETIME content TEXT Indexes take_answer id BIGINT (20) takeld BIGINT(20) questionId BIGINT (20) answerId BIGINT(20) active TINYINT (1) createdAt DATETIME updatedAt DATETIME content TEXT Indexes

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

Database Processing

Authors: David Kroenke

11th Edition

0132302675, 9780132302678

More Books

Students also viewed these Databases questions

Question

What is the difference between Needs and GAP Analyses?

Answered: 1 week ago

Question

What are ERP suites? Are HCMSs part of ERPs?

Answered: 1 week ago