Wednesday, April 6, 2011

Grading Made Easy using Apps Script

Repost from Google Apps Developer Blog.

Editor's Note: Guest author Dave Abouav is a Google employee who is a part-time instructor for a night class in physics. He created Flubaroo as a 20% time project at Google based on his own teaching experiences.

As an instructor for a night class in physics at De Anza Community College, I didn't have enough time to grade assignments. Because it was a survey course, multiple choice assignments seemed like a viable option. So I used Google Forms to collect homework assignments. But I needed a way to grade the collected submissions and perform some useful analysis. The idea for Flubaroo was born and is now ready to share with other teachers thanks to Google App Script!

Flubaroo is designed as a simple grading solution for teachers using existing tools they're already comfortable with. It allows automated grading of quizzes and assignments administered via Google Forms. Beyond just grading, Flubaroo also provides analytics such as a histogram of grade distribution and identification of questions that many students missed. Flubaroo's most popular feature is its ability to email each student their grade, along with the answer key if desired.

Here are the key reasons I chose Google App Script to implement Flubaroo:
  1. I wanted to build a simple application which can be easily integrated with Spreadsheets without the need to compile and deploy code.
  2. I liked its ability to integrate right into the spreadsheet as a menu, easily giving teachers access to all of Flubaroo's features.
  3. Apps Script provided UI Services which allowed me to build UI applications very easily from within a browser. I did not have to install complex tools to create a UI.
  4. Apps Script Services makes it very easy to integrate other Google APIs such as Google Charts API for the grade histogram.
  5. A JavaScript syntax is easy to program and without the need to learn more complex languages like Java and Python.
  6. App Script gave me the ability to easily share my grading technique with other teachers through the Apps Script Gallery. It is very easy for anyone to install the Flubaroo script in their Apps Script editor.

It was easy to get started with App Script, and the examples already provided in the Apps Script Documentation further helped me get it working quickly. Flubaroo is about 2300 lines of code. I used Spreadsheet Services to process and grade assignment submissions. I extensively used Ui Services to create the grading flow. In addition, Flubaroo makes use of the Google Chart API to create the grade distribution chart. Integration with Apps Script with Google Chart API was very easy. Below is an example of the types of charts I was able to generate using Apps Script's integration with Google Chart API.



One of the great features of Apps Script is the availability of Triggers and Events. Events helped me provide a menu to the users. I created an onOpen function which installed a menu on the spreadsheet every time the spreadsheet is opened by a user. This allows users a menu based access to the various functions in the script.



If you'd like to give it a try then please install the script from the Apps Script gallery. You can also visit Flubaroo website to go through a full tutorial of the script. Thanks to Apps Script, grading assignments is no longer a chore for me.

Want to weigh in on this topic? Discuss on Buzz

4 comments: