MathJax

12 June 2012

Monassis release 1.0.3

Another development cycle completed! New user-facing features:
  • A user feedback form for reporting problems with the service or any particular problem. The issues get logged in GitHub and our crack team of technical content editors process them.
  • A "How should I write this?" button that shows the user a short tutorial on the notation for different types of inputs. It is context sensitive, so if you are answering a chemistry problem, it will show you how to write chemical notation. Here's an example for fractions:
  • 12 new chapters available between the 6 books! There are now 438 templates in the database.
 New back-end features:
  • Implemented the <rawvalueof> tag, so that XML can be generated directly using Python.
  • Consolidated the type library and added the chemical equation and string set types.
  • Bugfixes: better scientific notation rendering, changed default numeric error function to relative (rather than absolute), interval parsing failed on + operator.
The next release will focus more on back-end development, although the following user-facing features are high on the list:
  • links from practice problems to the textbook, so that you can review content related to the problem before attempting it;
  • a "Try this question again" button if you want to repeat the same problem, but with a different set of random values.
As always, you can sign up for a free trial at everythingmaths.co.za or everythingscience.co.za.

28 May 2012

Monassis release 1.0.2

I'll be trying out a micro-release schedule over the next few weeks. The schedule consists of a 2-week cycle with feature development, testing and bug-fixing in-house after a feature freeze, and finally roll-out to the live site. The first cycle just completed!

This is the first non-bugfix release since v1.0 with the following new developments (roughly in order of importance):
  • lots of new chapters available (398 templates total)
  • more robust response type library
  • spectroscopic notation for electron configurations
  • chemical compound notation
  • arbitrary precision floating point numbers
  • better unicode support
  • display subject and grade on dashboard
  • file and email logging of server errors
  • rudimentary usage analytics
Many thanks to the Siyavula team of technical content editors for churning out templates at an alarming rate :) The practice service would be nothing without its exercises.

The next release will focus on new UI and active users should see a few cool new features on 11 June 2012!

16 April 2012

We're live!

Good news everyone! The Monassis practice service is now at version 1.0 and running as part of Siyavula's Everything Maths and Everything Science textbook sites. This actually happened 3 days ago, but I was too exhausted to even think about writing a post.

If you'd like to try out the software, you can register as a user on everythingmaths.co.za or everythingscience.co.za, which will get you a free 30-day trial subscription to the service. Note that this is currently a paid-for service that supplements Siyavula's free, CC BY textbooks, so if you want to use it for more than 30 days, you will have to sign up for a paid account.

What's under the hood?

Templated questions: Each question that you see is actually generated from a Python and XML-based template in a MVC framework. Numbers, names, variables and a little bit of problem structure are generated randomly each time that you reload a template. We currently have about 350 templates, which might not sound like a lot but each templates equates to a bunch of individual exercises.

Cool maths parser: Maths problems requiring symbolic responses -- like factorised or expanded polynomials, inequalities, intervals on the real line, proper fractions, sequences and sets -- are all parsed from a simple calculator-like notation; and compared to a model solution.

Instant feedback: This is a practice service, which means that you get a detailed solution to each exercise once you've submitted your response.

Dashboard: Simple feedback on your progress with different types of exercises. Exercises are organised by chapter in the Everything Maths and Science textbooks and users see a breakdown of their progress per chapter.

What's next?

Gathering data: You can't make an omelette without eggs and you can't do inference without data. Now that the service is live, we'll be encouraging people to sign up with the aim of getting as broad coverage as possible of school-age students in the country.

Diagnostics: We're already gathering usage data from the textbook websites, giving insight into how our books get used around the country. This will be extended to mining user data from the practice service for a couple of purposes:
  • helping individual users identify weaknesses and helping them find educational resources to remedy those weaknesses;
  • discovering correlations between exercises across grades and subjects, to better understand how students can learn difficult concepts;
  • reporting on the state of education in South Africa, to inform decision about educational programmes or interventions.
Scalability: We're aiming to get a lot of people to sign up and we'll need a bit more work on the hardware and software to handle the load.

More templates: Work continues to get good coverage of all the chapters in all our current and future books. Making templates takes time, effort, technical skill and good exercise design. Our crack team of technical content editors is on the job.

Mobile interface: Most of our target audience use mobile phones to access online content and the service will soon be re-styled to accommodate them.

28 November 2011

Funded

As you can see from the logo to the right, the Shuttleworth Foundation has very generously provided some funding towards the development of Monassis! The funding is part of their mini-grant programme.

This is great news for since I'll be able to spend more time on development and perhaps even a bit of money on hardware. Since I'm developing the platform for both browsers and fairly low-end mobile devices, it's important to be able to test on these.

Thanks SF and thanks Kathi for the nomination!

02 November 2011

Keen teachers create Monassis templates

I have to admit that I was skeptical when Mark suggested that we let teachers try their hand at creating templated questions for Monassis. To give you an idea: this requires writing at least a Python file (for the question logic) and a XML file (for the question layout and scripting the user responses and feedback). There is also the option of writing some ASCIIsvg to generate graphs client-side, at run time, based on the values generated in the Python script. Oh, and I nearly forgot, you have to write LaTeX to get the mathematics right.

All in all, no easy task.

But, a few hours later, all of them had successfully created their own templated questions. With graphs and everything!

Looks like I'm going to have to rethink my stance on distributed volunteer creation of templated questions.

18 October 2011

Version 0.2

By and a large, the past two weeks have been a success. Admittedly, I tested the boundaries of sanity along the way.

The highlights are that
  • XML templates with linked Python for logic and PNG or ASCIIsvg files for images are now stored in SQL database and can be interpreted by Monassis;
  • templates have tags (based on the chapters and sections of the FHSST books) which can be used to filter the questions the user would like to practice;
  • student, teacher and author accounts exist, with students potentially belonging to class lists, each associated with a teacher.

The only bits that didn't make it in during the sprint are the reporting bits.

I'm about to show a demo to a group of teachers (in about 1 hour) and again some time tomorrow or Thursday to another group. Hoping to get some feedback from that.

04 October 2011

Sprint: Structure and User Management

The time has come for the next round of all-out coding to push the exam practice system to the next stage of usefulness. The goal is to make it possible for a small number of teachers to have their classes practice for the upcoming exams, and to monitor their students' progress. The target date for showing this v0.2 prototype to a group of teachers is 18 October — exactly 2 weeks from now.

List of features to implement:
  • Structured format for questions. The question templating is still too haphazard and not all question metadata is stored in a way that's easy to extract and process. The logic of questions will still be specified using Python. The question presentation and metadata will go into XML.
  • Hierarchical labels for questions, to make filtering manageable. The tags will be along the following dimensions: topic (e.g. Physics::Mechanics::2d motion::Projectile motion), concepts (e.g. interpreting linear graphs, quadratic equations, rearranging equations), grade level.
  • Many more questions. The structure format should make it easier for other people to help add templated questions. I should focus on whatever will be covered in the grade 10 final exams for mathematics and physics.
  • Teacher and student accounts. Each teacher can set up a class list of students.
  • Reporting to students: total problems completed, percentage answered correctly overall and filtered by topic, ranked list of topics that need practice.
  • Reporting to teachers: same as students, but at both individual student level and average class level.

P.S. The project now has a name: Monassis.