 |
Course Description
User interface design and human- computer interaction. Understanding the user.
Design and prototyping of highly usable interfaces. Design notations, dialog styles,
screen layouts, and usability testing. Event-driven programming language for rapid
prototyping. Prerequisite: CS 2020.
Course Syllabus
-
Introduction
- Definitions of human-computer interaction and user interface design
- Importance of interface design in software design
- Cost/benefit of good interface design
-
The Process - Usability Engineering: Stages in the development of user interfaces
- Needs analysis
- Systems analysis
- User profiling
- Preliminary design, including design notation
- Rapid prototyping and interactive design
- Formative evaluation techniques, including usability testing
- Using standards and guidelines
-
The Product
- Input and output devices
- Dialog styles
- Screen layout and design
- User documentation
- Evaluative testing
Knowledge Acquisition Goals
-
General concepts
- Understand how the user interface characteristics of everyday objects affect their
usability.
- Understand the history of user interface design and why it has become increasingly important to
software development.
-
Human capabilities and limitations
- Understand some human behavioral and perceptual capabilities and limitations that
affect interface design.
-
Interaction styles
- Understand different interaction styles and designs, their advantages and
disadvantages, and under what circumstances their use is appropriate.
-
Quality assessment
- Understand the dimensions of usability and some possible measurements.
- Understand basic principles of user interface evaluation and the use of standards and
guidelines.
-
User interface development
- Understand development methodologies and lifecycle modelsfor building user
interfaces.
- Understand the roles of prototyping in user interface design.
Skill Goals
- Participate in team and/or individual activities to evaluate different types of user
interfaces, using the techniques from the course.
- Build user interfaces using interface development tools such as Visual Basic.
- Participate in project(s) that emphasize the different phases of the user interface lifecycle.
|