Introduction to Human-Computer Interaction

Fall 1997

Instructor

Craig Miller
256 South College, x-1400
Email: millercr
Office hours to be announced and placed on Web page

Meetings

TuTh 9:30-11
Rm 4 (basement) South College

Announcements and Daily Activities

Text

Usability Engineering, by Jakob Nielsen.
Suggested text: Java in a Nutshell, by David Flanagan.
Other selected readings to be announced.

Overview

This course examines the practical and theoretical issues of how people interact with computers and methods for developing software to improve their usability. We will be designing, evaluating, and implementing various user interfaces including command-line interfaces, graphical interfaces, menus, and dialog boxes.

For designing interfaces, we will create and discuss preliminary designs while taking into consideration psychological, social and technical factors. For evaluating interfaces, we will employ techniques such as heuristic evaluations, setting performance measures, and taking verbal protocols. Learning about good experimental design will be an essential element in evaluating usability. Finally, for implementing interfaces, we will learn and use the java programming language and its Abstract Window Toolkit (AWT). Exception handling and multi-threaded programming will be introduced to improve flexibility and interruptability.

Goals

Certainly, one goal is to learn about user interfaces, and even about design and evaluation in general. But the course will also target research and professional skills that have a broad utility in almost any computer-oriented field. These skills include:

Projects

Projects will play an important role in the course. You may find that they are generally more open-ended than what you have experienced in previous computer science courses. While an assignment will typically start you with a specific task, you will be required to take your own initiative in expanding on the assigned work in useful and interesting ways. Despite the open-endedness, you will often receive suggestions in guiding you on this process. Often, you will be required to write up what you have done, describe and analyze your results, and present any conclusions drawn from them. Because of the open-ended nature of the projects, we will frequently perform example projects as a class before undertaking them as individuals.

Tentative Project List

Grade Determination

50% Projects (approx. 6)
30% Quizzes (approx. 5-6)
10% Informal assignments
10% Preparation and participation

Policies

In this course, a limited amount of student collaboration is anticipated and allowed. Discussing abstract ideas and debugging assistance is generally allowed. Using general-purpose classes and functions written by others requires permission from the instructor. Under no circumstances may anyone misrepresent someone else's work as being his or her own. Ideas and aid from others must be clearly documented. The principle is to learn from others but only receive credit for what you have done as an individual.

Quizzes will always be announced at least one class day in advance. Quizzes can only be made up with a written medical excuse and must be arranged as soon as possible.

Late projects will be accepted with the penalty of a deducted letter grade (e.g. B+ down to B) for each day late.