Hi there,
One thing you could try is an unsupervised method, like the self organizing map or the competitive network. You'd have to convert each test into a binary valued vector, e.g.
1:A, 2:B, 3:D,...
would become
1,0,0,0 ,0,1,0,0 ,0,0,0,1, ...
Then feed those to an unsupervised network and see how it clusters things. If there are patterns in the data independently of the score on the test, e.g. different patterns of errors, it might show up.
If you are comfortable with python you could also try one of these methods
http://scikit-learn.org/stable/unsupervised_learning.htmlI should probably make a video about SOM, competitive, etc...
- Jeff