A lot of great technologies exist for interactive demonstrations, but a ton of math work is still caught up in notebooks written in pencil. OpenNotebook is an open source application that allows for actually working on math on your computer, showing step-by-step algebra work as well as creating graphs and diagrams.

Our hack this weekend was to combine this application with the Moodle course management system to allow for automatic grading of work, augmented by teachers providing partial credit for any questions that students got wrong, because they can now collect the actual work done by the students, not just their final answers.

What it does

Students can use the OpenNotebook application to create a document that represents exactly what they would usually write in their notebook. Our hack this weekend added the ability for Moodle to read these files, check the answers of each question against an answer key and generate a "student summary" document for teachers. This gives a concise summary of all of the work done incorrectly, teachers can then award partial credit based on student work.

How I built it

Some modifications were needed to make the OpenNotebook application with with Moodle. On the student side, they were just submitting the documents they would create themselves. On the teacher side we wanted to provide a clean experience, so we wrote some new java code to allow for partial credit and feedback provided for a problem to be saved back to the Moodle site.

Challenges I ran into

Moodle is a large library. It was a bit difficult to see exactly where the enhancements we wanted to add belonged. We ended up focusing more on the java side, as the grading interface is going to be in the client app anyways, we just started moving the automated grading there as well. It just didn't seem to fit into Moodle's model.

Accomplishments that I'm proud of

I've been wanting to do this hack for a long time, just happy to say I sat down and did it.

What I learned

There is always less time in the weekend than you think

Share this project: