CMSC 134 - Human-Computer Interaction
Course Description
Foundations of human interaction; interaction design basics; HCI in the software
process; cognitive models and theories; applications of concepts and methodologies of
software engineering, human factors, and psychology to address ergonomic, cognitive,
and social factors in the design and evaluation of interactive computer systems.
Course Learning Outcomes
After completion of the course, the student should be able to:
- Explain the human factors and the theoretical issues involved in human computer interaction design;
- Apply the theoretical design principles to the design and evaluation of user interfaces;
- Design user requirements and human-computer interface;
- Use systematic approaches in solving problems; and
- Engage in collaborative activities to solve complex problems.
Course Outline
UNIT 1. Introduction to Human Computer Interaction
- Definition of HCI
- Importance of HCI
- Field Covered by HCI
- Statistical Analysis using Excel
- HCI Community
- HCI tools
- Usability Requirements
- Requirements Analysis
- Reliability
- Standardization, Integration, Consistency, Portability, Usability
UNIT 2. User Needs Analysis
- Activities and Technologies
- People Activities, Context to use, Technologies (PACT) Analysis
UNIT 3. Communication Design Principle
- Core Principles of UI is Communication
- Effective Communication
- Intuitive UI
- Necessary (and Unnecessary) Consistency
- Strategically Unintuitive UI
- Levels of Intuitiveness
- Inductive UI
- Strategically Deductive UI
- Asking Intuitive Questions
- A model for Users
UNIT 4. Interaction Design Principle
- Interactions
- Controls (Words)
- Commands (Verbs)
- Labels and Instructions
- Feedback
- Task Steps
- Task Navigation
- Surfaces
- Errors, warnings, confirmations, and notifications
- Dynamic Elements
UNIT 5. Visual Design
- The importance of Effective Visual Design
- Working with Graphic Designers
- Layout
- Designing for Scanning
- Typography and Text
- Frequent Pattern Growth
- Color
- Affordances
- Icons and Glyphs
- Animations and Transitions
- Demanding Attention
UNIT 6. Analytical Evaluation
- Heuristic Evaluation
- Cognitive Walkthrough
UNIT 7. Communicating to People
- The importance of Making Emotional Connection
- Having a Personality
- Personality Attributes
- Having a Good Tone
- Motivating Users by Providing Obvious Value
- Minimizing Effort Having Forgiveness
- Building Trustworthiness
- Being Smart Without Looking Stupid
- Not Being Annoying
- Using Courageous Design
- Why Be Dull? Make It Fun!
UNIT 8. Communication-Driven Design Process
- Definition of Communication-Driven Design Process
- Don’t Design Like A Programmer
- What Exactly is Design?
- A Basic Design Process
- The Classic Design Process Mistakes
- The Planning Phase
- The Design Phase
- The Refinement Phase
- Giving and Receiving Feedback
- What About Agile Development?