Fine-Grained Versus Coarse-Grained Data for Estimating Time-on-Task in Learning Programming