Project Topics

This exercise provides an opportunity to integrate and practice the concepts from the all parts of the class. In your groups, everyone will address a common problem, design and evaluate a potential solution, and present recommendations for continued development.

The project topics are intended to be somewhat open-ended, giving you significant freedom to design the user interfaces and visualization.   Although many of these topics are based on existing user interfaces and visualization techniques, it is not required (and perhaps not recommended) that your design be similar to the existing tools.

Becoming Engineers

See the details


Visualizing bioinformatics data:  gene activity and classification trees

Biologists are attempting to decode the DNA of life.  The goal is to learn how the genes, encoded in the DNA, react to stimuli and cause the behavior of an organism. For example, by what process do Pine trees respond to and survive drought conditions?  Potentially, this information could be used to cultivate more hearty trees.  Biologists pursue answers to these questions by performing controlled scientific experiments on the organisms and genes.  They must integrate and make sense of a variety of different types of information to attempt to derive answers.

First, biologists measure the activity level of genes under a variety of environmental conditions (like hard drought, or mild drought), and at several time points over a period of time (t1, t2, ...).  In a typical experiment, biologists will measure approximately 1000 different genes under a 2-5 environmental conditions over 1-10 time points.  Data is collected in a spreadsheet like this:  (Note, gene activity >0 means more active than usual, <0 means less active than usual.)


gene activity levels

gene name hard drought, time 1 hard drought, time 2 ... mild drought, time 1 mild drought, time 2 ...
gene A 5.0 3.5 ... 0.0 0.0 ...
gene B -2.1 -1.0 ... -1.5 -0.5 ...

Second, most genes are classified in a tree structure according to their basic functions as follows.  Some genes are classified in multiple functions.  These tree structures are typically 2-5 levels deep, with 100's of functions (nodes).

        gene A, gene B, ...
        gene B, gene D, ...

Biologists need to relate the very large quantity of gene activity measurements to the gene functions of the classification tree.  The goal is to understand how the various functions are involved in the organism's response to the environmental condition (e.g. drought).  Visualization tools that help them grasp all this data, understand relationships, and derive possible answers is sorely needed.

Sample data available.  Potential points-of-contact or "users":  Kiran Indukuri, Purvi Saraiya


Visualizing Social Networks (or other networks)

Networks represent the relationships among entities. Examples include the US telephone network, the email usage within a company department, the connections implicit in the World Wide Web, the structure of social networks, the behavior of epidemics, and the diagrams of pathway networks in Bioinformatics.

Among them, a social network graph is the way to extract and represent tacit knowledge in organizations. In the graph, the nodes usually represent people, and the edges represent a special relationship between the people. Such a graph is often used to seek out clusters of individuals who are tightly connected to one another and look for sets of individuals who have similar patterns of relationships to the rest of the network. The social roles and personal influences can be expressed by social networks, which can evoke face-to-face communications and interactions. As a result, social capital, civic engagement, and a sense of community can be promoted.

Visualizing social networks can involve aspects from HCI, Databases, AI, Computer Graphics, and Sociology. Through the process of designing and building social networks, students will be able to address the fundamental nature of HCI -- HCI as interdisciplinary practice. The following is a summary of project challenges and approaches to be conducted.

Point-of-contact:  Kibum Kim


The HCI of computer security

With the waves of malicious attacks by hackers, viruses, and worms, keeping a networked computer system secure is a challenging task.  Automated tools can detect obvious known intrusions, but vigilance by the computer user or administrator is the only defense against the rest.  System hardening can prevent intrusions (e.g. unplugging the system!), but can also render the system unusable by its users.  Enabling useful features for the user (such as file sharing), also opens holes for attack.  Hence, users must monitor their system closely to ward off intruders.

Methods for monitoring system events, running processes, open ports, incoming and outgoing packets, communications between processes, user status, etc., are needed to enable more secure systems and greater levels of trust.

How can users or administrators maintain a close watch over the internals of their system?  Can visualization be used to monitor this diverse array of information?  How can these tools be designed to enable users to maintain alertness while working on other tasks without overly disrupting their work?  How can the tools support in depth analysis of potential intrusions?

Point-of-contact: Glenn Fink


Visualizing personal document collections

A growing problem in personal computing is keeping track of documents, images, email, web favorites, etc.  As people store more and more information on their computers, tools such as Windows explorer and the desktop are rapidly becoming unusable.  How can we design better alternatives to these tools that will help people save, track, find, remember, and reuse their documents more efficiently?  Consider possible targeted user groups or data types, such as personal digital photo collections, email, calendars/schedules, or newsgroups.