Thinker5s.gif (3570 bytes)

Human-Centered Computing Course 

Fall '99, 405 Soda Hall, MW 10:30-12 noon.

CS 294-4, CCN 25232

Instructor: John Canny, 529 Soda Hall, 642-9955, jfc at cs, office hours W-Th 2-3pm

Course Contents

Recommended books

Project Suggestions


This is a regular 3-unit graduate course being offered for the first time in Fall 99. There is also a seminar in human-centered computing this semester. The seminar page is

Course Overview

This course adopts a human-centered approach to the design of information systems. It takes a forward look at computer systems as they evolve from desktops to ubiquitous or "calm" systems. From a user's perspective, systems are evolving away from collections of applications toward "computer-mediated activity". Since the emphasis in HCC is on human activity, we draw on several non-computer fields. The topics presented here are selected for their relevance to future information system design. Several have already led to big ideas in computing: e.g. ubiquitous computing itself is inspired by the theory of situated activity that we will be discussing. The objective of the course is to give students in computing a broad understanding of human behavior in learning and working (two kinds of knowledge ecology). That knowledge should be important in designing applications of computing. And ideally, a deep understanding of these topics can lead to brand new ways of thinking about and integrating computing in human activities. Students from outside computing should find an interesting (and hopefully coherent) set of perspectives on behavior with relevance to education, group and organizational behavior, and design and knowledge creation.

The course contents above gives a breakdown of lectures by topic. The main topics are:

Individual behavior:
We survey some simple cognitive models of goal-directed behavior and Piaget and Papert's process-oriented learning model. We also give a short discussion of personality traits and emotional expression.
We survey some topics from communication, starting with speech-act theory, which is also important for modeling human-computer interaction. These topics relate mostly to dyads (one-to-one communication).
Activity theory and relatives:
Vygotsky's theories have had a powerful influence in contemporary education, anthropology and HCI theory. This set of lectures is the core of the course, and will reappear in the topics that follow.
Social and Knowledge Structures:
We survey social network theory and diffusion. Social network theory is particularly interesting when applied not just to networks of individuals, but to ecologies of people, documents and information tools.
Design and Knowledge Creation:
We cover some ideas from knowledge management and knowledge creation. Design is a special case where we contrast a process-oriented and a practice-oriented (human-centered) approach.

Lecture Format

Lectures are held from 10:30-12:00noon Monday and Wednesday in 405 Soda. The first 50 minutes of each class will be presentation by the instructor. The remaining half hour is reserved for moderated discussion. Each lecture will have a designated moderator (one of the students in the class). The moderator's task is to

  1. Form a set of main points from the readings for the lecture, and present them if not covered by the instructor.
  2. List points to be clarified from the instructor's presentation (or just interrupt it!).
  3. Make a list of topics for further discussion in class.
  4. Run the discussion.

Every registered student is required to moderate at least one of the lectures.


Projects can be computer programs, designs for information appliances, user studies and analysis, or papers that combine ideas from another discipline with computer science. Here are the final project reports and/or slides. Nice work, everybody: