CS 185:  Human-Computer Interaction

Winter 2008


 

This home page and the class mailing list will be used as centers of communication for the class. While the webpage provides you with up-to-date information about assignments and what is currently going on in class, the mailing list serves as an open forum: questions, answers, suggestions, etc.

General Information


Class Hours:    TR, 3:30-4:45pm
Class Location:	Phelps 3523
Discussion:     F, 11:00-11:50am, CTL (aka Collaborative Technology Lab, Trailer 932)

Instructor:     Tobias Höllerer
Office Hours:   Thu, 10-12, or by appointment
Office:         2155 Engineering I, (805) 893 8759
e-mail:         holl@cs...

TA 1:           Brynjar Gretarsson
Office Hours:   Wed. 3-4, in the Four Eyes Lab (Trailer 935, room 101, directly east of Phelps Hall)
e-mail:         brynjar@cs... 
TA 2:           Chris Bunch
Office Hours:   Thu 2:30-3:30, in the Four Eyes Lab (s.a.)
e-mail:         cgb@cs...


Course Description

The study of human-computer interaction enables system architects to design useful, efficient, and enjoyable computer interfaces. This course teaches the theory, design procedure, and programming practices behind effective human interaction with computers.

We will examine interaction design, implementation, and evaluation. The design process requires a solid understanding of the theory behind successful human-computer interaction, as well as an awareness of established procedures for good user interface design, including the 'usability engineering' process. Iterative evaluation is an important aspect of this procedure, and we will learn and practice prototyping and evaluation using scenario-based case studies. We will look at specific interface success stories and spectacular failures to learn from past experiences. Students will apply their gained knowledge in a series of practical assignments that highlight selected portions of the design cycle, as well as familiarize them with sound programming practices and effective tools and techniques to create successful user interfaces. The course will also introduce novel interfaces that go beyond what we normally see in today's graphical user interfaces.
 

Book

Other Sources

Course Requirements and Grading

This class teaches the theory and practice of effective user interface design. You will learn about principles, procedures, and programming approaches. You will create, judge, and evaluate interaction designs.

There will be one exam (in week 8 or 9), as well as a series of design, prototype, evaluation, and implementation assignments that lead up to individual or group class projects. We will continuously assign reading material from the book and assorted handouts, which is supposed to help your design efforts and to stimulate class participation. Here is how your final grade will be determined:  

In case you disagree with any grade, submit your grievance in writing (email or paper) to the grader responsible, explaining and documenting your case.

Lateness Policy

All assignments are due at midnight on the scheduled due date. To make the deadlines more manageable, each student will be allowed three ``late days'' during the quarter for which lateness will not be penalized. Late days may be applied to all assignments, including design sketches and programming assignments, but not the final project! Your  late days may be used as you see fit -- one or multiple per assignment -- but once you used a late day it's good and gone, you cannot reapply it to another assignment. Anything turned in after 12:00:00am until midnight the next day is one day late. Every day thereafter that an assignment is late, including weekends and holidays, counts as an additional late day.

Absolutely no late work will be accepted after the deadline if you have used up all your late days. If you're not done on time you must turn in what you have to receive partial credit. There will be no exceptions from this rule. Please make sure you understand this policy.

When making use of your late days, the online submission provides the timestamp that counts. 

Academic Misconduct

We will strictly enforce UCSB's academic misconduct policies. We use electronic tools to detect plagiarism among submitted homework solutions and sources from the internet. Read these guidelines before beginning each programming assignment. Any form of  plagiarism, collusion, or cheating will result in an "F" in this course and may result in suspension from UCSB for two quarters. When in doubt about any forms of receiving help on your assignments, ask us!

Open Door Policy

I would like the course to be informative and enjoyable. Let us know what you find just, good and interesting about the course. Let us know sooner if you feel something could be improved. See me, send an e-mail, or leave me a note.


Class Materials

See handout column in the class schedule!

 

Class Schedule

Tentative Topics:

Introduction, Motivation,
Overview and History of HCI

Formal Models for Interaction Design,
Model-based Analysis,
Fitts' Law

Usability Engineering Process,
Scenario-based Design,
Prototyping

Evaluation,
Formative Studies, Summative Studies,
Important Statistics for Usability Studies

Interaction Styles
Feedback and Visualization
Universal Principles of Design
Success Stories and Failures

UI Taxonomies (2D WIMP, 2D/3D Interaction, Multimedia)
Toolkits, UIMS, UI Builders

Programming: Event Models, I/O Models,
Software Engineering

Case Study: Computer Games

Novel Interfaces (Post-WIMP)
Research Frontiers (1995 and now)
Intelligence (AI) in User Interfaces
Mobile Systems
Collaborative Systems 

 

Wk

Class
/ Dis

Date Assigned
Reading
Topics Handout HW
out
HW due
 1 C1 Tue Jan. 8

---

Introduction, Motivation,
Class Requirements, Policies
 

OM1 ( Online Material 1):
  
Knowledge Navigator Video
(Apple Quicktime Format)

H1 (Handout 1):

"HCI--A Historical and Intellectual Perspective",

 H2: Student Questionnaire

   
C2 Thu Jan. 10 H1
Re-watch OM1
Knowledge Navigator Discussion

