



Abstract
Teaching User Interface Development to Software
Engineers is an overview of the analysis, design,
implementation and evaluation topics to teach and the
resources to teach them to software engineers, the people
who make most of the user interface design decisions. The
goal is to improve the quality of user interface development
instruction for software engineers and in turn improve the
quality of the user interfaces they build.
Keywords
[K.3.2] Computer and Information Science Education,
Curriculum; [K.6.1] Project and People Management;
Staffing, Training, Human Factors, Management,
Education, Software Engineering, User Interface
Introduction
There are not many specialists in user interface
development, so most software user interfaces are designed
and built by software engineers. These engineers need
training about how to build usable and useful user
interfaces, but the scarcity of user interface specialists
is
correlated with the lack of educators ready to train user
interface developers. The materials presented here are
designed to improve the quality of user interface
development training. A software engineer who has been
trained in user interface development should have gained
perspective, learned about methods and tools, and gained
an appreciation of their limits. Their perspective
should
include: the importance of the user interface, the impact of
good and bad user interfaces, and the diversity of users and
applications. About methods and tools they should
know:
the tradeoffs of design decisions involving different
dialogue types and input/output devices, the information
resources available for design, the benefits and costs of
developing tools for user interface implementation, the
need to integrate training materials with the user
interface,
the need to evaluate system usability, and information about
some design and evaluation tools. Finally, software
engineers building user interfaces must know the limits
of
their knowledge: when and how to work with human
factors engineers as consultants for design and evaluation,
when and how to work with technical writers for
implementation of a system of user guidance, when and
how to work with a statistical consultant, and the
difficulty
of measurement and the complexity of making decisions
based on data.
CONTENT
The material in the tutorial is organized around the
curriculum module developed by the instructor for the
Software Engineering Institute at Carnegie-Mellon
University. The first computer science course suggested by
the ACM SIGCHI report on Curricula for HCI closely
matches this organization. The tutorial will stress the
content of a first course to be offered to computer science
majors and software engineers. The content focuses on an
iterative development lifecycle of practical cost-effective
methods for the analysis, design, implementation, and
evaluation of user interfaces. There will be treatment of
lecture material, motivating demonstrations, and
reinforcing exercises. Widely available and economical
Mac and PC hardware and software will be discussed, with
some references to common workstation environments.
OBJECTIVES
Go to Table of Contents
holder.