John MacCormick's research
My main area of research is computer vision—that is, getting
computers to understand images and video—but I enjoy working on
a wide variety of problems in computer science. For example, I've
also worked on large-scale distributed data storage systems, and pair
programming techniques for undergraduate computer science education.
Here are a few of the questions my research has attempted to address
over the years:
- How can we track a person's finger accurately enough with a
video camera to allow fluent human-computer interaction without
using any type of touchscreen, mouse, or pointing device? (This is
work from my PhD thesis, later published as chapter 7 of the book
Stochastic
Algorithms for Visual Tracking, and in the conference
paper Partitioned
sampling, articulated objects, and interface-quality hand
tracking.)
- When undergraduate students work in pairs on programming
assignments in an introductory computer science course, how should
pairs be assigned? Randomly? Or is it better to pair strong students
with other strong students and less able students with other less
able students? Or do pairs of mixed ability lead to better outcomes?
(This question is tackled in a SIGCSE conference
paper, The
Benefits of Pairing by Ability.)
- Suppose you are trying to store, in a data center, millions of
files on behalf of thousands of customers. To guard against data
loss, each file should have, say, three copies stored on different
computers in the data center. How do you decide where to store the
copies of each file, in such a way that the file can be efficiently
retrieved later, while keeping the load on each computer balanced?
(A possible solution is provided by an article in the ACM
Transactions on
Storage, Kinesis: A
New Approach to Replica Placement in Distributed Storage
Systems.)
To get a more complete picture of my research, please take a look
at my publications
and patents. You may also be interested in
the list of talks I have given, and a separate page describing
research with undergraduate
students.
My most recent project,
called MultiCam,
examines the technical and user interface challenges in providing
support for multiple cameras in video chat software such as Skype.
For more details, and to download the MultiCam software, please check
out the MultiCam
project page.
Back
to John MacCormick's
homepage