I was recently asked about my MSc dissertation (by someone who may choose to ‘out’ themselves here, but as it was a personal email I won’t name them). In my dissertation, for a Masters degree in computing in 2003-4, I developed a system for pre-processing MathML code using PHP to include pseudo-randomised values in the questions for an e-assessment tool. The title is ‘Asking Questions With MathML: dynamic treatment of XML and pseudo-randomised mathematics assessment’.
The query was from someone who is training to be a maths teacher and is doing some web development. They had seen mention of my MSc dissertation topic on this blog and asked where they could read more about the underlying web technologies. Here, basically, is what I replied.
My MSc was ten years ago and things have moved on since then, technology-wise. Some of what I did is now so commonplace as to be boring. You can get the basics of what I did for my dissertation from this article: ‘Pseudo-Randomised CAA by “Preprocessing” MathML‘ (Maths-CAA Series, HEA MSOR Network, 2004). You can also read a critique I wrote about it, from an education point of view, in: ‘Developing a Healthy Scepticism About Technology in Mathematics Teaching‘ (Journal of Humanistic Mathematics, 3(1), pp. 136-149, 2013).
Anyway, back then I used PHP to write raw MathML code, so I could dynamically stick numbers in it. Now, if I had to do the same, I would probably just spit out LaTeX and give it to MathJax to deal with. For example, the (free) Numbas e-assessment system does just this, as do other systems. Numbas makes tests like this sample exam.
During my PhD, I shifted from a home-grown approach to developing this kind of thing, to an approach where free to use software is perfectly capable of doing the sort of thing I’m interested in doing. This is particularly as I’m more interested now in what can be done with such things in teaching than I am with the technical development aspects. I’d be pleased to hear via the comments from anyone who has anything to add on the topic of putting maths on the web, and particularly of dynamically changing that maths.