UC
|
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.
[1] 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.
[2] 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.
[3] 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.
[4] 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.
[1] Fischer, G.
(2005) "From Reflective Practitioners to Reflective Communities." In:
Proceedings of the HCI International Conference (HCII),
[2] 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.
[3] McDonald, D.W. Ubiquitous Recommendation Systems. IEEE Computer, October 2003, pp 111-112.
[4] 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/.
[5] A.
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),
[6] http://en.wikipedia.org/wiki/Knowledge_management
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.
[1]
[2] D.A. Schön, The
Reflective Practitioner: How Professionals Think in Action, Basic
Books,
[3] H.A. Simon, The
Sciences of the Artificial, The MIT Press,
[4] D.A. Norman, S.W. Draper (eds.), User
Centered System Design, New Perspectives on Human-Computer Interaction,
[5] Y. Engeström, When
is a Tool? Multiple Meanings of Artifacts in Human Activity, in Learning, Working and
Imagining, Orienta-Knsultit Oy,
[6] 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.
[1] 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.
[2] Soloway, E.,
Ehrlich, K. Empirical
Studies of Programming Knowledge, IEEE Transactions on Software
Engineering, V. SE-10, No. 5, September 1984.
[3] N. Pennington, Stimulus
Structures and Mental Representations in Expert Comprehension of Computer
Programs, Cognitive Psychology, Vol. 19, 1987, pp. 295-341.
[4] 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.
[1] 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.
[2] de Souza, C., Trainer, E., Quirk, S., Redmiles, D. Exploiting the Relationship between Software Dependencies and Coordination through Visualization, under review.
[3] Sarma, A., Redmiles, D., van der Hoek, A. “Someone’s Been Changing the Code” – Empirical Evidence of the Benefits of Workspace Awareness, under review.
[4] http://www.useit.com/papers/heuristic/
[5] 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
[1] http://services.alphaworks.ibm.com/manyeyes/home
[2] 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 –
[3] 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.
David F. Redmiles Home Page
Department of Information and Computer
Science
University of California, Irvine CA
92717-3425