Saturday, 20 June 2009

LaTeX and ASCIIMathML to Content MathML and Maxima syntax

One of the slightly experimental new features included in SnuggleTeX 1.1.0 is the ability to attempt to convert a limited but hopefully useful subset of math mode LaTeX into "more semantic" formats, such as Content MathML and Maxima input syntax. (This release of SnuggleTeX also includes some equally experimental support for trying to do the same thing with the raw output produced by ASCIIMathML.)

The context of this work was the JISC MathAssess project, where we looked at the feasibility of allowing students of "foundation level" mathematics to input mathematics into computer-aided assessment software using "lax" input syntaxes such as LaTeX or ASCIIMathML. This idea was considered as a possible alternative to using Excel-like formats, or requiring students to learn the syntax for Computer Algebra Systems such as Maxima, Maple or Mathematica.

In general, this "up-conversion" approach - going from "low semantics" such as LaTeX to "higher semantics" such as Content MathML - is not possible. Why not? Well, you don't actually have to look far to see why! Consider the mathematical symbol e. In some contexts, this might represent the exponential number 2.718... but it might also represent the identity element in a group, or some physical quantity. So context is clearly important! Another very trivial example is to compare the written mathematical expressions f(x+2) and a(x+2). To someone who has studied any mathematics, the first of these will probably make them think of the function f applied at x+2, whereas the latter will probably be considered as the product of a and x+2. So, again, the underlying context is vitally important but can sometimes be inferred by following and assuming certain conventions. (This is however complicated by the fact that mathematical notations are localised, so notations common in the UK are not necessarily common anywhere else!)

The approach we take is to look at only a very restricted subset of symbols and constructs, using conventions that are considered common, sensible and familiar in the UK which, in fact, covers a pretty reasonable spectrum of the mathematical contexts that we're aiming at. From this base, it is possible to convert the simple, display-oriented Presentation MathML we expect to get from SnuggleTeX and ASCIIMathML into a more semantic Presentation MathML representation that renders the same way, before converting this to Content MathML and then finally into other formats such as Maxima.

More details on the mechanics of this process can be found in the SnuggleTeX documentation under Semantic Up-Conversion. Techy folks interested in the actual implementation might want to know that it's all done using XSLT 2.0, which is well suited to these types of conversions and is an absolute joy to use. You're welcome to rip off our XSLT and perhaps use it as a basis for similar processes, if useful. It's all in the "full" ZIP distribution of SnuggleTeX. Feel free to ask if you want more information...

SnuggleTeX 1.1.0 Released

We are pleased to announce the release of SnuggleTeX 1.1.0, which is now available to download, read about and mess around with online.

So what's new in this release? Well the most significant new feature is (some still somewhat experimental) support for "up-converting" certain LaTeX math inputs to more semantic formats than the default Presentation MathML 2.0 outputs, such as Content MathML 2.0 and Maxima input syntax. This release also includes support for doing the same thing to the raw Presentation MathML generated by ASCIIMathML. This work was undertaken as part of my involvement with the JISC MathAssess project but is something that other people might find useful in other settings. I talk about this a bit more in a later Blog posting...

As well as this, there have been a number of other enhancements, including a new Maven-based modular project structure, better distribution bundles (a "basic" ZIP if you just want the core functionality, "full" if you want everything), extra utilities and helpers, a simple way of generating web pages, better documentation and various other bug fixes. I've also added some new demos for you to play around with - try this "Simple Math Input Demo" to get you started! For full details of what's new, check out the Release Notes.

Friday, 20 March 2009

ASCIIMath Plugin for Confluence

An ASCIIMath plugin initially developed for the University of Edinburgh's Confluence wiki has been made available on the official Confluence website - with the help of Andy Brook at Dolby.

This plugin allows input and display of mathematics on a Confluence wiki page and builds on original work done by Peter Jipsen and image-fallback extensions by David Lippman. Once installed, mathematics can be added inline using the {math} wiki markup - with mathematics being expressed using a calculator-like syntax or LaTeX syntax - for example, {math}x^2 +y_1 +z_12^34{math} produces .

Additional features of the plugin allow labels for equations and block-display to allow the maths to be displayed on its own, so {math:display=block| label=1.2} d/dx f(x) = lim_(h->0) (f(x+h)-f(x))/h{math} looks like (click to expand):



The plugin uses MathML where it is available in the browser you are using - e.g Firefox 1.5+, IE 6+ with MathPlayer and degrades to using images with less-capable browsers like Opera, Safari and IE without MathPlayer.

The plugin can be found at the Confluence Plugin Library. This release works with Confluence 2.8+, though an alternative version (with a simple manual install step) is also available for older Confluence versions.

Monday, 8 December 2008

JISC funding for EVAF4All

We are pleased to announce that we have received JISC funding (as part of the second call for Learning and Teaching innovation grants) for the 'EVAF4All' (Electronic Voting Analysis and Feedback for All) Project. This year long project (starting Jan 2009) will see the further development of ideas and pilots to 'close the loop' on clicker feedback - providing both students and staff with easy online access to personal responses, analysis and feedback from lectures where EVS (electronic voting systems) are used. The project team be lead by Simon Bates (PI) and Keith Brunton (technical developer) with further contribution from appropriate partners from other FE/HE institutions (tbc). As part of this project we will implement a vendor-neutral solution (for EVS-hardware, student-loan-system and VLE) in the hope of being as inclusive as possible.

Summary:

