In the spring of 2011, I acted as Teaching Assistant to the introductory Human-Computer Interaction class taught by James Fogarty. The course is focused around an intense, term-long project for four-person teams. Over the length of the course, teams propose an idea for a new interactive application, design different interface approaches to this idea, while continually evaluating their designs against real users.
My responsibilities included mentoring the project teams through all phases of the project, as well as leading seminars and design charettes for developing ideas.
This project is work for a graduate-level Computer Vision course taught by Linda Shapiro. The goal is to find, label, and track moving objects in videos, even when the video has a moving background. Experimentation with several different approaches resulted in using a Harris detector to extract interesting points. An Optical Flow algorithm is used to model the motion between subsequent video frames. After the background motion is modelled and corrected, K-means clustering is used to identify and label discrete moving objects. It was implemented in Python using OpenCV.
This project was coursework for a graduate-level Networking course taught by David Wetherall. The goal was to design a protocol that allows robust and efficient communication between two smartphones using their camera and display. The main challenge arose from the lack of a back-channel, preventing rate throttling and feedback on lost packets. In response, we devised and evaluated various techniques for interleaving potentially redundant packets to maximize throughput.
QR codes are used for low-level data transmission, providing link-layer error detection. Information is encoded using Forward Error Correction and transmitted redundantly to compensate for the noisy channel. The protocol was implemented on top of Android.
with William Austin Webb
CAPED (Calm Audio-controlled Personalized Display) is a prototype built for a graduate-level Ubiquitous Computing course taught by Shwetak Patel. It consists of an ambient display, such as a digital picture frame, which responds to known people with personalized content.
When a user approaches, their face is recognized using a Haar Classifier and customized information, such as weather and news, is displayed. A simple set of voice commands can be spoken to cycle through screens of data. GNU Radio is used to extract spectrograms for the utterances which are classified with machine learning techniques.
with Sidharth Nabar