Concepts related to the development of interactive software systems with a focus on knowledge-based tools and human-centered design. Topics span the fields of human-computer interaction, software engineering, and knowledge representation. Example systems that provide intelligent assistance will be explored, as well as systems that provide new programming paradigms.
Term projects will generally be original commentaries on a specific theme in the research literature but may document an original research project provided it is well contextualized in the literature. Term projects will be approximately 15-20 double-spaced pages per student, including bibliography and figures, of a reasonable font (e.g. Times size 11 or Tahoma size 10).
Class participation includes attendance and discussion.
The class presentation may include 2 or even 3 students, given the size of the class and may be one of the listed papers or a paper or technology closely related. Presentations should be planned to be 20 minutes to allow lots of time for discussion.
Week 1 — Overview and Example Technologies — October 2 and 4
“Interaction” is the paradigm most software systems follow today. Since the advent of computers, software has been integrated into increasing numbers of domains, from the scientific, to the professional, to the domain of everyday life. A variety of interdisciplinary techniques are required in order to adequately discuss and develop these systems.
This class will explore issues related to the development of interactive systems, i.e., systems that must accommodate the needs of human users. The class brings together ideas from human-computer interaction, software engineering, and knowledge representation. Issues pertaining to the architecture and theory behind interactive systems will be examined. Evaluation methods adapted from cognitive psychology and anthropology will be reviewed with examples of their application, their strengths and weaknesses. Example systems that seek to provide intelligent assistance will be explored, as well as systems that provide new programming paradigms. Many of the examples are themselves in the domain of software and programming. The seminar concludes with speculation about the software environments of the future, including both an examination of their nature and a look at their development needs.
Students will read articles from the literature (about four to six per week) and most of the weekly class time will be spent discussing these (20%). Each student will do a presentation and lead a discussion on one article (20%). Students will also be expected to document a term project. The project may be individual or group, and may involve system development, user observations, or additional literature research (60%).
Below are some samples of what I mean by “knowledge-based” user interfaces. However, bear in mind, this phrase encompasses a large group of systems.
 Robbins, J., Redmiles, D. Cognitive Support, UML Adherence, and XMI Interchange in Argo/UML, Information and Software Technology, Vol. 42, No.2, January 2000, pp.79-89.
 Ye, Y., Fischer, G. Supporting Reuse by Delivering Task-Relevant and Personalized Information, Proceedings of 2002 International Conference on Software Engineering (ICSE'02), Buenos Aires, Argentina, May 19-25, 2002.
 Little, G., Miller, R.C. Translating Keyword Commands Into Executable Code, Proceedings of the 19th annual ACM Symposium on User Interface Software and Technology (Montreux, Switzerland), 2006, pp. 135-144.
 Cerulean Studios, Trillian, http://www.ceruleanstudios.com/
Weeks 2 and 3 – Communities and Knowledge Management – October 9, 11, and 16
Communities are a key source of knowledge and many systems rely on, and support, connections to other people in the community. Additionally, an individual’s work affects and is affected by a community.
 Fischer, G.
(2005) "From Reflective Practitioners to Reflective Communities." In:
Proceedings of the HCI International Conference (HCII),
 McDonald, D. W. and M.S. Ackerman. Expertise Recommender: A Flexible Recommendation Architecture. Proceedings of the 2000 ACM Conference on Computer-Supported Cooperative Work (CSCW '00), pp. 231-240.
 McDonald, D.W. Ubiquitous Recommendation Systems. IEEE Computer, October 2003, pp 111-112.
 De Souza, C.R.B., Dourish, P., Redmiles, D., Quirk, S., Trainer, E. From Technical Dependencies to Social Dependencies, Workshop on Social Networks, held in conjunction with the Conference on Computer-Supported Cooperative Work (CSCW 2004—Chicago, IL), November 2004, available at http://www.ischool.washington.edu/mcdonald/cscw04/.
Sarma, G. Bortis, and A. van der Hoek, Towards
Supporting Awareness of Indirect Conflicts across Software Configuration
Management Workspaces. Twenty second IEEE/ACM International
Conference on Automated Software Engineering (ASE),
Weeks 3, 4, 5 — General Theories of Design — exact dates TBD
What are the unique needs of designing interactive systems? What kinds of breakdowns occur between human problem solvers and computer support systems? What are the cognitive issues involved? What can be done to address some of the issues? Topics include system and situation models, situated action, user-centered design, and reflection-in-action.
 D.A. Schön, The
Reflective Practitioner: How Professionals Think in Action, Basic
 D.A. Norman, S.W. Draper (eds.), User
Centered System Design, New Perspectives on Human-Computer Interaction,
 Y. Engeström, When
is a Tool? Multiple Meanings of Artifacts in Human Activity, in Learning, Working and
Imagining, Orienta-Knsultit Oy,
 J. Greenbaum,
M. Kyng (eds.), Design at Work: Cooperative Design
of Computer Systems,
Weeks 5 and 6 — Cognitive Theories and Models — exact dates TBD
Different theories seek to explain and model aspects of people’s behavior with systems and, in general, when designing artifacts. Some of these include construction-integration model, the human-information processor model, and GOMS/CPM.
 A. Newell, S.K. Card, The Prospects for Psychological Science in Human-Computer Interaction, Human-Computer Interaction, Vol. 1, No. 3, 1985, pp. 209-242.
 Soloway, E., Ehrlich, K. Empirical Studies of Programming Knowledge, IEEE Transactions on Software Engineering, V. SE-10, No. 5, September 1984.
 N. Pennington, Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs, Cognitive Psychology, Vol. 19, 1987, pp. 295-341.
 R. Jeffries, A.A. Turner, P.G. Polson, M. Atwood, The Processes Involved in Designing Software, in J.R. Anderson (ed.), Cognitive Skills and their Acquisition, Lawrence Erlbaum Associates, Hillsdale, NJ, 1981, pp. 255-283, ch. 8.
Weeks7 and 8 – Evaluation — exact dates TBD
Experimental methods adapted from cognitive psychology, anthropology, linguistics, and other human sciences will be discussed from the perspective of how they can guide the design and evaluate the implementation of systems.
 C. Wharton, J. Rieman, C. Lewis, P. Polson, The Cognitive Walkthrough Method: A Practitioner's Guide, in J. Nielsen, R. Mack (eds.), Usability Inspection Methods, John Wiley & Sons, Inc., New York, 1994, pp. 105-140, ch. 5.
 de Souza, C., Trainer, E., Quirk, S., Redmiles, D. Exploiting the Relationship between Software Dependencies and Coordination through Visualization, under review.
 Sarma, A., Redmiles, D., van der Hoek, A. “Someone’s Been Changing the Code” – Empirical Evidence of the Benefits of Workspace Awareness, under review.
 Holtzblatt, K., Beyer, H. Contextual Design, Interactions, January 1999, V. 6, N. 1, pp. 32-42.
Keywords for other good topics around evaluation are “claims analysis,” “wizard of Oz studies,” and “cognitive dimensions framework.”
Week 9-10 —Visualization, Context, Awareness – exact dates TBD
 Furnas, G. Generalized Fisheye Views,
Conference on Human Factors and Computing Systems (CHI ’86 –
[2a] optional newer “fisheye” view reading: Bederson, B., Clamage, A., Czerwinski, M., Robertson, G. DateLens: A fisheye calendar interface for PDAs, ACM Transactions on Computer-Human Interaction (TOCHI), V. 11 , N. 1, March 2004, pp. 90-119.
[2b] optional reading related to class discussion
– visualizing hierarchical structures: Robertson, G., Cameron, K.,
Czerwinski, M., Robbins, D. Polyarchy Visualization: Visualizing Multiple Intersecting
Hierarchies, Conference on Human Factors and Computing Systems (CHI ’02 –
 Erickson, T. Designing Visualizations of Social Activity: Six Claims, Extended Abstracts of the Conference on Human Factors and Computing Systems (CHI ’03 – Fort Lauderdale, FL), 2003 pp 846-847.
Week 11 (Final Exam Week) — Project Presentations — Friday Dec 14, 10:30-12:30pm
Participants will present and discuss their term projects.