Human Computer Interaction (HCI) teaches the design of interactions between people and computers, interface design, conceptual models, design methods, software evaluation, and ethical concerns. Software design project.
Prerequisite: CS 275 - Interaction Programming

This course is designed to teach you how to create programs that users won't yell at!

You will learn how to interact with the people who are using your programs so you can create something that provides them what they need and in a way that they understand it. In addition to theoretical information via lectures, you will get hands on experience with in-class assignments, and a semester long project. The project will teach you how to: observe and interview potential users, model the data gathered, consolidate the individual models to a user population, brainstorm design ideas, test a paper prototype, and create a high fidelity prototype. You will have access to a usability lab designed exclusively to help you through this process, to make it as real world as possible.


Contextual Design

Steps to the design process including data gathering, interpretation, user modeling, brainstorming, paper prototyping, and usability testing.

Ethnographic Techniques

User observation, user interviewing, validating data, transcribing video tape, and writing field notes.

Psychology of HCI

Knowledge representation, mental models, conceptual modeling, perception, and memory constraints.

HCI Design Concepts

Including use of metaphors, icon design, affordance, visibility, feedback, constraints, heuristic evaluation.

Organization and Visual Composition

Including consistency, simplicity, readability, use of color, grouping, alignment, use of borders, symmetry, use of white space, and balance.

Social and Ethical Implications

Including professional ethical responsibilities and design for disabilities.

Cognitive considerations in HCI (time permitting)

Personality type and its implications in HCI design.