Projects

Stack Authority - Predicting Stack Overflow Post Helpfulness Using User Social Authoritativeness

Abstract:

Online Collaborative Questioning and Answering (CQA) websites have shown an explosive growth trend in recent years. Websites such as StackOverflow and Quora have become increasingly popular and relevant in today's world, with people actively using these websites to ask questions about everything from mundane day-to-day tasks to highly specific details about subject matter. While these websites are incredibly useful, they also suffer from having extremely unhelpful, spam-like posts. Humans may be needed to properly classify posts as useful or not useful, but having a computer based model which predicts the usefulness of a post would greatly increase the efficiency of classifying posts. In this paper, we discuss two models which predict the ratio of upvotes to the sum of upvotes and downvotes on StackOverflow posts. Additionally, we study the effect of adding social information, specifically user hub and authority scores as a feature to our models. Overall, we are able to match and slightly outperform similar literature, and also conclude that hub and authority scores have little effect on predictive models.

Paper

Narrator - An Activity Timeline for Rapid Task Restoration

Abstract:

In this paper, we introduce Narrator, a timeline-based visualization to be used with rapid task restoration. In Narrator, users see a timeline that displays the frequency with which certain applications have been used in a given time interval. We also allow them to explore other information, such as images of the screen at different times. Using Narrator, we hope to allow users who switch tasks often to quickly find the last time they were working on a given job, and use that past setting to quickly restore their mental context, thereby increasing efficiency and reducing downtime due to mental "context switches." We discuss the uses of Narrator, how it is built, and the features it boasts. We also discuss the role of Narrator in the grander scheme of a project which identifies tasks and gives users even more context they can use to identify previous tasks rapidly.

Paper

Game of Streams - A Comprehensive Study of Streaming Cyberlockers

Abstract:

Streaming cyberlockers, third-party video streaming platforms which primarily consist of pirated content, have seen incredible growth in recent years, but seem to avoid much scrutiny and thus have stayed outside the scope of most cyberlocker-centric studies. This project attempts to close this gap in the literature by identifying central characteristics of streaming cyberlockers such as their traffic and revenue generation models, the physical location of the websites, relationships between websites, and whether there are any feasible forms of external intervention capable of exploiting faults in their operational model. We found that sites did tend to locate themselves in similar locations, and that their revenue is generated primarily through advertising, while an affiliate model drives traffic to the website by attracting content uploaders, who in turn attract viewers. We were unable, however, to identify any feasible methods of interfering with this model, and determined that current anti-piracy efforts such as DMCA takedowns are largely unsuccessful although further studies which take into account indexing sites and advertising networks could potentially determine some form of intervention.

Paper

The Great Mouse Detective - An Exploratory Analysis Tool for Mouse Tracking Data

Abstract:

We present Mouse Detective: an exploratory analysis tool for mouse tracking data. Mouse Detective is a vi- sualization which allows users to quickly look through mouse tracking data in order to identify underlying trends in work activity and productivity. To do this, we provide users with a screenshot of their computer over- laid with both mouse clicking and mouse movement data. We additionally provide a variety of easy-access filter functions in order to allow users to sift through smaller portions of the data. With Mouse Detective, we hope to allow people to better understand mouse data and iden- tify trends in user activity, with the ultimate goal of build- ing a cognitive aid meant to help people reflect upon their work experiences.

Paper

Java Method Call Devirtualization with Soot

Abstract:

Java, being an object-oriented language, provides support for polymorphism and inheritance, and thus virtual method calls. Though a boon for programmers, virtual method calls negatively impact the execution time of Java programs due to dynamic dispatch, wherein virtual method call resolution is delayed until run-time, as the type of object calling the virtual method is unknown beforehand. In this paper, we use a Java static optimization framework to implement multiple ways of resolving virtual method calls at compile-time, and compare their effectiveness.

Paper

Collaborative Video-based Learning for Online Classes

Abstract:

Online learning is one of the fastest growing areas in the educational field, which has made it subject to a great deal of attention. Many courses from major universities nowadays are offered completely online, taught through videos and featuring minimal peer-to-peer interaction. Due to this up and coming trend, many research in the education space studies the effects of online learning on students, and how the online learning experience can be enhanced. In this study, collaborative video-based pair learning is explored through a between subjects experiment comparing the knowledge comprehension of individuals versus paired participants after watching a ten-minute video. Analysis of the data shows that individual users scored 0.5 points better on a ten-point, ten-question quiz. Results also showed that paired partners made use of unique platform features less than individual participants. We attribute this to flaws in the presentation of paired learning to the user, and thus present future revisions to the project that would further study collaborative learning.

Paper

The Educational Robot for Innovation and Creation (eRobotic Platform)

Abstract:

Despite the promise offered by web-connectivity, many robot-related applications have not made the shift to incorporating web services. This project aims to show an example of the Robot-as-a-Service paradigm, wherein a robot can be communicated with and controlled, much like any other web service. In this implementation of RaaS, a robot is given commands to execute via a graphical web-based programming environment. The programming environment is tailored towards introducing high school-aged children to basic programming and algorithmic concepts, with the robot providing immediate feedback to the students, reinforcing these concepts and how they can be used in real-life applications. When tested with 7th grade students over the course of three days, it was found that the system provided a significant boost in programming knowledge and critical thinking.

In 2014, I was invited to present the eRobotic Platform at Intel's Embedded System Design Competition in Shanghai, China. The eRobotic Platform won first prize.

Paper