Course Meeting Times

Lectures: 1 session / week, 1.5 hours / session

Out of Context: A Course on Computer Systems That Adapt To, and Learn From, Context

Increasingly, we are realizing that to make computer systems more intelligent and responsive to users, we will have to make them more sensitive to context. Traditional hardware and software design overlooks context because it conceptualizes systems as input-output functions. Systems take input explicitly given to them by a human, act upon that input alone and produce explicit output. But this view is too restrictive. Smart computers, intelligent agent software, and digital devices of the future will also have to operate on data that they observe or gather for themselves. They may have to sense their environment, decide which aspects of a situation are really important, and infer the user’s intention from concrete actions. The system’s actions may be dependent on time, place, or the history of interaction, in other words, dependent upon context.

But what exactly is context? We’ll look at perspectives from machine learning, sensors and embedded devices, information visualization, philosophy and psychology. We’ll see how each treats the problem of context, and discuss the implications for design of context-sensitive hardware and software.

Course requirements will consist of critiques of class readings (about 3 papers/week), and a final project (paper or computer implementation project).

Out of Context: Preliminary Schedule and Readings

Week 1: Introduction to “the context problem”

  • Why do computers need to take account of context?
  • What is and isn’t context?
  • Context-sensitive vs. context-independent views of computing
  • Combating brittleness: adapting systems to changing context


Week 2: Context for software agents

  • Determining relevance of context
  • Implicit input and repurposing input
  • Context overload: Dealing with too much context


Brown, P. J., J. D. Bovey, and X. Chen. “Context-aware applications: from the laboratory to the marketplace.” IEEE Personal Communications 4(5) (October 1997).

Lieberman, Henry, and David Maulsby. “Software That Just Keeps Getting Better.” IBM Systems Journal 35, Nos. 3 & 4 (1996).


Week 3: Designing User Interfaces for Just-In-Time Information

Designing for secondary task, or “How to give someone information they didn’t ask for without driving them crazy.”


Rhodes, Bradley. Bulding a Contextually Aware Associative Memory (unpublished draft).

Wickens, CD. “Engineering Psychology and Human Performance.” In Engineering Psychology and Human Performance, Scott Foesman Little Brown, 1992, pp. 74-115 (only skim 74-88).

Norman, Don. “How might we interact with agents?” in Software Agents. Edited by J. Bradshaw. AAAI Press/MIT Press, 1997.


Week 4: Context for learning by example

  • Generalizing context
  • The “data description problem” for learning agents


Lieberman, Henry. Integrating user interface agents with conventional applications.

Potter, Richard. Just-in-Time Programming


Week 5:


Lenat, Doug. The Dimensions of Context-Space.


Week 6: Information visualization

Context-dependent presentation of information


Tufte, Edward. The Visual Display of Quantitative Information.

Shneiderman, Ben. Information Visualization.

Cooper, Muriel. Computers and Design.


Week 7: The role of background knowledge as context

  • Active Ontologies
  • The “Size Matters” Approach: Cyc
  • The Rule-Based Approach: Expert systems
  • The Mining Approach: Information extraction
  • The Interactive Learning Approach: Incremental development
  • The Reactive Approach: Just don’t do representation


Guha and Doug Lenat. Cyc.

Lehnert, Wendy. Computers and Car Bombs.

Brooks, Rod. Intelligence without Representation.


Week 8 (Project proposals due): Systems that adapt to context

  • Cognitive Adaptive Computer Help
  • User Modeling
  • User-system communication through annotated examples


Selker, Ted. COACH: A Teaching Agent That Learns.

Rich, Elaine. Stereotypes and User Modeling.


Week 9: Philosophical and mathematical positions on context


Barwise, Jon, and John Perry. Situations and Attitudes.

Suchman, Lucy. Situated Systems.

Nardi, Bonnie. Context and Consciousness.


Week 10: Machine Learning and formal approaches


Mitchell, Tom, and Pat Langley. Machine Learning.

Neville-Manning, Craig, and David Maulsby. Sequitur.

McCarthy, John. Circumscription


Week 11: Sensing context from the environment

  • Pattern recognition for determining context
  • Roz Picard: Affective Computing


Week 12: Psychological and social perspectives on context

Computers as social actors


Nass, Cliff, and Byron Reeves. The Media Equation.

Bates, Joseph. The Role of Emotion in Believable Agents.

Laurel, Brenda. Metaphors with Character.


Week 13: Final Project Reports


Week 14: Final Project Reports

Course Info

As Taught In
Fall 2001
Learning Resource Types
Lecture Notes
Projects with Examples