How to estimate student's level according to score and time spend
I think there will be different approaches, and different results, to this problem.
The first which comes to my mind is simple:

evaluate the difficulty of each topic, by the average of the time spent by the students on it;

use the evaluations at point 1) to weight the time spent by the students on the topics;

calculate the average weighted time spent on all the topics;

a) you can rank the students based on the average weighted times, or
b) you can plot an histogram of the average weighted times, and choose some proper tresholds to classify the students