I. Introduction
II. Overview
III. Knowledge Tracing Models
IV. Variants of Knowledge Tracing Models
V. Applications
VI. Datasets and Baselines
VII. Future Research Directions
VIII. Discussions and Conclusions