
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
- Multiple spatial displays surrounding the user, to engage human memory for
location.
- Ambient context displays (both visual and auditory), to engage human
memory for place.
For more information, see http://www.infocockpits.org/
A lice
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.
|
|