Problem We are Solving

Solving and Grading Programming Assignments

Currently at Brandeis, if students want to upload their solutions to programming assignments, they need to work offline in their IDEs, then upload zip files containing their code. Instructors will need to download every single zip file, unzip them onto their computers, run tests manually and upload grades by themselves.

Imagine you are one of the graders who needs to go through the same process 50+ times...

That's why we built AspirinX. AspirinX is a web-based and database-driven application that brings programming assignments to the cloud. A teacher can create and post a programming assignment, retrieve all submissions, grade them, run unit tests and analyze the results, and export grades all without leaving the app. A student can view programming assignments, code a solution, compile and run the code, submit the assignment and view a grade, all from within AspirinX.

Key Interfaces

User Dashboard

View all your upcoming assignments and course announcements in a single page.

Assignment Editor

A place where students can write code, add new files and view the standard output from running their code. The editor also supports autosaving so that code won't dissappear if browser crashes.

Automated Testing for Submissions

Instructors can provide unit tests as a part of an assignment. Tests will run through all submissions to ensure their correctness.

Test Statistics

Submissions will be graded based on how many tests they passed. Statistics about submissions is available to instructors. Instructors can also export grades to CSV file and import them onto Latte.


App Experience Flow


Key Technologies We Used

Languages and Frameworks

Ruby on Rails
JavaScript
Java and Python Runtime

Source Control and Deployment

Git and GitHub
CodeShip
Heroku

Libraries, Databases, Services and Others

Google+ OAuth
AWS S3
Text Notification with Twilio, Email Notification with ActionMailer
AJAX
WebSockets with ActionCable
Background Processing with Sidekiq and Redis
PostgreSQL and SQLite

Frontend Display

Ace Editor
Bootstrap 4
Charts.js

Team Members

Shulin Chan

shulin@brandeis.edu

Guillermo Narvaez

gnarvaez@brandeis.edu

Yaoming Zhan

yzhan@brandeis.edu