Interpreting Latent Student Knowledge Representations in Programming Assignments