the system. The features represent diverse aspects of learning activities provided by the system, such as exercises or lectures being used, and the corresponding student actions. Under the given notations, the definitions of knowledge tracing and assessment modeling are as follows:

\[def:kt\] A *knowledge tracing* is a task of predicting a feature $f_{t}^{k}$ of the student in the $t$’th interaction $I_t$ given the sequence of interactions $[I_1, \dots, I_{t-1}, I_t, I_{t+1}, \dots, I_T]$. That is, the prediction of $$\label{eq:kt}
p(f_{t}^{k} | I_1, \dots, I_{t-1}, I_t \setminus \Gamma(f_{t}^{k}), I_{t+1}, \dots, I_T)$$ where $\Gamma(f)$ is the set of features masked when the feature $f$ is guessed. This is to mask input features not available at prediction time, so that a model does not ‘cheat’ guessing $f$. In particular, the feature $f$ itself is always masked so that $f \in \Gamma(f)$.

This definition follows the prior works on knowledge tracing models [@piech2015deep; @zhang_2017; @liu_2019; @pandey2019self]. Although a common set-up of knowledge tracing models is to predict a feature conditioned on only past interactions, we define knowledge tracing as a prediction task that is also conditioned on the future interactions to acknowledge the recent success of bi-directional architecture in knowledge tracing [@lee2019creating].

\[ex:kt\] Knowledge 