This is a quick helper interface for tracing/debugging/developing Bayesian Knowledge Tracing models [1]. It covers computing of the skill mastery (latent), performance (observation), as well as forward and backward variables [2].
Computations are done with the help of Numeric Javascript
Likelihood of the data given the model:
#  Right/ wrong 
pKnown  pCorrect  Forward Variables  Backward Variables  Scale  Fwd. Variables Scaled  Bwd. Variables Scaled  

† Estimates for row 0 are computed before any observations are considered: pKnown = pInit, pCorrect is computed based on pInit as well, other variables are not defined. For rows 1 through N, all of the variables are computed assuming the observation has been revealed to the algorithm.  
Standard BKT considers every skill as an independant one. Computations are performed for a studentskill sequence of observations of length T. The number of hidden states is N. The number of observations is M. Indices for elements of vectors, as well as rows and columns of matrices are 1started. For the matrices, row index is given first, column – second. For simplicity, we consider the number of hidden states and the number of observations to be both equal to 2.
Hidden states  {known, unknown} 
more formally,  
Observations  {correct, incorrect} 
more formally,  
Priors vector, 1*N  
more formally,  
Transitions matrix, N*N  
more formally, i.e., the probability of transferring from state i to state j 

Emissions matrix, N*M  
more formally, i.e., the probability of observing , while being in state j 

Correctness, 1*M  Vector containing the probability distribution of observations. The first element is pCorrect. 
Knowledge, 1*N  Vector containing the probability distribution of hidden states. The first element is pKnown. 
Knowledge L  
, where  
is byelement multiplication, is dotproduct, ./ is byelement division, is the th column of matrix B, is the observation at time t. 

Correctness C  
Michael V. Yudelson © 2020