132 karma · joined November 14, 2013
To make it relatively fast, the TeX engine gets snapshotted and shipped to the browser with much of TeXlive already loaded. So even things like TikZ work reasonably well. There is of course a lot more to do! The plan is to convert ximera.osu.edu to this new backend by the fall.
So we do support SageMath for more complicated answer validation. This depends on the public SageMath cell servers, which provides cloud-hosted SageMath and enables things like \sage{derivative(x*x,x)}. It's also more performant to rely on JavaScript.
For developmental math, answer validation is somewhat harder than for calculus, because often you want to distinguish between say (x+1)^2 and x^2 + 2x + 1.
We run workshops on how to use Ximera. The next one is at UFlorida in October. If you're interested, there is some travel support available. Contact us at ximera@math.osu.edu
An activity in Ximera has state, and this state is synchronized (via Fraser's differential synchronization) with all open clients, so the instructor can watch a student while they work in Ximera, and even edit the page alongside them.
The main goal is to make sure that we pass the tests listed in https://github.com/kisonecat/math-expressions/blob/master/sp...
The website uses Fraser's differential synchronization algorithm, so a student's work is saved as they do it -- and that happens in real time, so an instructor can "look over their shoulder" and watch a student working in real time. The server is actually a git server, so an author publishes content by performing a git push, and because the server knows the history of the content, the server provides the version of the content on which the student last did work.
Expression equality is handled by https://github.com/kisonecat/math-expressions using a few heuristics, which is necessary because Richardson's theorem says this problem is undecidable. The main trick is to regard the expressions as complex-valued functions, find a point where the value is (nearly) equal, and then check for numerical equality in a neighborhood. (Doing this over the complex plane addresses the problem that many common expressions like sqrt(small number-x^2) have a restricted domain over the reals).
We rely on unit tests from Chris Sangwin (who wrote the textbook _Computer Aided Assessment of Mathematics_) to ensure that we're adjudicating expression equality mostly correctly.
The Calculus One videos are available at http://youtube.com/kisonecat and the new Calculus Two: Sequences and Series videos will be posted soon.