Create a Grade Book Database
1. Problem Statement
You are asked to implement a grade book to keep track
student grades for several couses that a professor teaches. Courses should have
the information of department, course number, course name, semester, and year.
For each course, the grade is caculated on various categories, including course
participations, homework, tests, projects, etc. The total percentages of the
categories should add to 100% and the total perfect grade should be 100. The
number of assignments from each category is unspecified, and can change at any
time. For example, a course may be graded by the distribution: 10%
participation, 20% homework, 50% tests, 20% projects. Please note that if there
are 5 homework, each homework is worth 20%/5=4% of the grade.
¡¡
2. Tasks
- Design the ER diagram;
- Write the commands for creating tables and inserting
values;
- Show the tables with the contents that you have
inserted;
- Compute the average/highest/lowest score of an
assignment;
- List all of the students in a given course;
- List all of the students in a course and all of their
scores on every assignment;
- Add an assignment to a course;
- Change the percentages of the categories for a course;
- Add 2 points to the score of each student on an
assignment;
- Add 2 points just to those students whose last name
contains a ¡®Q¡¯.
- Compute the grade for a student;
- Compute the grade for a student, where the lowest
score for a given category is dropped.
¡¡
3. Your submission
- The ER diagram (with the attributes and foreign keys/primary
keys
indicated);
- The commands for creating tables and inserting values
(task 2);
- The tables with the contents that you have inserted
(task 3);
- The command that you use to get task 4, 5, 6, 7, 8, 9,
10, 11, 12;
- The source code;
- A README file. The minimum required content of the
file should contains the instructions to compile and execute your code;
- The test cases that you use and the results that you
get from the test cases.
¡¡
Grading rubrics (total possible
points is 100):
- Task 2: 5 pts
- Task 3: 5 pts
- Task 4: 5 pts
- Task 5: 5 pts
- Task 6: 5 pts
- Task 7: 5 pts
- Task 8: 5 pts
- Task 9: 5 pts
- Task 10: 5 pts
- Task 11: 5 pts
- Task 12: 5 pts
- Report: ER diagram - 15 pts
- Report: source code - 5
- Report: README file - 5
- Report: test cases - 5
- Report: writing - 5
- Report: completeness - 5
- Oral Presentation - 5
¡¡