Many types of standardized testing award each test taker a score that is based on how an
individual performs when compared to the rest of the population. This is done, in part, to
correct for inherent differences in the level of difficulty of different tests, and to make
the score values more meaningful. For instance, saying that someone has an IQ of 130 (where
the score is based upon 100 being "average") is more useful that simply saying that someone
correctly answered 25 out of 40 questions on "Joe's Intelligence Test".
Standardized scoring typically utilizes two common statistical tools: mean and standard
deviation. "Mean" is commonly called the average. Mean is calculated by summing all scores, and
dividing by the total number of scores.
Standard deviation is calculated in a multi-step process.
- First, let m = the mean.
- Then, for each score, x, calculate the square of its deviation from the mean,
(x - m) ^ 2.
- Sum the individual squares, and divide by the total number of scores.
- Finally, take the square root of that result.
Once these figures are calculated, a raw score can be converted to a standardized score
by determining how many standard deviations above or below the mean raw score is. A point value
is then assigned to the mean and standard deviation. For instance, some intelligence tests
have a mean score of 100 points, and a standard deviation of 15 points.
You have been assigned the task of writing a program that will calculate the standardized
score for an individual, given their raw score (number of questions correct). Specifically,
it has been explained to you that 1000 points is the average score, and each standard deviation
is 300 points. Thus, if an individual's raw score is 1.5 standard deviations above average, their
standardized score would be 1450 points.
The test in question has already been administered to a sufficiently large set of testers.
Unfortunately, the raw scores of each test individual have been lost. However, a summary of the
results, namely the percentage of individuals who correctly answered each question, is still
available, and you have been told that this will suffice to determine the mean and standard
deviation of the original data set. Since the set of testers was very large, you can assume that the percentage of people who got a question correct represents the probability of any given person correctly answering that question.
You are given a double[] questions, where each element of questions
indicates the percentage of individuals who correctly answered that question. You are also given
an int testScore indicating the number of questions correctly answered by
a new test subject. Using the scoring methodology explained above, you are to return a
double indicating the standardized score that should be awarded to this individual.
|