HUMAN-COMPUTER INTERACTION
From CS2001 Wiki
Human-computer interaction is an important area of computing knowledge. As more people conduct more of their daily activities interacting with a computer, the construction of interfaces that ease that interaction is critical for increasing satisfaction and improving productivity. As more software requires a user interface, knowing how to create a usable interface and testing the usability of that interface become required skills for all computer science students.
The design of human-computer interfaces impacts the software life-cycle. Where interfaces used to be designed after the functionality was completed, we now know that the design of a usable interface should occur early in the cycle. We know that the design and implementation of the core functionality can influence the user interface. Human-computer interfaces are themselves software components, and the development and reuse of those components become an important part of the development of most software today.
HC/Foundations [core]
Minimum core coverage time: 6 hours
Topics:
- Motivation: Why the study of how people interact with technology is vital for the development of most usable and acceptable systems
- Contexts for HCI (mobile devices, consumer devices, business applications, web, business applications, collaboration systems, games, etc.)
- Process for user-centered development: early focus on users, empirical testing, iterative design.
- Different measures for evaluation: utility, efficiency, learnability, user satisfaction.
- Models that inform human-computer interaction (HCI) design: attention, perception and recognition, movement, and cognition.
- Social issues influencing HCI design and use: culture, communication, and organizations.
- Accommodating human diversity, including universal design and accessibility and designing for multiple cultural and linguistic contexts.
- The most common interface design mistakes.
- User interface standards
Learning objectives:
- Discuss why user-centered product development is important.
- Explain why both individual human models and social models are important to consider in design of human-computer interaction.
- Define a user-centered design process that explicitly recognizes that the user is not like the developer or her acquaintances.
- Describe ways in which a user-centered design process may fail, including examples.
- Define different processes for defining interfaces for different contexts.
- Differentiate between the role of hypotheses and experimental results vs. correlations.
- Choose between qualitative and quantitative evaluation methods for a given evaluation question.
- Use vocabulary for analyzing human interaction with software: perceived affordance, conceptual model, mental model, metaphor, interaction design, feedback, and so forth.
- Provide examples of how different interpretations that a given icon, symbol, word, or color can have in (a) two different human cultures and (b) in a culture and one of its subcultures.
- Be able to describe at least one national or international user interface design standard
HC/BuildingGUIInterfaces [core]
Minimum core coverage time: 2 hours
Topics:
- Principles of graphical user interfaces (GUIs).
- Action-object versus object-action.
- User interface events.
- Constructing a user-interface for a native system vs. the web.
Learning objectives:
- Explain principles for design of user interfaces, such as learnability, flexibility, and robustness.
- Describe examples of bad navigation, bad screen layout, and incomprehensible interface design.
- Create a simple application that supports a graphical user interface, for either the Web or a windowing system.
- Observe a user attempting to use the application and have the user critique the application.
- Explain how careful user evaluation goes beyond the simple observation of a single user.
HC/UserCenteredSoftwareEvaluation [elective]
Topics:
- Evaluation without typical users: walkthroughs, KLM, expert-based analysis, heuristics, guidelines, and standards
- Evaluation with typical users: observation, think-aloud, interview, survey, experiment.
- Challenges to effective evaluation: sampling, generalization.
- Reporting the results of evaluations
Learning objectives:
- Discuss evaluation criteria: task time/completion, time to learn, retention, errors, and user satisfaction.
- Conduct a walkthrough, expert-based analysis, and a Keystroke Level Model (KLM) analysis.
- Compare a given user interface to a set of guidelines or standards to identify inadequacies.
- Conduct a usability test with more than one user, gathering results using at least two different methods.
# Compare a laboratory test to a field test.
- Explain a usability problem that is supported by results from a usability test. Recommend a solution to the usability problem.
- Critique a user evaluation, to point out threats to validity.
- Given an evaluation context (e.g. amount of time, availability of test users, place in the design process, evaluation goals), recommend and justify an evaluation method.
HC/UserCenteredSoftwareDevelopment [elective]
Topics:
- Approaches, characteristics, and overview of product development process, with special emphasis on software development process.
- Functionality and usability requirements
- Techniques for gathering requirements: task analysis, interviews, surveys
- Notations for specifying user interfaces
- Prototyping techniques and tools
- Sketching
- Paper storyboards
- Low-fidelity or paper prototyping
- Medium fidelity prototyping
- Prototyping tools and GUI builders
- User-interface software techniques:
- Inheritance and dynamic dispatch
- Prototyping languages and GUI builders
Learning objectives:
- Compare user-centered development to traditional software engineering methods.
- Gather requirements for a user interface, using both task analysis and interview with a user.
- Identify from requirements analysis at least three functional requirements and at least three usability requirements.
- Create a specification for a user interface based on requirements.
- Create two different prototypes at different levels of specificity from the specification.
- Implement the prototype using some GUI toolkit.
HC/GUIDesign [elective]
Topics:
- Choosing interaction styles (command line, menu, voice, gestural, WIMP) and interaction techniques
- Choosing the right widget for users and tasks
- HCI aspects of screen design: layout, color, fonts, labeling
- Handling human/system failure.
- Beyond simple screen design: visualization, representation, metaphor
- Multi-modal interaction: graphics, sound, and haptics.
- 3D interaction and virtual reality
- Designing for small devices, e.g., cell phones.
- Multi-cultural interaction and communication
Learning objectives:
- Summarize common interaction styles.
- Explain good design principles of each of the following: common widgets; sequenced screen presentations; simple error-trap dialog; a user manual.
- Design, prototype, and evaluate a simple 2D GUI illustrating knowledge of the concepts taught in HC3 and HC4.
- Identify the challenges that exist in moving from 2D to 3D interaction.
- Identify the challenges that exist in moving from desktop or laptop screen to a mobile device.
HC/GUIProgramming [elective]
Topics:
- UIMS, dialogue independence and levels of analysis, Seeheim model
- Widget classes and libraries
- Event management and user interaction
- Web design vs. native application design
- Geometry management
- GUI builders and UI programming environments
- Cross-platform design
- Design for small, mobile devices
Learning objectives:
- Differentiate between the responsibilities of the UIMS and the application.
- Differentiate between kernel-based and client-server models for the UI.
- Compare the event-driven paradigm with more traditional procedural control for the UI.
- Describe aggregation of widgets and constraint-based geometry management.
- Explain callbacks and their role in GUI builders.
- Identify at least three differences common in cross-platform (e.g., desktop, Web, and cellphone) UI design.
- Identify as many commonalities as you can that are found in UIs across different platforms.
HC/MultimediaAndMultimodalSystems [elective]
Topics:
- Categorization and information architectures: hierarchies, grids, hypermedia , networks
- Information retrieval and human performance
- Web search
- Usability of database query languages
- Graphics
- Sound
- HCI design of multimedia information systems
- Speech recognition and natural language processing
- Information appliances and mobile computing
- Interactive visualizations
- Information design and navigation
- Touch interfaces
Learning objectives:
- Discuss how information retrieval differs from transaction processing.
- Explain how the organization of information supports retrieval.
- Describe the major usability problems with database query languages.
- Explain the current state of speech recognition technology in particular and natural language processing in general.
- Design, prototype, and evaluate a simple Multimedia Information System illustrating knowledge of the concepts taught in HC4, HC5, and HC7.
HC/CollaborationAndCommunication [elective]
Topics:
- Groupware to support specialized tasks: document preparation, multi-player games
- Asynchronous group communication: e-mail, bulletin boards, listservs, wikis, ...
- Synchronous group communication: chat rooms, conferencing
- Online communities: MUDs/MOOs,
- Software characters and intelligent agents, virtual worlds and avatars
- Social psychology
- Social networking
- Social Computing
- Collaborative usability techniques.
Learning objectives:
- Compare the HCI issues in individual interaction with group interaction.
- Discuss several issues of social concern raised by collaborative software.
- Discuss the HCI issues in software that embodies human intention.
- Describe the difference between synchronous and asynchronous communication.
- Design, prototype, and evaluate a simple groupware or group communication application illustrating knowledge of the concepts taught in HC4, HC5, and HC8.
- Participate in a team project for which some interaction is face-to-face and other interaction occurs via a mediating software environment.
- Describe the similarities and differences between face-to-face and software-mediated collaboration.
HC/InteractionDesignForNewEnvironments [elective]
Topics:
- Interaction design for engaging interactive experiences
- Presence, tele-presence and immersive environments
- Affective interaction and emotion
- Ambient intelligence
- Physical computing and embodied interaction
Learning objectives:
- Compare the methodological and philosophical issues involved with designing for usability and designing for engagement.
- Discuss several issues of social and ethical concern raised by immersive environments and high levels of emotion in HCI.
- Discuss the HCI issues involved in interactive software that embodies a level of intelligence.
- Describe the difference between interaction design and traditional HCI.
- Design, prototype, and evaluate an engaging interactive system for entertainment or education.
- Evaluate the experiences or people in immersive environments.
- Describe the issues involved with tangible user interfaces, gesture and full body interaction.
- Describe the issues involved with engaging all the senses in interactive experiences.
HC/HumanFactorsAndSecurity [elective]
Topics:
- Applied psychology and security policies
- Usability design and security
- Social engineering
- Identity theft
- Phishing
Learning objectives:
- To explain the concept of phishing, and how to recognize it
- To explain the concept of identity theft is and how to hinder it
- To design a user interface for a security mechanism
- To discuss procedures that counter a social engineering attack
- To analyze a security policy and/or procedures to show where they meet, or fail to meet, usability considerations
| To give feedback on this area of revision, go to here and use your ACM user name and login. |
| To give feedback on security section of this area of revision, go to hereand use your ACM user name and login. |
Copyright © 2008, ACM, Inc. and IEEE, Inc.
