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:
2 (Jan 12,14) UI Design Paradigms
Handout 1, Ch
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
1.5, Handout 3
More VB .NET
5 (Feb 2,4) Window design
principles BS Ch 13, Handout 1,
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
No class Feb 16 - Pres. Day
8 (Feb 23,25) Catch up, Review for
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
Web Usability JR Ch 14, 11, 6
13 (Mar 29,31) Error Messages
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
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.
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
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