C++ project
Grade Analysis
Problem: given the following input data
A. -a answer key file of a quiz
including multiple choice questions only
B. -a concept list file
a list of concepts, starting with a unique index
C. -mapping between each question in the quiz and its corresponding concepts
note: each question may include more than one concept, which is separated in different line in the file
D. -students' answers of the quiz
row represents the number of questions
column represents the number of students, are separated by comma
a missing answer is considered as a mistake,
Implement a C++ program, which produces the following output:
1. auto-grading function: for each student, the program should output the number of wrong/correct questions (1.1: 7pts), as well as their corresponding concept list of mistakes (1.2: 13pts)
2. question analysis: for each question, the program should output the statistics, i.e. the number of students make the mistake (2.1: 8pts)
3. concept analysis: for each concept, the program should output the number of questions matching to the concept (3.1: 7pts), the number of mistakes and ratio (3.2: 7pts), and the number and list of students who make mistakes on this concept (3.3: 10pts).
For example: the concept "Pointer Variables" is tested in 5 questions
Reports including the above analysis for both teacher and student (8pts)
Class design (with UML): 20pts
Implementation: 10pts
Report and documentations: 10pts, including the class design, sample output and testing.
Extra credit (10pts) will give to those who propose and solve any analysis, other than the above questions.