Research Projects in Computer Science

  • The Nature of Service: Explore the nature of service. How can we evaluate and measure good and bad service? How can we build computational systems that provide good service? How can we be better helpers and servants to each other? In what ways does being a servant involve establishing relationship and trust? Answering these questions involves issues of user modeling, goal inference, adaptive interfaces, and evaluation of user aids.
    • Faculty: Wayne Iba
    • Previous students: Nick Burwell, Sarah Coburn, Benjamin Fisk, Josh Holm, Chris Phillips, and Daniel Rufener
  • Westmont Cluster Project: Learn to use a Beowulf-class cluster computer. Develop systems that exploit the benefits of parallel computation. Serve other researchers in helping port their computational work onto our cluster.
    • Faculty: WayneIba
    • Previous students: Thomas Cantrell, Josh Holm, Eric Rodkey, Dustin Carroll, Chip Howell, and Kirsten Iba
  • The Starfish system: Website.Design and implement a new software system that provides intrusion detection and intrusion tolerance for middleware applications operating in a distributed asynchronous system. Requires strong software development skills; also distributed systems (CS 150) and networks (CS 140) or consent of faculty.
    • Faculty: KimKihlstrom
    • Current students: Robin Elliott, Kelsey Marshman, and Aaryn Smith
    • Previous students:Joel Stewart, Adrian Rogers, Toby Lounsbury, Mike Magnuson, Steve Raub, Daniel Shank, BradJensen, Chris Phillips, Kerby Johnson, Chris Ritchey, and Ben LaBarbera
  • Average-case analyses of machinelearning algorithms: Mathematically analyze various methods usedin machine learning to determine expected generalization gain based ongiven assumptions about the universe in question.
  • Philosopher's Workbench: Build a suite of tools that help us explore various questions of traditional and computational Philosophy. What would such a suite include and which questions would be appropriate targets for exploration? Could we gain insights into epistemology or free will through simulated environments and artificial agents?
  • Byzantine Fault Detectors:Website. Engage in foundational work that explores fault detection methods to aid in the design of survivable distributedsystems. Requires a strong interest in math, algorithms, anddistributed computer systems.
  • Bioinformatics: Apply data mining techniques to problems in Biology. One particularly challenging problem with tremendous potential benefit is the development of an intuitive interface for biologists to mine the data they collect without assistance from computer scientists.
  • Ethics in a virtual environment:Explore behavior-guiding principles in the internet orother virtual environments, particularly slanted toward the notion ofownership and property.
  • Limits of knowledge in distributed systems and the human condition: Website. Explore how the limits on knowledge attainable in a distributed systemcan provide insight into the larger picture of the human condition.
  • Male/female differences in computer science: Website. Explore possible reasons why there are so few women in computer science, and how we can encourage more women to enter the field.