MOONSTONE, which stands for “Making Object Oriented Novel Software Tools
Optimized for Noting Exceptions”, is a new plugin for Eclipse that supports developers in understanding exception flow
and in writing exception han-dlers in Java. Understanding exception control flow is paramount for
writing robust exception handlers, a task many developers struggle with. To help with this
understanding, we present two new kinds of information: ghost comments, which are transient overlays
that reveal potential sources of exceptions directly in code, and annotated highlights of skipped
code and associated handlers. To help developers write better handlers, MOONSTONE additionally
provides project-specific recommendations, detects common bad practices, such as empty or inadequate
handlers, and provides automatic resolutions, introducing programmers to advanced Java exception
handling features, such as try-with-resources. We conducted two formative studies that
informed the design of MOONSTONE. We also ran a user study that showed MOONSTONE improves users’
understanding in certain areas and enables developers to amend exception handling code more quickly
The aim of this project is to teach data
organization concepts to freshman students with little to no computing background, in
an e-learning environment. The organization of data is a very important issue for
computation. A data structure is a way of storing data in a computer so that it can be
used efficiently. In this project, we will focus on teaching students how to do data
manipulation with arrays. Data structure is often a challenging concept for students to
learn in an introductory computing course. Arrays are often the first data structure that
students learn, such is the case for Principles to Computing (15-110) at Carnegie
Mellon. View our summarized presentation regarding the system and curriculum here!
Worked on an Android & iOS application to track bicycle rides and navigation issues. Find more information here: http://cyclesac.org/
The objective was to look at the Github conversations from the perspective of openness
and framing and see if these two perspectives provide an enhanced view and insight into
interactions between developers. This would help in understanding why certain conversations
culminate in the acceptance or rejection of pull requests and how the developers build
consensus or negotiate the development of open source artifacts. We examined the following
1) How do we detect openness for an individual in a reliable way?
2) How do we detect framing for a conversation in a reliable way?
3) What interactions are there between between openness and framing within the same
I'm currently mentoring a group of four METALS students working on their capstone project for Renaissance Learning. In addition to helping them
with client relations and project management, I'm helping to program the architecture for their final project.
Western Governors University
While completing my graduate degree for the METALS program, I was the team leader for our capstone team working with Western Governors University (WGU).
During the project, I managed an interdisciplinary team conducting research, designing, and programing. We worked to develop an Android app used to
deliver small segments of learning. It was so successful that WGU is actually taking our code and implementing it into a large-scale app for their
students to use! You can view the finished product and our process here!
Westat - Full Stack Developer
I began working at Westat during my sophomore year of undergrad at Georgia Tech. Throughout my four years there as a full stack developer,
I got my hands dirty learning mobile development, modern UI trends, managing databases, and of course writing extendable and documented API endpoints!