1. A computer-implemented method for creating an individualized exam practice question set, comprising the steps of: obtaining a student's preferred topics and number of questions, computing weight of each preferred topic by combining the weight of the topic in actual exam and a student's past performance data on the topic, computing normalized weight of each preferred topic by dividing computed weight over the sum of all computed weights, computing number of questions for each preferred topic by multiplying normalized weight and preferred total number of questions, and selecting questions for each preferred topic randomly or deterministically.