 |
Human-Centered
Computing Course
Spring 05, 310 Soda Hall, MW 2:30-4:00pm.
CS 294-1, CCN 26887 |
Instructor: John Canny, 529 Soda Hall, 642-9955, jfc at cs, office hours Tu3-4,
W4-5
Here is the final
project assignment
Course Contents
Course
swiki (password protected)
Recommended books
Project Suggestions
This is a regular 3-unit graduate course.
Course Overview
This course adopts a human-centered approach to the design of
information systems. IT is evolving away from loose collections of
applications toward integrated "digital assistants" and "context-aware
systems". Those visions of computing assume a high-level understanding of human
activity. Human-Computer Interaction has had many successes, but is often
criticized for its lack of theoretical grounding. This course explores various
frameworks that have contributed to HCI, and attempts to go further in
discovering useful theory. It draws from social sciences and the humanities. As
well as particular theories we will discuss meta-methods that have had wide use
across humanities and social sciences such as the
"historical/developmental" approach, and the "linguistic"
approach, and how they bear on the design of IT. The topics presented here were
selected because of their importance for the activities that computers mediate today.
Several have already led to big ideas in computing: e.g. Mark Weiser's original vision of
ubiquitous computing was inspired by the theory of situated activity that we will be
discussing. But we believe that the greater part of the work remains to be done.
One challenge to a more integrated theory of HCI is the fragmentation of
disciplines that study human behavior. We begin the course with a historical
discussion of how that fragmentation came about, and the difficulties and
opportunities that it creates.
Students will complete a substantial project that builds
on one of the topics in the course. The project can be a working system, or a
literature review, or a theoretical synthesis.
The tentative course contents is listed here. One or two
additional topics will be added which will be defined by the students in the
class.
- Learning and Development:
- Although they may not seem immediately relevant, learning and
development theory has framed much of our group's work in recent years and
the work of several other research groups. This is an example of the first
meta-principle (the historical/developmental approach). The best way to
understand use of information systems is to study how users learn to use
them, and understanding that takes us back to the basics of human
learning.
- Activity theory and relatives:
- Vygotsky and Leontev's theories (activity theory) have had a big
influence in contemporary education, anthropology and HCI theory. These lectures give a
short introduction to it.
- The Linguistic Approach:
- The study of language is a focal theme in many
disciplines today (not just linguistics) and leads to the meta-method called
"linguistic analysis". In this section we will explore several
examples across disciplines, attempt to synthesize the "method"
from them, and then look at how it can be applied concretely.
- Cognitive Science:
- Cognitive science is a tricky to cover, since there's no obvious
core, and in fact there is contention between many of the important theories. This section
takes a dialectic approach. Contentious theories are presented back-to-back in the same
week, so we will hopefully get some mileage from those conflicts. This is prime discussion
time.
- Personality, Emotion, Persuasion...:
- Its important to remember that much (perhaps most) knowledge work is
about influence, trust-building, and persuasion. This section gives some basic concepts
that are fundamental to understanding and modeling those situations. The concepts here are
surprisingly quantitative.
- Social Networks:
- Social networks are graphical models of relationships between groups
of people. They can model communication, exchange, influence, trust etc. There is a
mature set of core algorithms, and they have traditionally been applied (by hand) to
analyse small groups or organizations. Now they are increasingly being used in computer
applications like "knowledge networks" and "tacit information
systems".
- Design and Knowledge Creation:
- The design community has established a good set of human-centered
design principles. They begin with studies of existing practice through ethnography etc.,
and include a high-level of participation by the user community during the design process.
Knowledge creation is a popular concept today to describe even more general knowledge
work. Tricky concepts like tacit knowledge and knowledge networks have been bandied about
for a while, but are now becoming concrete as implemented in some new information
systems.
Lecture Format
Classes are held from 2:30-4pm Mondays and Wednesdays in
310 Soda. The format of the class has evolved through an iterative design
process into the following:
- A student-led presentation on the reading(s).
- Some commentary by me with additions and talking points.
- Class discussion on the readings in small groups, possibly followed
by group summaries to the rest of the class.
- A short description by me of the important points to look for in the
*next* lecture's readings.
Depending on numbers and other resources, we may
experiment with wireless in-class note-taking during the class.
Homework
Every enrolled student needs to hand in a list of two or three main
points from each reading at the beginning of class.
Projects
Projects can be computer programs, designs for information
appliances, user studies and analysis, or papers that combine ideas from another
discipline with computer science. More information will follow.