"We propose to develop a web-based system to provide staff and students across different institutions with analysis and visual feedback of data captured using 'clickers' (electronic voting system, EVSs) in their lectures or other teaching episodes. For an individual student, this will allow them to view questions or groups of questions with their own responses (and the responses of the class as a whole) well after a given lecture has taken place on a course, for feedback and revision purposes. For staff, the tool will provide anonymised aggregate statistics and feedback as to the effectiveness of the clicker questions used on their courses, aiding reflection and subsequent development of course materials. The system will be platform independent and will provide 'all in one place' functionality that is currently lacking from integration of common EVS software with Learning Management Systems (LMS)."

Friday, 8 August 2008

Announcing SnuggleTeX 1.0.0

After a few months of development and a few previews and betas, we are pleased to announce the release of SnuggleTeX 1.0.0.

So what is SnuggleTeX? Well, it's a little Java library for converting blobs of LaTeX into webby formats (namely XHTML + MathML). It was initially developed as part of our Aardvark system but has obvious applications in many other scenarios, so it seemed like a good idea to refine it into a standalone product for everyone to use if they want to.

This first release of the software can cope with a decent amount of LaTeX - certainly everything that we've used in Aardvark and everything that a novice or casual LaTeX user might expect. A few other features are planned for the 1.0.x release cycle and we're also going to sit down shortly to think about the medium to longer term plans for the project.

SnuggleTeX is open source and is available to download from SourceForge.net. We've chosen to release it under a nice and friendly BSD license.

More information and documentation on SnuggleTeX can be found at the SnuggleTeX Home Page.

Please don't hesitate to drop me an email if you'd like to discuss this further or would like more information. Enjoy!

Tuesday, 22 July 2008

Lightning conductor

Part of what is making my few weeks at UBC a really interesting experience are the community of people who are drawn towards a science education effort like this. It is almost as if the CWSEI (someone suggested it should be pronouned "queasy", though I don't think that would catch on...) acts as a lightning conductor for people with an interest in all aspects of science education.

So I am sharing an office with Perry Samson, meterologist from the University of Michigan. It turns out he is working on some really nifty things in the area of development of e-learning tools to enhance student learning. And he chases tornadoes in his spare time, which explain the title of his webpage: "Science is a contact sport".

He showed me two systems he is currently developing. The first is LectureTools, an environment that allows students to take notes online in real time during a lecture, ask text questions during the lecture, and complete various self-test and PRS type questions online. There's some rather nice Web2.0 stuff in there as well, that creates tag clouds from an analysis of the content that students write.

The second is Xamprep, an alternative to the traditional textbook. It contains all the contents of your textbook plus the ability to performs self-help quizzes, search the text, work with animations, add your own notes to the material and ask questions of clarification.

Both of these systems have the 'user-can-annotate' feature that we were thinking of for Physics 1A recently. And both are developed in a way that should permit sharing and reusability of the codebase.

Perry is currently developing an Xamprep site for a statistics course, so is interested in the work that we have done with MathML. I shall show him around and also get access to both systems so that we can take a closer look.

Friday, 7 March 2008

DUMP 2.0 Milestone 1 Reached!

The first milestone in the development work for DUMP 2.0 has just been completed. As promised in an earlier posting, we have added a number of new formats for exporting bundles of material from DUMP. (DUMP also now supports exporting single questions!)

So what's new then? Well, we now support exporting bundles of questions in the following formats:
  • Self-contained web bundle: This is a ZIP file containing a number of web pages that you can unpack into your own web space, or within a VLE. It contains a number of entry points that you can use to use your Questions on the web in a number of different ways. This content is completely self-contained and manages all of the question interactions automatically so is a great option if you want to deliver some formative assessment questions but don't have any kind of assessment engine available. The web content uses MathML for displaying MathML in browsers which support this, automatically falling back to "maths as images" for other browsers as necessary.
  • Printed PDF Format: This is a simple PDF listing of your questions, with options to have the correct answer highlighted and to show the feedback for each answer. There are also some limited customisation options available.
  • QTI 2.1: We now support exporting a bundle of Questions in the latest (draft) version of the Question and Test Interoperability (QTI) specification. Each Question is exported as a separate QTI document and bundled up as an IMS Content Package (v1.1.3). Options exist for including Mathematics as either (really nice) MathML, (quite nice) transparent PNG or (not at all nice) opaque GIF images, and feedback can be included or excluded as required. We decided to support multiple graphic formats in the event that the questions are used in web-based systems on older versions of Microsoft Internet Explorer, which needs a "hack" to support transparent PNGs that may not be feasible in some assessment engines. We can also output the slightly older QTI 2.0 specification as well.
  • QTI 1.2: We also support exporting a bundle of Questions in this older (but still very popular) version of QTI. Again, each Question is exported as a separate QTI document and bundled up as an IMS Content Package. QTI 1.2 does not support MathML so all mathematics is converted to images (either transparent PNG or opaque GIF) on export.
  • Respondus Import: We are pleased to announce that it is now possible to export questions in a ZIP file that can be subsequently imported into Respondus. Beneath the hood, this is just a modified version of the QTI 1.2 export but includes a number of tweaks required for Respondus to handle it correctly. Once into Respondus, it is then easy to import the questions into other systems, such as WebCT.
This work is currently a bit rough - I have just shoe-horned these new features into the existing DUMP web interface. This will be tidied up for the next milestone, which I anticipate being given a public release. If you are a DUMP user and would like a quick look at DUMP 2.0M1, drop me an email and I'll tell you how you can get access!