I'm always open to students who would like to do independent research with me. At this point, my interests are wide-ranging and eclectic, so feel free to chat with me about ideas you have. I have always been interested in artificial intelligence, especially natural language processing. I teach courses in computer graphics and in simulation, and I'm very interested in pursuing those areas, particularly where they overlap. I also administer the department's computers, so I'm very interested in system programming (mail servers, web servers and such) and in computer security. For more thoughts and suggestions, see the research section of my home page.
In the summer of 2010, I will be working on some computer graphics projects. The emphasis will be on physical modeling: building objects out of polygons, mathematical curves and the like. Specifically, we will work on modeling hair and cloth. We'd like the objects to animate well, moving and interacting property with gravity. We may also address surface appearance, though that is less important.
My research explores human visual processing through an interdisciplinary approach that combines computer modelling and perceptual experiments. My work focuses on how we analyze the three-dimensional structure and movement of objects in the environment through the integration of multiple cues such as image motion, stereo vision and perspective, and how this information is used in the visual guidance of motor tasks such as driving and catching. When we move through a complex and dynamic scene of the sort that arises when we drive or play sports, we use visual cues to carve the scene into distinct objects that we can recognize, track or interact with in some way. The rapid detection of object boundaries using cues such as relative motion and changes in depth from stereo, is a key step in this process. I am currently pursuing two research projects related to this task. The first focuses on the development and implementation of a computer model for the detection of object boundaries in stereo image sequences of dynamic scenes containing multiple moving objects. This modeling effort is inspired in part by physiological observations of how boundaries are detected and represented in primate visual systems. In the second project, perceptual experiments are used to study how the human visual system integrates stereo and motion cues in the detection and interpretation of object boundaries. I am also interested in continuing to build on my recent work on the visual guidance of steering while driving a vehicle, and the visual cues used in catching tasks. Student research projects can explore computational or empirical aspects of human visual processing, or the design of computer vision systems.
My research interests focus on the neural mechanisms underlying short-term memory and motor control from both computational and neurophysiological perspectives. A sampling of my publications include "Connectionist contributions to population coding in the motor cortex," in Progress in Brain Research, special issue on Population Coding, 2001, M. Nicolelis, ed. and "A model that accounts for activity prior to sensory inputs and responses during matching-to-sample tasks," J. Cognitive Neuroscience, 2000. I am currently not available for summer research projects.
Panagiotis T. Metaxas
Recently, my research interests lie on Web Information Trust (aka CyberTrust), and development of expert systems for medical applications.
The Web is omnipresent, but the information we find when we search is not always reliable. In my research I am trying to tackle questions such as
- "How do you know whether you should trust the contents of some web page, or web site?"
- "Can a search engine, such as Google, give you trustworthy results when you use it?"
- "What kinds of tools does your browser need in order to help you sort out the quality of web sites?"
To answer these questions, one has to address both the social and computational aspects of these questions:
- Measure the degree that people are confused by misinformation on the web.
- Define 'social trust' and find ways to approximate it computationally
- Explore the relation between social propaganda and web spam
- Explore web neighborhoods and identify non-trustworthy communities
It is a large and fascinating project that is recently getting a lot of attention. I have worked with both Social Science and Computer Science students to address some of these problems. Students sometimes will take on a summer project with me during their rising senior summer which will evolve into a thesis.
Expert Systems for Medical Applications
I am working with group of researchers at the Harvard Medical School on creating computerized tests for diagnosing mental disorders. One of the problems that I am interested in, is the development of an expert system that will help physicians come up with the right diagnosis and determine the appropriate treatment regime.
The medical test results can be complex, involving more than a dozen parameters. An associated project is the development of the right interfaces for simplifying and communicating the test results to both clinicians and patients.
Parallel Computing and Multimedia
I have also done research in the past, and always interested in working on new exciting projects, on Parallel Computing and Multimedia Systems.
Feel free to contact me (email is best, but visit my office if you are around) for a more detailed explanation of the problems.
See my publications page for more information.
In my research, I'm concerned with the question "How to make finding information on the Web more efficient?". This question has several aspects. The Web is continuously changing and right now there are three different types of Web with distinct characteristics: the traditional (original) web, where people can only read and find content published by others; the social Web or Web 2.0, where everyone can participate, contribute content, and form relationships; and the Web of the future - known as the Semantic Web, where software agents will be able to use the relationships among information and people in sophisticated ways. Thus, because the Web is always changing, new algorithms for finding information on the Web are required. Another aspect has to do with the efficiency of the information finding process. Do search engines really fulfill user needs for information, or are there ways to improve on both how user information needs are expressed (not simply with keywords, but with real questions) and on how they are answered (not with a long list of millions of documents, but with summaries of information from different perspectives).
Students that are intrigued by these types of questions are strongly encouraged to contact me for independent or summer research projects. I am open to work with students of different backgrounds, interests, and skills. The more mathematically inclined can work on machine learning algorithms, those skilled in programming can prove themselves in building new kinds of social software, and others with interests in economics or sociology can contribute in analyzing and discovering emerging patterns of information flow on the social web.
My research is in the field of Human-Computer Interaction (HCI). I focus on developing interaction techniques and software tools for next generation user interfaces. Such user interfaces include tangible computing, gesture-based interfaces, virtual reality and touched-based interfaces. Extending beyond the desktop paradigm, they offer a more natural, intuitive and accessible form of interaction. To explore the benefits of these emerging interaction styles, I develop advanced user interfaces for application domains such as scientific visualization, creative expression and education. In addition, I develop frameworks, software tools and specification techniques that aid the design, implementation and evaluation of emerging interaction styles.
Opportunities for students: I am seeking students who would like to work in an interdisciplinary team to design and build tabletop user interfaces on top of the Microsoft Surface platform.
In addition, students can explore through an independent study any area related to HCI including: information visualization, multimedia applications, rapid prototyping, and social computing. In Spring 2010, I will be teaching a course on Human-Computer Interaction, which provides a good background for research in this area. Feel free to contact me for more information on HCI research. Also, check out the Wellesley College HCI Lab web page to learn about current research and opportunities.
Interested in doing research in Human-Computer Interaction this summer?
Interested in developing tabletop user interfaces on top of the Microsoft Surface?
Consider spending the summer at the Wellesley College HCI Lab.
This summer we will work on two projects:
Students from diverse backgrounds including (but not limited to) Computer Science, MAS, Biology, Neuroscience, and Psychology are encouraged to inquire about these projects.
I work in combinatorics and algorithmic graph theory. This year my research focuses on the study of the fractional weak discrepancy of a partially ordered set. This work is done in collaboration with Professors Ann Trenk and Alan Shuchat of the Mathematics Department, Wellesley College. The idea was motivated by problems like the following: A manager who partially orders her employees according to their value to the company needs to assign a salary level to each employee. It is necessary to ensure that a more valuable employee gets a higher salary than less valuable one. On the other hand, fairness considerations restrict the salary discrepancies between pairs of incomparable employees. Fractional weak discrepancy is a measure of the "fairness" of her assignment. We have formulated a linear program that determines the fractional weak discrepancy of a poset and have obtained an interpretation for the dual of this program as a network flow that relates the fractional weak discrepancy to the notion of forcing cycles. Currently we are working to characterize important classes of partial orders according to their fractional weak discrepancy.
My research focuses on the analysis, design, and implementation of computer algorithms with applications in molecular biology and genomics. Many problems which arise naturally in the field of genomics can be solved using classic computer science algorithmic techniques, such as dynamic programming, expectation maximization, and hidden Markov modeling. For instance, one project which I am currently working on involves the identification of patterns in DNA and RNA. More specifically, I am interested in non-coding RNA genes which act by binding to mRNAs to regulate these genes post-transcriptionally. We have developed a dynamic programming algorithm to search genomes for the mRNA targets of these non-coding genes' action. Another project involves developing algorithms to analyze very large data sets generated from DNA microarrays - a technology which allows a researcher to assay the expression of thousands of genes simultaneously. We are investigating computational approaches, such as clustering, for extracting meaningful biological insight from this wealth of data.
I encourage all computer science students to undertake at least one long-term independent project during their undergraduate years. This can be done in the context of a summer internship or as an independent study project during a semester. The skills learned in such projects are valuable for both the working world and for graduate school. Because I think these projects are important, I am willing to entertain the possibility of supervising any creative project, even though it may not be directly in my research area.
One focus of my research is the evaluation, design, and implementation of programming languages and frameworks for analyzing and transforming programs and visualizing program execution. Here are some projects in this area I am working on with various collaborators:
- Investigating how to make visual block-based programming languages, such as those used in Scratch, StarLogo TNG, PicoCrickets, and App Inventor, more flexible and expressive. (With Chelsea Hoover '11.)
- Exploring ways to simplify mobile device programming via App Inventor, App Engine, and other tools. (With Eni Mustafaraj, Orit Shaer, Hal Abelson (MIT), Fred Martin (UMass Lowell), Ralph Morelli (Trinity College), and Dave Wolber (University of San Francisco))
- Developing wireless sensors and actuators and ways of programming them to create interactive spaces. (With Robbie Berg and Alex Olivier '11.)
- Designing and implementing languages for creating beautiful artifacts on the laser cutter, vinyl cutter, and 3D printer in the Science Center's Engineering Studio. (With Smaranda Sandu '14.)
- Extending Alley Stoughton's Forlan system for use in CS235 Languages and Automata. (With Chelsea Hoover '11 and Sam Kim '12.)
- Extending the capabilities of the Tandora Tanner conference web scheduler and the Tanner photo contest web site, which were built by the Tanner technology interns in Summer 2010. (With Eni Mustafaraj, Orit Shaer, and Scott Anderson.)
- Studying how type information in Java programs can be used to make specialized versions of the programs that are more efficient. (With Elena Machkasova (University of Minnesota, Morris.))
I am also interested in computer security, especially its intersection with programming languages. For example, languages for expressing security policies (such as the Security Enhanced Linux policy language) are extremely hard to use in practice. Such languages need to be tamed in order to be used widely. Other security topics that interest me are malware detection, protocol analysis, electronic voting, and tracking the flow of sensitive information through programs.
In my work, I do a lot of meta-programming --- writing programs (such as interpreters, translators, and analyzers) that manipulate other programs. I am eager to mentor students in projects that involve meta-programming. For example, I'm eager to build a meta-programming system that facilitates generating jigsaw-like block languages like Scratch and PicoBlocks. If you are interested in learning meta-programming, you should first take CS251 (Programming Languages) and then consult with me about undertaking a project in this area.
I am fascinated by the expression and implementation of computation, from programming languages through compilers and run-time systems to computer architecture. My research focuses on programming-language and system support for reliable concurrent and parallel software. I aim to improve programming models, language implementations, and systems to make problematic implicit properties of program executions explicit, so that programmers can more easily find, eliminate, or avoid software concurrency bugs.