ACM SIGCHI Curricula for Human-Computer Interaction
|
by
Hewett, Baecker, Card, Carey, Gasen, Mantei, Perlman, Strong
and
Verplank
Copyright © 1992,1996 ACM SIGCHI |
![]() |
Contents | | | Preface | | | Introduction | | | Definition | | | Courses | | | Programs | | | Issues | | | References | | | Resources |
Last updated: 2009-07-29 Accesses since 1997-04-17: 898,805
Table of Contents
There is currently no agreed upon definition of the range of topics which form the area of human-computer interaction. Yet we need a characterization of the field if we are to derive and develop educational materials for it. Therefore we offer a working definition that at least permits us to get down to the practical work of deciding what is to be taught:
Human-computer interaction is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them.
From a computer science perspective, the focus is on interaction and specifically on interaction between one or more humans and one or more computational machines. The classical situation that comes to mind is a person using an interactive graphics program on a workstation. But it is clear that varying what is meant by interaction, human, and machine leads to a rich space of possible topics, some of which, while we might not wish to exclude them as part of human-computer interaction, we would, nevertheless, wish to identify as peripheral to its focus. Other topics we would wish to identify as more central.
Take the notion of machine. Instead of workstations, computers may be in the form of embedded computational machines, such as parts of spacecraft cockpits or microwave ovens. Because the techniques for designing these interfaces bear so much relationship to the techniques for designing workstations interfaces, they can be profitably treated together. But if we weaken the computational and interaction aspects more and treat the design of machines that are mechanical and passive, such as the design of a hammer, we are clearly on the margins, and generally the relationships between humans and hammers would not considered part of human-computer interaction. Such relationships clearly would be part of general human factors, which studies the human aspects of all designed devices, but not the mechanisms of these devices. Human-computer interaction, by contrast, studies both the mechanism side and the human side, but of a narrower class of devices.
Or consider what is meant by the notion human. If we allow the human to be a group of humans or an organization, we may consider interfaces for distributed systems, computer-aided communications between humans, or the nature of the work being cooperatively performed by means of the system. These are all generally regarded as important topics central within the sphere of human-computer interaction studies. If we go further down this path to consider job design from the point of view of the nature of the work and the nature of human satisfaction, then computers will only occasionally occur (when they are useful for these ends or when they interfere with these ends) and human-computer interaction is only one supporting area among others.
There are other disciplinary points of view that would place the focus of HCI differently than does computer science, just as the focus for a definition of the databases area would be different from a computer science vs. a business perspective. HCI in the large is an interdisciplinary area. It is emerging as a specialty concern within several disciplines, each with different emphases: computer science (application design and engineering of human interfaces), psychology (the application of theories of cognitive processes and the empirical analysis of user behavior), sociology and anthropology (interactions between technology, work, and organization), and industrial design (interactive products). In this report, we have adopted, as an ACM committee, an appropriate computer science point of view, although we have tried at the same time to consider human-computer interaction broadly enough that other disciplines could use our analysis and shift the focus appropriately. From a computer science perspective, other disciplines serve as supporting disciplines, much as physics serves as a supporting discipline for civil engineering, or as mechanical engineering serves as a supporting discipline for robotics. A lesson learned repeatedly by engineering disciplines is that design problems have a context, and that the overly narrow optimization of one part of a design can be rendered invalid by the broader context of the problem. Even from a direct computer science perspective, therefore, it is advantageous to frame the problem of human-computer interaction broadly enough so as to help students (and practitioners) avoid the classic pitfall of design divorced from the context of the problem.
To give a further rough characterization of human-computer interaction as a field, we list some of its special concerns: Human-computer interaction is concerned with the joint performance of tasks by humans and machines; the structure of communication between human and machine; human capabilities to use machines (including the learnability of interfaces); algorithms and programming of the interface itself; engineering concerns that arise in designing and building interfaces; the process of specification, design, and implementation of interfaces; and design trade-offs. Human-computer interaction thus has science, engineering, and design aspects.
Regardless of the definition chosen, HCI is clearly to be included as a part of computer science and is as much a part of computer science as it is a part of any other discipline. If, for example, one adopts Newell, Perlis, and Simon's (1967) classic definition of computer science as "the study of computers and the major phenomena that surround them," then the interaction of people and computers and the uses of computers are certainly parts of those phenomena. If, on the other hand, we take the recent ACM (Denning, et al., 1988) report's definition as "the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application," then those algorithmic processes clearly include interaction with users just as they include interaction with other computers over networks. The algorithms of computer graphics, for example, are just those algorithms that give certain experiences to the perceptual apparatus of the human. The design of many modern computer applications inescapably requires the design of some component of the system that interacts with a user. Moreover, this component typically represents more than half a system's lines of code. It is intrinsically necessary to understand how to decide on the functionality a system will have, how to bring this out to the user, how to build the system, how to test the design.
Because human-computer interaction studies a human and a machine in communication, it draws from supporting knowledge on both the machine and the human side. On the machine side, techniques in computer graphics, operating systems, programming languages, and development environments are relevant. On the human side, communication theory, graphic and industrial design disciplines, linguistics, social sciences, cognitive psychology, and human performance are relevant. And, of course, engineering and design methods are relevant.
The goal of this section is to provide background for this report in terms of some of the major themes and influences that have shaped the field of HCI. In addition, an attempt is made to project some current trends into the near future as a basis for anticipating some of the conditions with which students will be faced upon, or even before, graduation. This section is not intended to provide either an exhaustive history of the past or a full scale "futures projection." It is, rather, to provide a context for the recommendations which follow.
Human-computer interaction arose as a field from intertwined roots in computer graphics, operating systems, human factors, ergonomics, industrial engineering, cognitive psychology, and the systems part of computer science. Computer graphics was born from the use of CRT and pen devices very early in the history of computers. This led to the development of several human-computer interaction techniques. Many techniques date from Sutherland's Sketchpad Ph.D. thesis (1963) that essentially marked the beginning of computer graphics as a discipline. Work in computer graphics has continued to develop algorithms and hardware that allow the display and manipulation of ever more realistic-looking objects (e.g., CAD/CAM machine parts or medical images of body parts). Computer graphics has a natural interest in HCI as "interactive graphics" (e.g., how to manipulate solid models in a CAD/CAM system).
A related set of developments were attempts to pursue "man-machine symbiosis" (Licklider, 1960), the "augmentation of human intellect" (Engelbart, 1963), and the "Dynabook" (Kay and Goldberg, 1977). Out of this line of development came a number of important building blocks for human-computer interaction. Some of these building blocks include the mouse, bitmapped displays, personal computers, windows, the desktop metaphor, and point-and-click editors (see Baecker & Buxton, 1987, Chapter 1).
Work on operating systems, meanwhile, developed techniques for interfacing input/output devices, for tuning system response time to human interaction times, for multiprocessing, and for supporting windowing environments and animation. This strand of development has currently given rise to "user interface management systems" and "user interface toolkits".
Human factors, as a discipline, derives from the problems of designing equipment operable by humans during World War II (Sanders & McCormick, 1987). Many problems faced by those working on human factors had strong sensory-motor features (e.g., the design of flight displays and controls). The problem of the human operation of computers was a natural extension of classical human factors concerns, except that the new problems had substantial cognitive, communication, and interaction aspects not previously developed in human factors, forcing a growth of human factors in these directions. Ergonomics is similar to human factors, but it arose from studies of work. As with human factors, the concerns of ergonomics tended to be at the sensory-motor level, but with an additional physiological flavor and an emphasis on stress. Human interaction with computers was also a natural topic for ergonomics, but again, a cognitive extension to the field was necessary resulting in the current "cognitive ergonomics" and "cognitive engineering." Because of their roots, ergonomic studies of computers emphasize the relationship to the work setting and the effects of stress factors, such as the routinization of work, sitting posture, or the vision design of CRT displays.
Industrial engineering arose out of attempts to raise industrial productivity starting in the early years of this century. The early emphasis in industrial engineering was in the design of efficient manual methods for work (e.g., a two-handed method for the laying of bricks), the design of specialized tools to increase productivity and reduce fatigue (e.g., brick pallets at waist height so bricklayers didn't have to bend over), and, to a lesser extent, the design of the social environment (e.g., the invention of the suggestion box). Interaction with computers is a natural topic for the scope of industrial engineering in the context of how the use of computers fit into the larger design of work methods.
Cognitive psychology derives from attempts to study sensation experimentally at the end of the 19th century. In the 1950's, an infusion of ideas from communications engineering, linguistics, and computer engineering led to an experimentally-oriented discipline concerned with human information processing and performance. Cognitive psychologists have concentrated on the learning of systems, the transfer of that learning, the mental representation of systems by humans, and human performance on such systems.
Finally, the growth of discretionary computing and the mass personal computer and workstation computer markets have meant that sales of computers are more directly tied to the quality of their interfaces than in the past. The result has been the gradual evolution of a standardized interface architecture from hardware support of mice to shared window systems to "application management layers." Along with these changes, researchers and designers have begun to develop specification techniques for user interfaces and testing techniques for the practical production of interfaces.
The means by which humans interact with computers continues to evolve rapidly. A curriculum in a changing area must be put together with some understanding of the forces shaping the future so that its concepts are not quickly out of date. Although the curriculum can always be revised in the light of greater understanding in the future, students cannot generally be recalled for retraining. They must build their own future understanding upon the foundations provided by the courses taken at the time they were students.
Human-computer interaction is, in the first instance, affected by the forces shaping the nature of future computing. These forces include:
Because human-computer interaction involves transducers between humans and machines and because humans are sensitive to response times, viable human interfaces are more technology-sensitive than many parts of computer science. For instance, the development of the mouse gave rise to the point-and-click style of editor interface and the mouse-based graphics program. Partially based on the above trends, we expect a future for HCI with some of the following characteristics:
One consequence of the above developments is that computing systems will appear partially to dissolve into the environment and become much more intimately associated with their users' activities. One can make an analogy to the development of motion power. Once, strikingly visible, large, centralized water wheels were used to drive applications via belt drives; now electric motors are invisibly integrated into applications from VCRs to refrigerators.
Of course, personal computers in some form will continue to exist (although many might take the form of electronic notebooks) and there will still be the problem of designing interfaces so that users can operate them. But the rapid pace of development means that the preparation of students must address not only the present state of technology, but also provide the foundations for future possibilities.
The aim in this section is to inventory the current state of results in the field of human-computer interaction. Our object is to delimit the scope of our concerns and to specify the connections with other fields. The discussion is not constrained by the need to distribute this content into courses or to tailor a curriculum for various sorts of students. The objective is, rather, to survey what is known that is worth teaching. Different courses might be carved out of parts of this inventory, and the program at a particular school or in any given instructional environment might wish to utilize only part of this material, together with other topics in a reorganized point of view (e.g., for a course in a design department or for a short, in-house training course for members of product development teams). For convenience, we have loosely arranged the topics in the field into 16 groups (Table 1).
The topics in this table derive from a consideration of five interrelated aspects of human-computer interaction: (N) the nature of human-computer interaction, (U) the use and context of computers, (H) human characteristics, (C) computer system and interface architecture, and (D) the development process. Although not content areas, per se, and not discussed in the inventory below, project presentations and examinations (P) have been included as a category in this table to stress the importance of having students be exposed to content both through lecture and through the process of actually working on course projects, and in recognition of the fact that in most instructional environments some sort of evaluation of student mastery of content is necessary.
Some of the interrelationships among these topics are represented in Figure 1 on page 16. Computer systems exist within a larger social, organizational and work milieu (U1). Within this context there are applications for which we wish to employ computer systems (U2). But the process of putting computers to work means that the human, technical, and work aspects of the application situation must be brought into fit with each other through human learning, system tailorability, or other strategies (U3). In addition to the use and social context of computers, on the human side we must also take into account the human information processing (H1), communication (H2), and physical (H3) characteristics of users. On the computer side, a variety of technologies have been developed for supporting interaction with humans: Input and output devices connect the human and the machine (C1). These are used in a number of techniques for organizing a dialogue (C2). These techniques are used in turn to implement larger design elements, such as the metaphor of the interface (C3). Getting deeper into the machine substrata supporting the dialogue, the dialogue may make extensive use of computer graphics techniques (C4).
N The Nature of HCI N1 (Meta-)Models of HCI U Use and Context of Computers U1 Human Social Organization and Work U2 Application Areas U3 Human-Machine Fit and Adaptation H Human Characteristics H1 Human Information Processing H2 Language, Communication, Interaction H3 Ergonomics C Computer System and Interface Architecture C1 Input and Output Devices C2 Dialogue Techniques C3 Dialogue Genre C4 Computer Graphics C5 Dialogue Architecture D Development Process D1 Design Approaches D2 Implementation Techniques D3 Evaluation Techniques D4 Example Systems and Case Studies P Project Presentations and Examinations
Complex dialogues lead into considerations of the systems architecture necessary to support such features as interconnectable application programs, windowing, real-time response, network communications, multi-user and cooperative interfaces, and multi-tasking of dialogue objects (C5). Finally, there is the process of development which incorporates design (D1) for human-computer dialogues, techniques and tools (D2) for implementing them (D2), techniques for evaluating (D3) them, and a number of classic designs for study (D4). Each of these components of the development process is bound up with the others in a relationship of mutual, reciprocal influence whereby choices made in one area impact upon the choices and the options available in the others.
The following inventory of topics contains representative entries relating to all of these aspects of the design and analysis of human-computer interaction systems. This inventory is a current snapshot of topics on which there are results that could be taught. In addition to direct HCI topics, we have included in this inventory results from other disciplines central enough to be taught within courses in HCI. Such a list cannot hope to be complete or even non-controversial, but it should be heuristically useful in the practical business of preparing courses.
FIGURE 1. Human-Computer Interaction (also available as vectorized PDF)
Under this heading are overviews of, and theoretical frameworks for, topics in human-computer communication.
The uses to which computers are put are spoken of as 'applications' in the computer world. These uses and the extent to which the interface (and the application logic in the rest of the system) fits them can have a profound impact on every part of the interface and its success. Moreover, the general social, work, and business context may be important. In addition to technical requirements, an interface may have to satisfy quality-of-work-life goals of a labor union or meet legal constraints on "look and feel" or position the image of a company in a certain market. The following topics are concerned with general problems of fitting computers, uses, and context of use together.
This heading relates to the human as an interacting social being. It includes a concern with the nature of work, and with the notion that human systems and technical systems mutually adapt to each other and must be considered as a whole.
The focus of this section is on classes of application domains and particular application areas where characteristic interfaces have developed.
Part of the purpose of design is to arrange a fit between the designed object and its use. There are several dimensions to this fit and it is possible to place the burden of adjustment in different places: Adjustments can be made (1) either at design time or at time of use (2) by either changing the system or the user and (3) the changes can be made by either the users themselves or, sometimes, by the system. Topics under this heading all relate to changing some component of a socio-technical system so as to improve its fit.
It is important to understand something about human information-processing characteristics, how human action is structured, the nature of human communication, and human physical and physiological requirements.
Characteristics of the human as a processor of information.
Language as a communication and interface medium. Communication phenomena.
Anthropometric and physiological characteristics of people and their relationship to workspace and environmental parameters.
Machines have specialized components for interacting with humans. Some of these components are basically transducers for moving information physically between human and machine. Other components have to do with the control structure and representation of aspects of the interaction. These specialized components are covered in the following topics.
The technical construction of devices for mediating between humans and machines.
The basic software architecture and techniques for interacting with humans.
The conceptual uses to which the technical means are put. Such concepts arise in any media discipline (e.g., film, graphic design, etc.).
Basic concepts from computer graphics that are especially useful to know for HCI.
Software architectures and standards for user interfaces.
The construction of human interfaces is both a matter of design and engineering. These topics are concerned with the methodology and practice of interface design. Other aspects of the development process include the relationship of interface development to the engineering (both software and hardware) of the rest of the system.
The process of design. Relevant topics from other design disciplines.
Tactics and tools for implementation.
Philosophy and specific methods for evaluations.
Classic designs to serve as extended examples of human interface design.
The topics listed in this chapter constitute
an attempt to inventory the results of HCI and
its supporting fields that are available for
teaching. The topics are not arranged according
to how they would appear in courses. Rather,
they are the raw material out of which courses
and curricula might be fashioned and
recommendations for such courses and curricula
are provided in Chapters 3 and 4. However, HCI
as a field is continuing to develop rapidly. It
is expected, therefore, that the above topics
will undergo change as new results occur and as
our understanding of the area deepens. New
paradigms will emerge as our fundamental
concepts evolve, become more clearly
articulated, and spin off entirely new
subtopics. These changes will necessitate
continual revision of courses and curricula as
new topics and results emerge.
![]() |
Contents | | | Preface | | | Introduction | | | Definition | | | Courses | | | Programs | | | Issues | | | References | | | Resources | | | Top |