Starfire Video
OM2: Memex, full article
H3: Xerox Star Retrospective
H4: DTUI Chapter 2, part I
H5:
Licklider Papers
OM3:
Sun Starfire Script
H6:
Starfire CHI paper
OM4:
The Starfire Video (240MB!)
HW1  
D1 Fri Jan. 11

 
No Discussion      
2 C3 Tue Jan. 15 H4, H6, OM3
(needed for HW1)

History of HCI
HCI Overview

 
H7: Slides: HCI History

H8: Affordance
H9: Mental Model
H10: Recognition Over Recall
 
   
C4 Thu Jan. 17 H8, H9, H10

HCI Guidelines and Principles

UI Design Principles

Homework 2

H11: Norman, DOET, Chapter 1

H12: Slides: Design Principles
(includes Usability Measures)

OM5: Miller's 1956 Article on the magical number seven, plus or minus two

H13: DTUI Chapter 1 Summary and Literature list
HW2

HW1

D2 Fri Jan. 18   HW1, HW2 Q&A      
3 C5 Tue Jan. 22 H11, H13,
Repeat H8,H9,H10
Usability of Interactive Systems: Guidelines, Principles, Theories

Analyzing Design Flaws
OM6: Badly Designed Form
OM7: Interface Hall of Shame

H14
: DTUI Chapter 2, part II

H15: Chapter 1 from Usability Engineering Book

H16: Mapping
H17: 80/20 Rule

OM8: Nielsen's Usability Heuristics
OM9: TOG's Design Principles

   
C6 Thu Jan. 24 H15

H16,H17

Usability Engineering Process

Design example: alarm clock


OM10:
Model-View-Controller Pattern
OM11: MVC and other interactive patterns: a summary and comparison

H18: Chapter 4 of The Humane Interface
 
   
D3 Fri Jan. 25   SWING Programming:
Toolkits and Toolbuilders
NetBeans
Swing Tutorial
Code from discussion
   
4 C7 Tue Jan. 29 H14
H18
Usability Engineering Process

GOMS/Keystroke-level model


H19: KLM Example

H20: Fitts' Law
H21:
Hick's Law

H22: 1992 Survey of Software Developers

HW3 HW2
C8 Thu Jan. 31 H14

H20,H21

HCI Theories
Formal Models for Interaction Design,
Model-based Analysis

Fitts' Law, Hick's Law
 

OM12: "A quiz designed to give you Fitts"

H23: Controlled Experiments
OM13: t-tests and ANOVA in Excel
   
D4 Fri Feb. 1   HW2, HW3 (KLM)

SWING: Layout Managers


H24:
SWING book
OM14: Sample Code for H24, Chapter 4 (Layout Managers)
 
   
5 C9 Tue Feb. 5 H23
Usability Testing,
Controlled Experiments,
Formative Studies, Summative Studies
Important Statistics for Usability Studies
 
     
C10 Thu Feb. 7 H24 Chapter 1

 



 

OM15
: SWING components
OM16: SWING Tutorial
OM17: Layout Managers
OM18: Online Training: Building an Application

 
HW4 HW3
D5 Fri Feb. 8  
Java
Interface Builders
(Matisse/Netbeans, Eclipse)
vs.
coding by hand
 
Eclipse
Jigloo
Jigloo tutorial
Code from discussion
   
6 C11 Tue Feb. 12 H24 Chapter 2
Project Preview
Toolkits, UIMS, UI Builders
2D GUI Guidelines
 
     

 

C12 Thu Feb. 14   2D GUI Guidelines (cont.)

Visualization
 

H25: Slides: GUI Workflow and Design Guidelines    
D6 Fri Feb. 15   Java SWING Set
HW4 Questions
 
     
7 C13 Tue Feb. 19  
Visualization (cont.)

Programming: Event Models, I/O Models,
Software Engineering

 
H26: Visualization slides    
C14 Thu Feb. 21  
Project

Models, I/O Models,
Software Engineering

SWING

Qt - a multi-platform 2D GUI toolkit

 
H27: Visibility
H28: Chunking
H29: Five Hat Racks
H30: Immersion
Project HW4
D7 Fri Feb. 22  
Project
Indiv. help w. HW4
 
     
8
C15 Tue Feb. 26 H8, H9, H10,
H16,H17,
H20,H21,
H27,H28,H29,H30

Principles of Design revisited

OpenGL
 

H31: OpenGL demos
OM19: OpenGL Programming Guide v. 1.0
OM20: JOGL
   
C16 Thu Feb 28   Direct Manipulation
Dynamic Sliders & Starfield Displays

Review of Material
H32: Exam Topics    
D8 Fri Feb. 29  
Design Choices and Failures
'Midterm' Q&A
 
     
9 C17 Tue Mar. 4  
Novel (Post-WIMP)Interfaces
3D interaction, VR,
Ubiquitous Computing 
Research Frontiers (1995 and now)
 
OM21: Nielsen: Non-Command User Interfaces 

OM22: M.Weiser: The Computer for the 21st Century

H33: Slides Collaboration
H34: Slides Novel UIs

   
C18 Thu Mar. 6  
"Midterm" Exam
 
     
10 C19 Tue Mar. 11  
Research Demos in
the "Four Eyes Lab"
 
     
C20 Thu Mar. 13  
Current UI Research
 
     
D9 Fri Mar.14
 
 
Exam Answer Discussion      
11 Final
Slot
Fri Mar. 21
4pm-7pm
  Project Presentations
IN CSIL LAB !
     

 

Assignments


For questions, please contact the instructor and/or TA