CS 190-I:  Human-Computer Interaction

Winter 2006


 

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:	HSSB 1236
Discussion:     F, 11:00-11:50am, location: PHELPS 1448

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

TA:             Stephen DiVerdi
Office Hours:   Tue, 1-3pm, CSIL
e-mail:         sdiverdi@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. 10

---

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. 12 H1
Re-watch OM1
Knowledge Navigator Discussion

History of HCI - I

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. 13
No Discussion
 
       
2 C3 Tue Jan. 17 H4, H6, OM3
 

History of HCI -II
HCI Overview
Guidelines vs. Principles
 
H7: Norman, DOET, Chapter 1
H8: Affordance
H9: Mental Model

H10: Slides: HCI History
   
C4 Thu Jan. 19 H7, H8, H9 HCI Guidelines and Principles

UI Design Principles
H11: DTUI Chapter 1 Summary and References
H12: DTUI Chapter 2, part II

H13: Recognition Over Recall
 

HW1

D2 Fri Jan. 20   HW1, General UI flaws      
3 C5 Tue Jan. 24 H7, H8, H9 (repeat) Usability of Interactive Systems: Guidelines, Principles, Theories

Analysis of desktop use cases
H14: 80/20 Rule

H15: Chapter 1 from Usability Engineering Book

HW2  
D3 Wed Jan. 25   HW2      
C6 Thu Jan. 26 H13, H15
Usability Engineering Process
HCI Theories
 
H16: Slides: Design Principles
(includes Usability Measures)
H17: Chapter 4 of The Humane Interface
H18: 1992 Survey of Software Developers
   
4 C7 Tue Jan. 31 H12 HCI Theories
Formal Models for Interaction Design,
Model-based Analysis
 
OM5: Human Factors of CG interaction techniques
OM6: Chunking and Phrasing
OM7: Design Space of Input Devices

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

  HW2
C8 Thu Feb. 2 H17 GOMS/Keystroke-level model
Fitts' Law
H19: KLM analysis example
OM9
: "A quiz designed to give you Fitts"

H20: Visibility
H21: Chunking
H22: Fitts' Law
H23:
Hick's Law
HW3  
D4 Fri Feb. 3   HW2, KLM, HW3      
5 C9 Tue Feb. 7 H8,H9,H13,H14,
H20-23

Fitts' Law, Hick's Law,
Principles of Design revisited
 
H24: Five Hat Racks
H25: Mapping

H26: Controlled Experiments
OM10: t-tests and ANOVA in Excel
   
C10 Thu Feb. 9 H26, OM10 Usability Testing,
Controlled Experiments,
Formative Studies, Summative Studies
Important Statistics for Usability Studies
H27: Swing book
H28: KLM / Fitts' slides
HW4 HW3
D5 Fri Feb. 10   HW4      
6 C11 Tue Feb. 14 H27 (esp. Chapters 1 & 2) 2D GUI Guidelines
Toolkits, UIMS, UI Builders
H29: Statistical Analysis Slides
H30: 2D GUI Guideline Slides
   

 

C12 Thu Feb. 16 H27 (esp. Chapter 4)
Programming: Event Models, I/O Models,
Software Engineering
 
H31: Chapter 5, DTUI    
D6 Fri Feb. 17   Qt designer, UICompiler      
7 C13 Tue Feb. 21 H31
SWING
 
OM11: SWING components
OM12: SWING Tutorial
OM13: Layout Managers
OM14: Online Training: Building an Application
OM15: Sample Code for H27, Chapter 4 (Layout Managers)
   
D7 Wed Feb. 22 3pm, Eng I, 2114 HW4
Projects
     
C14 Thu Feb. 23 H31 Qt - a multi-platform 2D GUI toolkit

Introduction to MS .NET

OM16: Qt Documentation

OM17: MSDN AcademicAlliance for UCSB
OM18: .NET Framework Tutorials
  HW4
8 C15 Tue Feb. 28  
MS .NET (wrapup)
Evaluation Tools

Visualization
 
H32: Slides on UI Design Tools
(Swing, Qt, .Net & Evaluation Tools)
 
   
C16 Thu Mar. 2   Visualization (cont.)
 
OM19: InfoVis Resources
OM20: Peripheral Awareness Study (Interact '01 paper)
H33: DTUI Chapter 6
(Direct Manipulation)
H34: DTUI Chapter 10
(Collaboration)
H35: DTUI Chapter 14
(Information Visualization)
   
D8 Fri Mar. 3          
9 C17 Tue Mar. 7 H33
Direct Manipulation
Interaction & Interaction Devices

Review of Material
 
H36: Slides on Visualization
H36
: Interference Effects
H37: Icons
H38: Immersion
   
D9 Wed Mar. 8
3pm Phelps 1401
Midterm Q&A        
C18 Thu Mar. 9 H36,H37,H38 "Midterm" Exam      
10 C19 Tue Mar. 14   Ambient UIs
Collaborative UIs
Novel (Post-WIMP)Interfaces
 
     
  Wed Mar. 15
2-5pm
 
4EYES Lab OpenHouse
 
     
C20 Thu Mar. 16   Novel (Post-WIMP)Interfaces
3D interaction, VR,
Ubiquitous Computing 
Research Frontiers (1995 and now)
     
D10 Fri Mar. 17          
11 Final
Slot
Thu Mar. 23
3:30pm-7pm
  Project Presentations      

 

Assignments


holl@cs.ucsb.edu