Research is an important part of computer science. Here, students can learn about current research in the department as well as about fellowships which can help fund research and/or graduate school.


A senior thesis in Computer Science begins with an independent study and can be submitted for the honor's designation.

Faculty Research

Computer Science majors, especially those planning to go on to graduate school, typically do an undergraduate research project, usually at the honors level. Most of these projects have been as part of part the active faculty research programs in Artificial Intelligence, Distributed Systems, Intelligent Agents, and Jazz a la Computer. Occasionally, students make arrangements to pursue other subjects as individual study projects.

Valerie Barr

Valerie Barr promotes the interdisciplinary application of computing through a combination of changes to computer science curricula and courses, as well as research and course collaborations with faculty from the full range of disciplines within the liberal arts. She is also engaged in several longitudinal analyses of degree data, examining degree completion by gender and by race & ethnicity.

Lisa Ballesteros

Research in the area of Cross-language Information Retrieval is developing technology that will enable us to build systems that allow a person to query in one language (e.g. English) and retrieve relevant documents in other languages (e.g., Spanish). The most recent approach results in very effective cross-language retrieval using translation via a machine readable dictionary and statistical techniques for reducing the effects of translation ambiguity. The statistical techniques are based on analysis of word co-occurrence in text.

See more project information on Lisa Ballestero...

Barbara Lerner

Software engineering focuses on issues of scale: how to build large pieces of software, requiring multiple people working together, resulting in software that is correct, reliable and efficient, and doing so while staying within an organization's schedule and budget. Barbara Lerner's research investigates two subareas of software engineering: software process and software design.

A software process defines how multiple people and tools cooperate to achieve a task. Besides software engineering applications, software processes can be used in diverse fields, such as describing medical tasks involving the cooperations of doctors, nurses, technicians, pharmacists and others in carrying out a procedure such as chemotherapy for a patient. Other applications of software processes are in negotiation and arbitration, online auctions and scientific workflow.

Barbara also studies software design, the phase of software development that bridges the gap between software requirements, what a client wants software to do, and programming. She is particularly interested in developing tools and techniques that ensure that a design is correctly transformed into code.

See more project information on Barbara Lerner...

James McCauley

James McCauley primarily researches in the broad areas of computer systems and networks, typically working to make systems and protocols simpler, more reliable, more scalable, or more flexible. This means asking (and answering!) questions like, "How can we continue to accommodate the incredible growth of the Internet while expanding the capabilities it supports?" and "What should an operating system look like if every program takes only milliseconds to complete?" Beyond also gets involved in projects involving computer imaging or programming languages.

Heather Pon-Barry

Heather Pon-Barry's research is at the intersection of spoken language processing and human-robot interaction. She directs the Interactive Computing Research Lab where she and students are enabling humanoid and service robots to engage human users in conversational dialogue. She develops algorithms to automatically find patterns in speech data, for example, to recognize affect and emotion and explores how these methods can inform the design of intelligent, adaptive human-robot interactions. Pon-Barry also works on activities to broaden participation in computer science, including the development of an inclusive academic peer mentorship program.

See her website for more information. 

Audrey St. John

Research in computational geometry broadly addresses problems with a geometric component (e.g., anything with coordinates). Audrey St. John's particular focus is in an area called "Rigidity Theory" -- we study properties of objects that can inform us about their rigidity or flexibility. While most of our approaches are theoretical in nature, we consider problems that are strongly rooted in applications coming from biology and CAD (Computer Aided Design). Can we give insight into a protein's flexibility and motion, providing an aid to drug design? Can we help the engineer to know when a design is completely rigid (e.g., guaranteeing a structure will be stable)? Rigidity Theory research addresses such problems by formulating their theoretical foundation in order to develop efficient algorithms.

See more project information on Audrey St. John...

Yun-Hsuan (Melody) Su

Melody's research interest lies in building a perception augmentation software framework for deformable object manipulation in telerobotics which constructs estimated kinesthetic information from evaluated visual input to preserves multiple sensory (vision and force) pathways innate to human perception. When both vision and force sensors are available, the built-in partial redundancies or inferences between perceptual channels can be used both to detect and recover from compromised operator feedback. Rooted in the concept of perception complementarities, the backup perceptual transmission pathways will catalyze advances in perception robustness and cybersecurity for telerobotic systems, which will help humans stay connected and complete remote tasks through intelligent touch estimation.