C++ project

profilejigmey_grg21
GradeAnalysis1.docx

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.