Syllabus

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

Readings:

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."

Readings:

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

Readings:

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

Potter, Richard. Just-in-Time Programming


 

Week 5:

Readings:

Lenat, Doug. The Dimensions of Context-Space.


 

Week 6: Information visualization

Context-dependent presentation of information

Readings:

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

Readings:

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

Readings:

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

Rich, Elaine. Stereotypes and User Modeling.


 

Week 9: Philosophical and mathematical positions on context

Readings:

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

Suchman, Lucy. Situated Systems.

Nardi, Bonnie. Context and Consciousness.


 

Week 10: Machine Learning and formal approaches

Readings:

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

Readings:

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