Predicting a final exam score from arbitrary set of practice exams
I think that the most natural way to design this problem is indeed with missing values, and of course that means using a learning algorithm which can deal with these. Additionally to NB I think decision trees (at least some implementations) can handle missing value as well.