My Projects


submit is a web service that is intented to be used for online submission of programming assignments. When configured, submitted projects can be automatically assessed. submit is a significantly more sophisticated version of auto_grade making it drastically simpler for students to see their feedback and for instructors to configure their projects. (Source, Web service)


taevals is a Google AppEngine application I wrote when I was the Lead TA to lessen the burden of completing the midterm TA evaluations. An important factor of TA evaluations is anonymity and thus taevals was designed with anonymity in mind. While it is easy to say an application should be trusted, I took this one step further and made the code available on Github under the New BSD License. More information about taevals can be found on its GitHub page.


turnin_helper is an incredibly useful tool I wrote to assist in grading course projects. It is intended to work in tandem with UCSB CS's turnin program. See the project's README for everything you'll need to know. (Source)



I wrote auto_grade in Winter 2009 following writing turnin_helper to minimize my effort in grading student's projects for CS160, Compilers. Though auto_grade reduces grading time a great deal of effort is needed at the start of a project to define the inputs and outputs. The primary benefit of auto_grade is that it provides immediate feedback to the students in a manor that is completely objective. (Source)



CRAWL-E is a web crawling framework that seamlessly supports distributed crawling across multiple threads as well as multiple machines. I wrote CRAWL-E in order to collect data from both and Facebook when I was working in Professor Ben Zhao's lab. For a short while after, I continued to improve CRAWL-E as issues appear and features are requested. CRAWL-E is released under the open source New BSD License. More information about CRAWL-E can be found along with its source.