Our Mission

To have fun. Within that constraint, to explore and develop the mechanisms by which humans can more effectively and enjoyably interact with technology. 

Our Philosophy

As computers and other technology become pervasive, the challenge of providing appropriate, effective, and pleasant interfaces to technology will require talents drawn from a wide variety of disciplines, including perceptual psychology and various design disciplines. By surrounding open-minded technologists/engineers with these influences, we can most effectively guide the design and development of future human-technology interfaces. 

Our Research Agenda:  

Augmenting Human Cognition

The creation of mouse-based graphical user interfaces in the 1970s completely changed the face of computing by allowing novices to use real-world capabilities, such as pointing, in order to access information. Thirty years have since passed and we are proposing a new paradigm for human-computer interaction. We are building systems that aid cognitive processing and retention of information rather than focusing only on information manipulation. Working with perceptual and cognitive psychologists, as well as architects, designers, and artists, our goal is to deduce general design principles to produce the next generation of information systems, which we call InfoCockpits.

InfoCockpits are human-computer systems that improve human memory. Our basic approach is to take well-understood psychology principles and apply them to the design of information displays, much as the GUI desktop metaphor did. We utilize the fact that human beings are adept at remembering information based on its location relative to their body, and on the place where they were when they learned it. Quick without looking up, try to point to the door through which you entered the room. Even though you made no conscious effort to record this fact, you can effortless recall this information. InfoCockpits are designed to make our computer-based access to information utilize these kinds of human-evolved skills.

Our implementations will use two basic strategies

  1. Multiple spatial displays surrounding the user, to engage human memory for location.
  2. Ambient context displays (both visual and auditory), to engage human memory for place.

For more information, see http://www.infocockpits.org/

 

Alice 

Alice is a 3d graphics programming environment intended to be a gentle first introduction to students ranging from 6th grade to college, typically students who typically would not take (or pass!) a programming course. The Alice project was motivated by the fact that for most first-time students, the experience of learning to program has been filled with frustration. Hours of trying to understand syntax errors in pursuit of a working Fibonacci sequence generation program have lead many students to conclude that Computer Science is uninteresting before they have completed a single course. The goal of the Alice project is to change the first experience students have with computer programming. We believe that Alice will change the experience of learning to program in two main ways removing unnecessary frustration and providing an environment in which beginning students, of both genders, can create programs they find compelling.

When students create programs in Alice, the do not type. Instead, they drag and drop words representing commands that objects in the 3D scene understand. For example, a student may instruct a bunny in the 3D scene to "move forward" or "look at the camera." In addition to straight-forward commands, students can also drag traditional programming constructs, such as "if," "loop N times," "do while something is true," etc. Students can construct "If" statements by dragging questions like "is the carrot near the rabbit" or "how tall is the tree" into them. Although the terminology is intentially simplistic, Alice is actually a complete programing environment, supporting arrays, lists, functions with parameters, recursion, and an object-based data model. In addition, methods can be stored as part of an object and then loaded into a different 3d "worlds" created with Alice. Alice succeeds for several fundamental reasons 1) by removing typing and the ability to make a syntax error, Alice removes much of the intial frustration for new programmers, 2) the ideas of data and objects are very concrete when students can *see* what they are, and 3) almost all changes to the program state are visible and animated, so debugging is a much less obscure task it is much easier to realize that "the rabbit moved backwards when I meant to for it to move forward" than to realize that "I subtracted one from the integer 'x' when I intended to add one" (particularly when 'x' isn't directly visible on the screen).

Unlike previous no-typing programming systems, such as LogoBlocks and Stagecast, Alice allows students to gain experience with a wide variety of programming structures including looping, conditional statements, lists, and recursion. Using programming concepts and structures, students build 3D virtual worlds that are often compelling. In the Alice project, we acknowledge that capturing someone's attention is a pre-requisite to teaching them; therefore, we believe that if Alice is fun, and yet rigorous, it will have the greatest possible impact. Even a student's first programs can contain storytelling and game aspects, making the process of writing a program much more compelling, especially for female students, based on our earliest pilot studies. We feel that providing a more expressive medium in which to construct programs will help to interest a wider audience, including young women, in Computer Science.

 



 

Questions about this site?  Contact the Webmaster