Abstract: A computer-implemented method for helping a learner practice by providing hints is described. A simple question is provided to a learner. A decision is made on whether a hint is to be provided to the learner. A hint is provided to the learner if the decision is “yes”. A learner-given answer is received from the learner. The correctness of the learner-given answer is checked.