ASSISTments is a free, online Intelligent Tutoring System (ITS) created by Neil Heffernan (my graduate adviser) and actively developed by his team of research assistants at WPI. ASSISTments allows teachers to sign up for accounts and create classes that students can enroll in once they have created their own accounts as well. A rapidly-expanding library of math and other content is available for teachers to assign to their students, or they can create their own using the content creation tools provided by ASSISTments. This content not only assesses students, but also assists them at the same time by providing hints and tutoring. The website collects fine-grained learning data generated by students and presents it to teachers in the form of reports, allowing them to adjust their teaching in a process known as “formative assessment.” This data is also provided to researchers from WPI and its partners to support educational research. ASSISTments is currently used by thousands of students and teachers in the greater Worcester area, Maine, and even India. More information about ASSISTments can be found on the TeacherWiki.
During my time as a graduate student at WPI, I was a senior developer on Professor Heffernan’s team. Aside from doing research and day to day tasks such as bug fixes, site maintenance and minor feature requests, I also engineered several larger features for the website, two of which are described here. These features are currently live and are used by the thousands of students, teachers, administrators, researchers, and parents that comprise the ASSISTments user-base. Note: ASSISTments uses the Ruby on Rails framework, and thus the following features are also written in Ruby.
My primary contribution to ASSISTments and the topic of my Master’s thesis is the parental notification system. This component allows parents to create their own accounts on ASSISTments and provides them with the same fine-grained data about their students’ performance that teachers have access to. The system consists of several front-facing views to present data in the form of reports, a job scheduler for sending out automated emails to parents, and a messaging subsystem allowing communication between parents and teachers within ASSISTments that is contextualized with relevant data. More information can be found here.
The essay grading feature, which allows teachers to grade open response questions (because obviously ASSISTments cannot do this automatically), existed before I started working on the website. However, the teachers I worked with had found a creative new use for the page: having students critique each other’s responses. This process had to be done manually though and was rather cumbersome. In response to their feedback, I took it upon myself to completely rewrite the entire essay grading page, adding in functionality that automated the critiquing process. My teachers could now select certain essays from their students’ work and the system would programmatically generate an assignment for students to critique them. These critiques are then integrated into the essay grading page so that teachers can go over them with the class. More information can be found here.