ISU570 - Human-Computer Interaction
Meeting MW 2:50 - 4:30, 31 Snell Library (SL)

Winter 2004 -- Prof. Carole Hafner   tel. 617-373-5116
Office Hours: Monday 4:45 - 6:00 and Tuesday 10:30 - 12:30

Teaching Assistant -- Jun Gong
53 Cullinane Hall  --
Office Hours: Tuesday, Friday 2:00 - 5:00 p.m.


Weekly schedule

Course administration and rules

Computing resources

Homework assignments and other course materials

I. Introduction

This course provides an introduction to the study of human-computer interaction and user interface design.  HCI is a field that combines material from many different perspectives including computer science, psychology, human factors and graphic design.  Course readings focus on developing both a strong theoretical understanding of the field and some practical UI design skill. Students will work on several design projects, including paper designs and implemented prototypes.  Students will also participate as usability experts in evaluating the designs of others.  Prerequisites include solid programming skill in a high-level language.  Knowledge of object-oriented design is also strongly recommended.

The textbooks for the course are:

Other assigned readings include:
Handout 1: Alan Cooper, About Face: The Essentials of User Interface Design, IDG Books 1995. Chapters 3-7.
Handout 2:  Donald A. Norman, The  The Psychology of Everyday Things, Doubleday/Currency 1988.  Chapters 1, 2 and 5.
Handout 3: Jakob Nielsen, Usability Engineering, Academic Press 1993. Sec. 2.5 and
                      D Mayhew, Software User Interface Design, Prentice-Hall 1992, Ch. 2, pp. 60-72.
Handout 4: M. Rosson and J. Carroll, Usability Engineering,Morgan Kaufmann, 2002.  Secs. 1.4, 2.3.4, 3.4, 4.5.
Handout 5:  Alan Dix et. al., Human-Computer Interaction, Second Edition, Prentice Hall 1998. Sec. 11.4 and
                       Jakob Nielsen, Usability Engineering, Academic Press 1993, Sec. 5.11.

This document and other course materials can be found at:

II. Weekly Schedule

Week                 Topic                             Reading Assignment
----              ----------------------------         ------------------
1 (Jan 7)          Introduction                        BS 1.1-1.4, Ch 9

2 (Jan 12,14)      UI Design Paradigms                 Handout 1, Ch 4-5,BS 6.1-6.4
                   Design Tools/VB .NET

3 (Jan 21)         Human Factors Perspective           BS Ch 10, Handout 2
                   No class Jan 19 - MLK birthday    

4 (Jan 26,28)      The User Profile                    BS 1.5, Handout 3
                   More VB .NET            

5 (Feb 2,4)        Window design principles            BS Ch 13, Handout 1, Ch 6-7
             Display and Media Design            BS 11.4,11.5, JR Ch.8

6 (Feb 9,11)       Scenario Based Design               Handout 4, Ch 1-3

7 (Feb 18)         Heuristic Evaluation                Handout 5
                   No class Feb 16 - Pres. Day     

8 (Feb 23,25)      Catch up, Review for midterm
                   Midterm exam Feb. 25

9 ()               No class, Spring Break

10 (Mar 8,10)      Scenario-based Design (cont.)       Handout 4, Ch 4-5
Discuss term project

11 (Mar 15,17)
     Design Guidelines for Menus,        BS Ch 7, 8.1-8.5
                   Fill-in forms, and Commands

12 (Mar 22,24)     Evaluating Usability                BS 4.3-4.8
                   Web Usability                       JR Ch 14, 11, 6

13 (Mar 29,31)     Error Messages                      BS 11.2, JR Ch 9
                   Help and Documentation              BS Ch 12, JR, Ch 15

14 (Apr 5,7)       Usability Engineering Revisited     BS Ch 3, JR Ch. 4

15 (Apr 12,14)     Student Project Presentations

16 (Apr 20-23)     FINAL EXAM WEEK

III. Course administration and rules

The student's grade will be based on  individual homework assignments (30%), a midterm and a final exam covering the readings and lecture/discussions (20% midterm, 25% final), and a major term project done in groups (25%).  Class attendance is required: excessive absences can cause your final grade to be lowered by one grade, and outstanding class participation can cause it to be raised by one grade.  In order to pass the course, you must receive a passing grade on all three components of the course (individual homework, exams, term project).

Academic Honesty: The individual homework assignments must be each student's own work.  The final group project must be the work of the students in the group.  Plagiarism or cheating will result in official University disciplinary review.

Late homework: homework is accepted up to one week late without penalty.  However, late homework may not be graded in a timely fashion.  If homework is more than one week late, the grade will be lowered one full grade.

Missed exams: There are no make up exams in this course.  Normally, failure to take an exam results in a grade of 0.  If the absence is excused due to exceptional circumstances, the student's other course work will be used to determine the course grade.

Attendance at the last two meetings, April 12 and April 14, is mandatory.  So please be sure not to schedule business appointments or family obligations that conflict with class on these dates.

IV. Computing Environment

A CCS Unix account is required to access course materials and submit homework  To learn how to get an account go to

The programming projects will be done on PC's using Microsoft's Visual Basic  .NET. All programming assignments can be done in the CCIS computer laboratories, Rooms 257, 259 and 229 Cullinane Hall.  Other Northeastern University labs do not have Microsoft's Visual Studio .NET at this time.  If you are a CCIS student, you have the opportunity to download one free copy of Microsoft's Visual Studio .NET,  for your personal use (including but not limited to NU coursework).  Information on how to sign up for this download privilege will be provided in class.

Visual Basic is one of the best ways to quickly create a working prototype of a user interface design.  You can graphically design the screens using drawing tools, and then specify the behavior of each object using a simple event-driven programming language. It is easy to create programs with their own menus, multiple windows, and a huge variety of interactive widgets.  A nice interactive development environment (IDE) and  extensive on-line help and documentation makes Visual Basic very easy to learn.

One of the requirements of this course is the creation of project reports that include "screen dumps" of your program in operation. To create such  documentation, start up both Visual Basic and a word processor.  When your program is running, you can use the "Print Screen" key to copy the screen to the Clipboard, select your word processor document, and use the "Paste" command to copy the screen image into the document. ALT-Print Screen copies the currently active window, instead of the entire screen.

It is strongly recommended that you obtain a book on Visual Basic .NET, either through purchase or by borrowing it.  Rather than ordering one book for the entire class, students can choose a book based on their interest and budget.  The following books are recommended (based on reviews on amazon.

1. Offering a gentle introduction:
 Beginning VB.NET, Second Edition by Matthew Reynolds
 Microsoft Visual Basic .NET Step by Step by Michael Halvorson

2. Assuming greater programming strength, includes more in-depth material
 Programming VB .NET: A Guide for Experienced Programmers by Gary Cornell, Jonathan Morrison

3. For those who really want to understand the User Interface aspects of VB .NET, including how to extend the built-in widgets:
User Interfaces in VB.NET: Windows Forms and Custom Controls by Matthew MacDonald

4. Standard reference from Microsoft
Programming Microsoft Visual Basic .NET (Core Reference) by Francesco Balena