CS 185:  Human-Computer Interaction

Spring 2011


 

This home page and the CS185 GauchoSpace 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 GauchoSpace serves as an open forum: questions, answers, suggestions, etc.

General Information


Class Hours:    MW, 3:30-4:45pm
Class Location:	Phelps 3505
Instructor:     Tobias Höllerer
Office Hours:   Thu, 2pm-3pm, or by appointment
Office:         2155 Harold Frank Hall, (805) 893 8759
e-mail:         holl@cs...
Discussion:     F, 11:00-11:50 Phelps 2524, (maybe sometimes 10:00-10:50am, Cooper Lab)   
TA:		Domagoj Baricevic
e-mail: 	domagoj@cs...
Office hours:	Tue, 11:30am - 1:30pm, Phelps 1413

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, and - a particular focus this quarter: smart phones and tablets.

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 four ``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 us, send an e-mail, or leave us a note.


Class Materials

See handout column in the class schedule!

 

Class Schedule

 

Wk

Class
/ Dis

Date Assigned
Reading
Topics Handout HW
out
HW due
 1 C1 Mon Mar 28

---

Introduction, Motivation,
Class Requirements, Policies

Starfire Video
H1 (Handout 1):
"HCI--A Historical and Intellectual Perspective"

BM1 (Background Material): The Starfire Video (240MB)
(MP4 Link)


BM2: Bruce Tognazzini's account of his project including a The Making Of... video,
the annotated
Sun Starfire Script and 
BM3:
Starfire CHI paper

Student Questionnaire  
C2 Wed Mar 30 H1 Knowledge Navigator Discussion

Starfire Video

H2:
Knowledge Navigator Video

HW1 Student Questionnaire
D1 Fri Apr 1  
10:00am Cooper and 11:00am Phelps 2524

Set up Android Plugin for Eclipse in your CSIL account

Hand out and set up Android phones.

Hello Android
 

H3: DTUI Chapter 1 Summary and Literature list
H4: DTUI Chapter 2

   
2 C3 Mon Apr 4 H3,H4  

HCI Guidelines and Principles

First glimpse: HCI Theories
 

BM4: Memex, full article
BM5:
Licklider Papers
BM6:
Xerox Star Retrospective

H5: Android UI Design Guidelines

BM7: Apple Human Interface Guidelines
BM8: iOS Human Interface Guidelines
BM9:
Windows User Experience Interaction Guidelines
BM10: UI Design with Qt

   
C4 Wed Apr 6  


History of HCI
HCI Overview

H6 - Slides: HCI History

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

  HW1
D2 Fri Apr 8 H5  

HW2
Android Programming

  HW2  
3 C5 Mon Apr 11   Model-View-Controller

Android Programming

 

H7: Slides: Design Principles
(includes Usability Measures)H8:
Norman, DOET, Chapter 1

BM12: 1992 Survey of Software Developers
BM13:
Model-View-Controller Pattern
BM14:
MVC and other interactive patterns: a summary and comparison

   
C6 Wed Apr 13 H8
Design critique: Date Picker

Usability Measures

Analyzing Design Flaws
 

H9: Affordance
H10:
Mental Model
H11:
Recognition Over Recall
H12: Chunking

BM15: Badly Designed Form
BM16:
Interface Hall of Shame

  HW2
D3 Fri Apr 15  

 
     
4 C7 Mon Apr 18 H8,
H9,H10,
H11,H12
 

Overview:
Usability Engineering Process

GOMS/Keystroke-level model (KLM)

Review: UI Design Principles


 

H13: Chapter 4 of The Humane Interface

HW3

 
C8 Wed Apr 20 H13


KLM Analysis (2)

Fitts' Law,

User-free evaluation methods. Heuristic User
Evaluation.

 

H14: Fitts' Law
H15:
Hick's Law

BM17: Original Fitts' Law Paper

BM18: "A quiz designed to give you Fitts"

H16: Fitts,Hick,KLM slides

   
D4 Fri Apr 22  


Android Programming:
Custom Widgets

     
5 C9 Mon Apr 25    

Fitts' law (cont.)
Hick's Law


 


H17
:
Controlled Experiments

BM19: Travel in VEs Study PDF
BM20: Travel in VEs Study Video
BM21: t-tests and ANOVA in Excel
 

   
C10 Wed Apr 27  
Usability Testing
Controlled Experiments,
Important Statistics for Usability Studies
 

H18: User Evaluation Slides

HW4 HW3
D5 Fri Apr 29  
T-test statistics

Image Manipulation and
Multi-touch Programming for Android
 
     
6
C11 Mon May 2 H8,
H9,H10,
H11,H12
 

Usability Testing <2>

Usability Engineering <1>

Principles of Design

 

H19: Chapter 1 from Usability Engineering Book

H20: Mapping
H21:
Visibility
H22: 80/20 Rule

H23:
Immersion
H24:
Five Hat Racks

Other perspectives on what the DTUI book distilled to the 8 golden rules:
BM22
:
Nielsen's Usability Heuristics
BM23:
TOG's Design Principles

   
C12 Wed May 4 H8,
H9,H10,
H11,H12

Universal Concepts in Design

Scenario-based
Design
 

H25: Performance vs. Preference

H26: Summary Slides: 11 Universal Design Concepts

HW5 HW4
D6 Fri May 6  
HW5 details
Qt Programming Intro
 
     
7 C13
Mon May 9   Android Gestures
Android Augmented Reality

Qt Overview

Toolkits, UIMS, UI Builders
 

H26: QT Slides

BM24: android.gesture
BM25:
Qualcomm Augmented Reality SDK

BM26: QT Software Portal
BM27: QT blog

   
C14 Wed May 11  
Overview of iOS (iPhone/iPAD) Programming

(Charlie Roberts)


 
    HW5(Thu)
D7 Fri May 13  


Homework 6 (Qt)
 

     
8
C15 Mon May 16  
Visualization
 
  HW6  
C16 Wed May 18  


Visualization
Dynamic Sliders & Starfield Displays
 

H27: Visualization Slides

   
D8 Fri May 20  
Project/Tournament Discussion
'Midterm' Q&A
 

BM28: ExamTopics

   
9 C17 Mon May 23    

Visualization <3>
Direct Manipulation
Collaboration

 

H28: Direct Manipulation

Project HW6
C18 Wed May 25  
"Midterm" Exam
 
     
D9 Fri May 27  
Midterm Solutions

UI tournament discussion

 

     
10 C19 Mon May 30  
No Class
Happy Memorial Day
 
     
C20 Wed June 1  
Novel (Post-WIMP)Interfaces
3D interaction, VR,
Ubiquitous Computing,
Social Computing, 
Research Frontiers
 
     
D9 Fri June 3  
Tournament
 
     
   
Thu
 
June 9   Projects Due     Project
11 Final
Slot
Fri June 10 12-3pm Cooper lab
UI Tournament
 
     

 

Assignments


For questions, please contact the instructor and/or TA