CMSC 434/828S - Fall 2003
Prof Guimbretiere

Introduction to Human-Computer Interaction


Home Contact Syllabus Schedule HW & Project Links

Class Text:

Designing the User Interface: Strategies for Effective Human-Computer Interaction, 3rd Edition, Shneiderman [Addison-Wesley], 1998.

Recommended Texts:

Bringing Design to Software, Terry Winograd (Editor) et al, [Addison-Wesley], 1996.

In December 1995, American Airlines Flight 965 departed from Miami on a regularly scheduled trip to Cali, Columbia. On the landing approach, the pilot of the 757 needed to select the next radio navigation fix, named "ROZO." He entered an "R" into his navigation computer. The computer returned a list of nearby navigation fixes starting with "R" and the pilot selected the first of these, whose latitude and longitude appeared to be correct. Unfortunately, instead of "ROZO," the pilot selected "ROMEO," 132 miles to the northeast. The jet was southbound, descending into a valley that runs north-south, and any lateral deviation was dangerous. Following indications on the flight computer, the pilots began an easterly turn and slammed into a granite peak at 10,000 feet. One hundred and fifty two passengers and all eight crewmembers aboard perished. Four passengers survived with serious injuries. The National Transportation Safety Board investigated, and-- as usual-- declared the problem human error. The navigational aid the pilots were following was valid but not for the landing procedure at Cali. In the literal definition of the phrase, this was indeed human error, because the pilot selected the wrong fix. However, in the larger picture, it wasn't the pilot's fault at all.

-- The Inmates are Running the Asylum (Cooper)

 

Technology is a growing component of all of our lives, and computers are a growing component of many forms of technology. Yet, until quite recently, most computer applications were designed without considering the people who would use them. Rather, functionality and computational efficiency were the primary design factors. Often, computers are ineffective from a practical standpoint despite the fact that they do exactly what the designers intended. The problem is that a tool as complex as a computer needs to take into account more than just functionality, especially as more people without technical experience start to use them.

ACM defines CHI as "… a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them." In this course, we will survey the various components and techniques of Human-Computer Interaction. Starting with a look at some basic capabilities of people, we will look at the design of everyday objects to motivate the design of computer interfaces. We will explore various techniques for bringing users into the design-loop as we learn about basic user interface design tools. Finally, we will study evaluation techniques to help understand if our designs are effective. We will use these approaches in our class projects as we iteratively design, evaluation, and eventually build a user interface.

The course will consist of these topics:

  1. Overview
  2. The Past and the Future
  3. Principles for Design
  4. Understanding users and their tasks
  5. Designing with the user
  6. Basic human factors
  7. Designing visual interfaces
  8. Interface technology
  9. Implementing GUIs
  10. Evaluation and experimental design

Homework

There will be individual homework assignments, and group projects throughout the course. In addition, there will be substantial reading assignments and occasional other exercises. There will be assignment write-ups for each step of the project, and a final in-class presentation. No assignments strictly require programming, although some programming can help you do a more interesting and thorough job. 

A significant part of the course will involve your participation. Classes will frequently involve discussion and exercises in addition to lectures. Turned in material might be used (anonymously) as a starting point for discussion.

Group Project

The class will be divided into groups of 3-4 people. The groups will be formed near the beginning of the course, and will be kept throughout the semester. Aside from exceptional circumstances, the members of the group can not be switched.

However, if a student is not actively participating in their group, they can be removed from their group. Before this can happen, the group must make their concerns made to the student in question several times. Then, I must be notified about the difficulty. If after these repeated efforts, the student still is not actively participating in a group, they will be removed from the group and will have to work on an assignment on their own.

There will be 4 group projects. All project will involve design work on the same system, including design, prototyping, implementation and user testing.

Machines

All assignments can be done using the technology of your choice. Prototypes can be built with Visual Basic, Java, or any other technology.  The only requirement is that they run on a PC so the TA and I can evaluate them on our computers.  We will form groups taking into account the preferred technology that you want to use.

Writing

This course involves a lot of writing. You will be graded on your writing quality as well as your writing content. Good writing conveys ideas more clearly than poor writing, and the process of writing down your thoughts often helps to clarify them. Thus it is to your advantage to make the effort to organize your thoughts and write well.

Grading

All assignments are due at the beginning of the class on the day that they are due. The paper part (if any) must be turned in in class, and the electronic part (if any) must be submitted by the time of the beginning of class. Late assignments will be strictly penalized. Exceptional circumstances will be considered only if discussed with me in advance. All late assignments will have points deducted as follows:

-20% Up to 24 hours late
-50% Up to 48 hours late
-100% More than 48 hours late

If you wish to contest a grade, please do so by sending the grader an e-mail explaining why you think the grading was inaccurate. Your work will then be graded again and a new grade issued. Please note that the new grade might be lower than the original grade.

Your final grade will be computed using the following contributions:

10% Participation
20% Homeworks
10% Project 1
10% Project 2
10% Project 3
10% Project 4
10% Midterm Exam
20% Final Exam

In addition, you must pass both exam components and assignment components to pass the course.

Academic Honesty

The four  projects are group assignments, and each member of the group is expected to accurately represent their contribution. Homeworks are individual assignments, and students may not discuss them with anyone other than the instructor or the teaching assistant for this course. In cases where a homework involves interviewing potential users, details will be given in class as to how these users may be selected, and what can and can not be discussed with these users. Exams are individual works and a student may not look at another student's exam, or refer to any notes (unless exceptions are stated in advance), during the exam period.

Any attempts to circumvent deadlines or rules will be considered incidents of academic dishonesty. Any student violating any of these or general University academic honesty rules you will get an immediate F for the course, and will be reported to judicial programs for a hearing.

Graduate Students

Some graduate students may have registered for this course as 828S which counts towards the Software Engineering requirement. Graduate students that are registered for CMSC 828S must do exactly the same work as students registered for CMSC 434 but:

  • All 828S students will work in groups among themselves
  • 828S students will be graded compared with other 828S students
  • 828S student projects will be geared toward research and will require supplemental materials to be provided

Network usage in class

Our classroom has Internet connectivity. Internet usage may be monitored for educational and/or research purposes as it relates to our class.