MathJax

Showing posts with label monassis. Show all posts
Showing posts with label monassis. Show all posts

03 December 2012

Monassis release 1.0.9

The first release for a while, mostly because we've madly been writing free textbooks over at Siyavula. Now that the dust has settled, I'm back onto Monassis development and the first order of business was to switch to a new database server. We've been using SQLite until now, which has been holding up really well with about 3700 users, but it won't scale for the future, so we're moving to PostgreSQL.

Changes:
  • Migrated to PostgreSQL.
  • Much improved ASCIIsvg to PNG pipeline. The latest figures are beautiful!
  • Mathematics and Physical Sciences, Grades 10 and 12 are complete.
  • Bugfixes and unit tests.

Over the course of the next month we're getting ready for the start of the 2013 school year. This means completing alignment of Grade 11 exercises to the new curriculum and finalising a few additional features for learners and teachers. Expect the next release in about 4 weeks!

11 September 2012

Monassis release 1.0.7

This is a minor release and mostly a collection of fixes (listed below). The exciting bit is that some of the modifications are in preparation for releasing the practice service over mobile phones... but, you'll have to wait a few more weeks for detailed news on that front.

  • New features:
    • Each chapter in dashboard is now a link, filtering on that chapter only
    • Implemented coordinate response type
  • Fixes:
    • Minor fixes to ASCIIsvg to PNG converter (Thanks Leen!)
    • Do not show "future chapters" section on dashboard when there are no more future chapters. (We finally need this since the Physical Sciences Grade 12 book has been fully templated!)
    • Fixed list response type so that it can have sub-types that use semi-colons
    • Implemented separate sessions for each book. You can now practice maths and science simultaneously without confusing the practice service.
  • Mobi prep:
    • Check for Mxit in request headers
    • Added spans and divs around dynamic elements in dashboard and question views
    • Implemented per-book access control

30 August 2012

Monassis release 1.0.6

Version 1.0.6 of the intelligent practice service went live late yesterday! This release is mostly a collection of fixes.

The major fix is that ASCIIsvg images are now being converted to PNG images on the server side. Some browsers (notably IE and Chrome under Windows) do not support SVG images natively. Since most of our clients are Windows users, this was a bit of a problem. The cool thing is that images are still created using the ASCIIsvg format, making it possible to template and randomize them.

The ASCIIsvg to SVG code was created by Leen Remmelzwaal here at Siyavula and is available under the GPL here. The new code base has an improved version of the original Javascript library (cleaned up and with some additional functionality) for client-side conversion and a new Python library for server-side conversion.

A whole bunch of chapters have also been released in the mean time. We are very close to finishing up all of Grade 12 Mathematics and Physical Sciences and not too far off from finishing Grade 10 too.

26 June 2012

Monassis release 1.0.5

The next release (version 1.0.5) of the practice server went live today.

The most notable new features are

  • a "Try this question again" button, for when you got a question wrong, read the feedback in the worked solution and want to give it another try with a new random set of numbers.
  • 8 new chapters to practise including
    • Mathematics Grade 10, Finance and growth
    • Mathematics Grade 10, Trigonometry
    • Mathematics Grade 11, Hyperbolic functions and graphs
    • Physical Sciences Grade 10, Electric circuits
    • Physical Sciences Grade 10, Quantitative aspects of chemical change
    • Physical Sciences Grade 11, Quantitative aspects of chemical change
    • Physical Sciences Grade 12, The chemical industry
    • Physical Sciences Grade 12, Electromagnetic radiation
  • Corrections to existing templates, based on comments from our users. The "Report a problem" button is really working and we're able to iron out any remaining problems within 24 hours of a report. Whoever reported the problem gets a personal thank-you note and the other users never even know that there was a problem!
Thanks again to the team of technical content editors for pushing out templates at an alarming rate and welcome to Eric Gulbis who joined us on the 18th!

(P.S. For those who are paying attention: version 1.0.4 was a minor bug-fix release.)

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.