Rating Students: Requirements

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Java Full Stack – BED BED-Prerequisite- Hands-On JDBC Project-RatingStudent

Rating Stude nts


Using Database – JDBC

Artha educational institute wants to implement a programmed solution to compute average


assignment rating and overall rating for each student and/or subjects to measure effectiveness of learning.

For each subject, the overall rating is determined by ratings on various categories, including tests, quizzes,
lab works, projects, etc. The percentages of the categories should add to 100%. The number of assignments
from each category is unspecified and can change at any time.

Requirements
1. Compute & display student average score per assignment category & overall rating for assigned
subject(s).
2. Compute & Display subject average score per assignment category & overall rating for assigned
student(s).
3. Basic features
a. Add/remove assignment to an existing list
b. Add/remove assignment category with weights to an existing list. Ensure no duplicates of
assignment category.
c. Display all assignment categories with their weights.
d. CRUD operations for student enrollment to subject(s)
e. CRUD operations for enrolling assignment(s) to a student
Note:
✓ Refer below for design & computation tips.
✓ Sample data to be preloaded for demonstration

Demo Expectations: Build a solution to illustrate


• If user enters student id, then it should display average scores per assignment category for each
subject.
• If user enters subject id, then it should display average scores per assignment category for all students
• Unit test scripts with report log for all requirements.
Expected Deliverables
1. Maven project - solution code base, unit test scripts, pom.xml & properties file(s) if any.
2. Read Me file (read.txt)
3. Test cases execution log report – Unit Testing (Maven test report)

Note: Find below recommended naming conventions to consider


1. groupId: <ADID>.<phase>.<project>
Example: avitepa.corejava.rating
2. artifactId: <ADID>_< phase>_<Project>
Example: AVITEPA_CoreJAVA_Rating

Avinash Patel, Architect Academy 1


Sensitivity: Internal & Restricted
Java Full Stack – BED BED-Prerequisite- Hands-On JDBC Project-RatingStudent

Solution: Using Database – (Ex. H2 Database)

Consider the following tables, Table 1 “Distributions” containing information about assignment
category weights and Table 2 “Assignments” having student submission of assignment details with points for
each assignment.
Note: Given data are indicative only. Refer formula/processing technique for programming
Use any additional column(s) & suitable constraints for any column if required.

Table 1: Distributions
Assignment Category Weight (%)
Test 40
Quiz 20
lab work 10
Project 30

Table 2: Assignments
Serial No. student Name subject assignment Category Date of Submission points
1 Ananth Electro Fields test_1 21-Jul-16 100
2 Bhagath Electro Fields test_1 21-Jul-16 78
3 Chaya Electro Fields test_1 21-Jul-16 68
4 Esharath Electro Fields test_1 21-Jul-16 87
5 Bhagath Electro Fields quiz_1 22-Jul-16 20
6 Chaya Electro Fields lab_1 23-Jul-16 10
7 Ananth Electro Fields project_1 24-Jul-16 100
8 Davanth Electro Fields project_1 24-Jul-16 100
9 Bhagath Electro Fields quiz_2 25-Jul-16 50
10 Ananth Electro Fields quiz_1 26-Jul-16 100
11 Bhagath Electro Fields lab_1 27-Jul-16 10
12 Chaya Electro Fields project_1 28-Jul-16 100
13 Bhagath Electro Fields project_1 28-Jul-16 100
14 Ananth Computing Techniques test_1 29-Jul-16 86
15 Ananth Electro Fields quiz_2 29-Jul-16 100
16 Bhagath Computing Techniques project_1 30-Jul-16 100
17 Ananth Electro Fields lab_1 30-Jul-16 100
18 Chaya Computing Techniques quiz_1 31-Jul-16 20
19 Ananth Electro Fields test_2 1-Aug-16 80
20 Chaya Electro Fields test_2 1-Aug-16 92
Note: each assignment category is suffixed with underscore followed by number.

You may assume that the array(s) initialized with above mentioned details.
Develop a Java application, which accepts student name or subject title to display the following details as
output (below output data is based on above referenced data)

Avinash Patel, Architect Academy 2


Sensitivity: Internal & Restricted
Java Full Stack – BED BED-Prerequisite- Hands-On JDBC Project-RatingStudent

Expected Output: If input is student name


If user wants to see rating of Ananth for all subjects, then expected output would be

Student: Ananth
Subject Test Score Quiz Score Lab Score Project Score Overall Rating (%)
Electro Fields 36 20 10 30 100
Computing Techniques 34.4 NA NA NA 34.4

Explanation:
Calculation of Test Score
Number of tests submitted by Ananth for subject Electro Fields: 2 (test_1 & test_2; row 1 and 19)
Hence, Test score = ((40/2)* row 1 points + (40/2)*row 19 points)/100
= ((40/2)*100+(40/2)*80)/100
=36

Number of tests submitted by Ananth for subject Computing Techniques: 1 (row 14)
Test score = ((40/1)*row 14 points
= ((40/2)*86
=34.4

Calculation of Quiz Score


Number of quizzes submitted by Ananth for subject Electro Fields: 2 (quiz_1 & quiz_2; row 10 and 15)
Hence, Quiz score= ((20/2)*row 10 points + (20/2)*row 15 points)/100
= ((42/2)*100+(20/2)*100)/100
=20
Number of quizzes submitted by Ananth for subject Computing Techniques: 0
Hence, Quiz score= NA

Similarly, lab score and project scores are computed

Note: General Consideration are


A subject may be rated by the distribution
40% for tests, 10% for quizzes, 20% labs and projects 30% etc.,

If there are 3 tests, each test is worth 40/3=13.33% of the rating.


If there are 4 quizzes, each quiz is worth 10/4=2.5% of the rating
If there are 1 lab, then lab work is worth 20/1=20% of the rating
If there are 5 projects, each project is worth 30/5=6% of the rating

Expected Output: If input is subject title


If user wants to see rating of students for Electro Fields as subject, then expected output would be

Subject: Electro Fields


student Name Test Score Quiz Score Lab Score Project Score Overall Rating (%)
Ananth 40 20 10 30 100
Bhagath 31.2 14 1 30 76.2
Chaya 32 NA 1 30 63
Esharath 34.8 NA NA 30 64.8

Optional: Compute the average (or high or low) score on an assignment.

Avinash Patel, Architect Academy 3


Sensitivity: Internal & Restricted

You might also like