HUMAN-COMPUTER INTERACTION

From CS2001 Wiki

Jump to: navigation, search

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.

Contents

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:

  1. Discuss why user-centered product development is important.
  2. Explain why both individual human models and social models are important to consider in design of human-computer interaction.
  3. Define a user-centered design process that explicitly recognizes that the user is not like the developer or her acquaintances.
  4. Describe ways in which a user-centered design process may fail, including examples.
  5. Define different processes for defining interfaces for different contexts.
  6. Differentiate between the role of hypotheses and experimental results vs. correlations.
  7. Choose between qualitative and quantitative evaluation methods for a given evaluation question.
  8. Use vocabulary for analyzing human interaction with software: perceived affordance, conceptual model, mental model, metaphor, interaction design, feedback, and so forth.
  9. 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.
  10. 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:

  1. Explain principles for design of user interfaces, such as learnability, flexibility, and robustness.
  2. Describe examples of bad navigation, bad screen layout, and incomprehensible interface design.
  3. Create a simple application that supports a graphical user interface, for either the Web or a windowing system.
  4. Observe a user attempting to use the application and have the user critique the application.
  5. 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:

  1. Discuss evaluation criteria: task time/completion, time to learn, retention, errors, and user satisfaction.
  2. Conduct a walkthrough, expert-based analysis, and a Keystroke Level Model (KLM) analysis.
  3. Compare a given user interface to a set of guidelines or standards to identify inadequacies.
  4. 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.

  1. Explain a usability problem that is supported by results from a usability test. Recommend a solution to the usability problem.
  2. Critique a user evaluation, to point out threats to validity.
  3. 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:

  1. Compare user-centered development to traditional software engineering methods.
  2. Gather requirements for a user interface, using both task analysis and interview with a user.
  3. Identify from requirements analysis at least three functional requirements and at least three usability requirements.
  4. Create a specification for a user interface based on requirements.
  5. Create two different prototypes at different levels of specificity from the specification.
  6. 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:

  1. Summarize common interaction styles.
  2. Explain good design principles of each of the following: common widgets; sequenced screen presentations; simple error-trap dialog; a user manual.
  3. Design, prototype, and evaluate a simple 2D GUI illustrating knowledge of the concepts taught in HC3 and HC4.
  4. Identify the challenges that exist in moving from 2D to 3D interaction.
  5. 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:

  1. Differentiate between the responsibilities of the UIMS and the application.
  2. Differentiate between kernel-based and client-server models for the UI.
  3. Compare the event-driven paradigm with more traditional procedural control for the UI.
  4. Describe aggregation of widgets and constraint-based geometry management.
  5. Explain callbacks and their role in GUI builders.
  6. Identify at least three differences common in cross-platform (e.g., desktop, Web, and cellphone) UI design.
  7. 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:

  1. Discuss how information retrieval differs from transaction processing.
  2. Explain how the organization of information supports retrieval.
  3. Describe the major usability problems with database query languages.
  4. Explain the current state of speech recognition technology in particular and natural language processing in general.
  5. 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:

  1. Compare the HCI issues in individual interaction with group interaction.
  2. Discuss several issues of social concern raised by collaborative software.
  3. Discuss the HCI issues in software that embodies human intention.
  4. Describe the difference between synchronous and asynchronous communication.
  5. Design, prototype, and evaluate a simple groupware or group communication application illustrating knowledge of the concepts taught in HC4, HC5, and HC8.
  6. Participate in a team project for which some interaction is face-to-face and other interaction occurs via a mediating software environment.
  7. 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:

  1. Compare the methodological and philosophical issues involved with designing for usability and designing for engagement.
  2. Discuss several issues of social and ethical concern raised by immersive environments and high levels of emotion in HCI.
  3. Discuss the HCI issues involved in interactive software that embodies a level of intelligence.
  4. Describe the difference between interaction design and traditional HCI.
  5. Design, prototype, and evaluate an engaging interactive system for entertainment or education.
  6. Evaluate the experiences or people in immersive environments.
  7. Describe the issues involved with tangible user interfaces, gesture and full body interaction.
  8. 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:


  1. To explain the concept of phishing, and how to recognize it
  2. To explain the concept of identity theft is and how to hinder it
  3. To design a user interface for a security mechanism
  4. To discuss procedures that counter a social engineering attack
  5. 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.

Personal tools