Joan Lindsay Orr

EDU Math

EDU was designed from the ground up with STEM education in mind. Strong support for mathematical content and notation was a key feature throughout the product. This included grading of free response math questions on their syntactic content, rendering of static and dynamic pages with mathematical notation, and WYSIWYG input of math expressions.

Intelligent Math Grading

EDU graded free-response mathematical questions by parsing the student response and comparing it mathematically with the correct answer. Thus, apparently different responses which represented the same mathematical statement were recognized as equivalent. For example, if the correct answer to a question was x^2 + 2x + 1 then EDU would recognize as a correct answer not just that exact string, but also 1 + 2x + x^2, or even (x+1)^2. This capability, available from the first version of Wiley WebTests in 1998, was arguably the first of its kind in any online assessment system.

The grading algorithm used a one-sided Monte-Carlo algorithm employing Interval Analysis to control for accumulated rounding errors. As a result this could guarantee 100% certainly of no false negatives (i.e., a response graded as incorrect when in fact it was correct) and, from research with thousands of actual student responses, the grader was found to have also produced zero false positives (i.e., a response graded correct when actually incorrect). In this research EDU's grading algorithm was found to be more accurate than grading by a Computer Algebra System (Maple). Pedagogically, the solid guarantee of no false negatives was important to build student confidence (and by extension, instructor confidence) is the fairness of the computer grading.

See this paper for details of the grading algorithm and its evaluation.

Variants of Mathematical Equivalence

While mathematical equivalence of formulas alone enabled a huge range of free-response STEM content to be assessed, in practice a number of variants proved necessary to cover the range of content typically found in STEM homework questions. Full details are here, but a few examples include:

Display of Math on the Web

During the time I was developing EDU and and its precursors at UNL and Brownstone, i.e., 1996 - 2005, the situation with presentation of math notation on the web was pretty dire. At that time most websites presented static math content as embedded GIF images derived from LaTeX code, often leading to quite horrendous font mismatching. Also this was quite unsuitable for dynamic webpages, as each page-render required a server call and a relatively expensive LaTeX process to be run.

I had used the embedded GIF approach in my 1996 Analysis WebNotes site (and mitigated some of the styling problems with a custom CMS builder called Webify), and I was eager to make use of the emerging MathML standard. However although the standard was proposed in 1998 and V1.0 was published the following year, native browser support was, and remains, very spotty.

Fortunately at about the same time, Robert Miner, then at the University of Minnesota Geometry Center, develoiped a Java package called WebEQ which could render MathML, both as an embedded Java applet, and as a server-side GIF. In addition it provided a WYSIWG math editor. WebEQ became an absolutely indispensible component of EDU's STEM content management. (Of course, in modern sites, including this one, MathJax would play a similar role, but it did not appear until over a decade after WebTests/EDU first launched.)

EDU's HTML+MathML Rendering

Using WebEQ, EDU provided server-side rendering of MathML embedded in HTML for all of its content. The pipeline was:

Client side rendering (such as provided nowadays by MathJax) would have been preferable. However the only option then available for that was to embed WebEQ applets for each block of MathML on the page. Due to the resource requirements of Java applet rendering, this didn't scale to more than a few MathML elements per page, which wasn't practical for our content which typically had dozens of math blocks.

WYSIWG Math Input

For Students

Math question with mistakeopen_in_new

EDU offered students two ways to enter mathematical notation. The first was to use the kind of linear syntax employed by the at that time ubiquitous graphing calculators such as the TI-86. Students would enter their text in a plain text input using a syntax like x^2 + 2x + e^(-x)/(1 + x^2). Although the syntax was simple and the students were usually somewhat familiar with this way of writing math expressions from graphing calculators, the risk of making a small slip, often involving missing or unbalanced paretheses, was a constant source of frustration.

Math question with correctionopen_in_new

This risk was mitigated by including a preview feature for the linear formula entry. The student could click preview after entering their answer and a popup would display the result as understood by the system, in standard mathemtical formatting. This enabled students to catch simple typos in the answers (compare the two screenshots for example).

WYSIWYG Entry Widgetopen_in_new
Change Math Entry Styleopen_in_new

The other mode for students to enter math was with the WYSIWYG entry widget. This supported superscripts, fractions, and a range of mathematical symbols.

Students set their preferred entry style using the popup shown on the left.

For Instructors

EDU's math question editor provided a WYSIWYG MathML editor.

The "Math Edit" Buttonopen_in_new

The MathML editor was accessed with the "Math Edit" button which showed on the editor panel for mathematical questions.

The Visual Math Editoropen_in_new

The Visual math editor consisted of three panes. On the botton left was the raw HTML (including MathML) which could be edited directly. On the bottom right was a WebEq MathML visual editor. This could edit a single block of HTML at a time. The arrow buttons between the two panes were used to transfer edited blocks of math code between the HTML text and the math editor. The top pane showed the HTML + MathML as rendered by the server.

Output of the Editoropen_in_new

The resulting question could be previewed, published, or re-edited.

Math in Content Management

LaTeX Workflow

While the WYSIWYG workflow was valuable for instructors creating or editing small numbers of questions, it was not practical for bulk question bank creation of the sort needed by our publisher partners. For this use case a text-based publishing workflow was preferable, enabling revision, collaboration, version control etc with standard tools. I developed a suite of LaTeX macros which ingested question bank content in a readily understood structured LaTeX format and output EDU question bank files, in which the question text had been converted to HTML, together with embedded MathML for the LaTeX math elements. This, in conjunction with EDU's server-side MathML rendering, was suitable for publication on the web.

Example: A formula question

\begin{question}{Formula}
\qutext{What is the derivative of $x^3+3\cos(x)-1$?}
% Use calculator syntax for the answer, NOT TeX:
\answer{3x^2-3*sin(x)}
\end{question}

Example: A multiple choice question

\begin{question}{MultipleChoice}
\qutext{$3\log x-2\log y=$}
\choice*{$\log\left(\displaystyle\frac{x^3}{y^2}\right)$}
\choice{$\log(x^3y^2)$}
\choice{$\log(3x-2y)$}
\choice{$\log(x^3-y^2)$}
\end{question}

The LaTeX macros package provided a workflow for creating, editing and managing the full range of EDU question types, and enabled management of testbanks consisting of hundreds of STEM-focused questions.

Content and Presentation MathML

The MathML dialect of XML comprises two distinct modes of representing mathematical objects: Presentation MathML and Content MathML. EDU made use of both of these.

The first, Presentation MathML, describes how a mathematical object should be rendered on the page, and is useful for display of formulas, etc. EDU used Presentation MathML in its WYSIWYG authoring flow (above) and in its LaTeX authoring workflow (above). The EDU server provided server-side rendering of HTML with (Presentation) MathML.

On the other hand, Content MathML gives semantic structure to a mathematical object. EDU could take a formula in "calculator syntax", e.g., x^3-2e^-x, and convert this to Content MathML for rendering on the page. This enabled EDU to give well laid-out 2D presentation of the student's response or of the correct anzswer to a question (see, e.g., the preview capability described above). In addition it supported randomized questions in which the whole structure of a mathematical expression - and not just a couple of numerical parameters - was built using randomizing algorithms.

Going in the other direction, EDU could parse Content MathML into a mathematical formula, which was necessary to support the WYSIWYG math input described above.