CS185 - Human-Computer Interaction

Spring 2019


This home page and the CS185 Piazza forum will be used as centers of communication for the class. Homework submission will occur through the CS185 GauchoSpace. Make sure you are enrolled!

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:    Tue/Thu, 9:30-10:45am
Class Location: ARTS 1349
Instructor:     Tobias Höllerer
Office Hours:   Thu, 11am-12:30pm, or by appointment
Office:         2155 Harold Frank Hall, (805) 284 9395
e-mail:         holl@cs...
Discussion/Lab: Fri, 2:00pm-2:50pm, Phelps 3526
TA:             Yi Ding, Ehsan Sayyad
e-mail:         yding@ucsb... ehsan@mat.ucsb...
Office hours:   Ehsan: Tue, 12:30-2:00pm, TA trailer (936, Rm 104)
Yi: Mon, noon-1:30pm, TA trailer (936, Rm 104)

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: interactive web interfaces.

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 using the HTML/CSS/JavaScript ecosystem 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 touch upon novel interfaces that go beyond what we normally see in today's graphical user interfaces.


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 books, tutorials, and assorted handouts, which are 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 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. No individual extensions will be given. There will be absolutely 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 the handout column in the class schedule!

Book/Materials

Handouts in class, incl. materials from:

Other Sources

 

Class Schedule

Wk

Class
/ Dis

Date Assigned
Reading
Topics Handout HW
out
HW due
 1 C1 Tue Apr. 2

---

Introduction, Motivation,
Class Requirements, Policies

Knowledge Navigator Video

Historic Context, Discussion

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

H2: The Starfire Video


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

Student Questionnaire  
C2 Thu Apr. 4 H1,H2 History of HCI

Knowledge Navigator
Starfire Video
Discussion

Guidelines/Principles

HW1


H3: Knowledge Navigator Video
BM3: Knowledge Navigator Wikipedia Entry

H4: Microsoft2019 Video

H5: DTUI Chapter 1 Summary and Literature list
H6: DTUI Chapter 2

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

H7: Slides: HCI History

HW1 Student Questionnaire
D1 Fri Apr. 5  

First Steps in Interactive Web Design (HTML / CSS / JavaScript)

D1: Discussion Slides

   
2 C3 Tue Apr. 9 H5, H6

Homework 2

HCI History Discussion


H8: HTML slides
H9: CSS Slides


HW2 HW1
C4 Thu Apr. 11  

HW2 topics

Design Guidelines, Principles, Theories

Usability Engineering


H10: Javascript slides
H11: Principles,Theories

H12: Recognition Over Recall
H13: Chunking
BM7: Miller's 1956 Article on the magical number seven, plus or minus two 


 
D2 Fri Apr. 12  

Interactive Web Design (HTML / CSS / JavaScript)

 

   
    Mon Apr 15         HW2
3 C5 Tue Apr. 16  

Guidelines/Principles/
Theories 

Desktop / Web / Mobile Ecosystems

Analyzing Design Flaws

Usability Measures

H14: Material Design Guidelines

BM8: Android UI Design Guidelines

BM9: Apple Human Interface Guidelines
BM10: iOS Human Interface Guidelines

BM11:
Windows User Experience Interaction Guidelines
BM12: Windows UX for Apps

BM13:
UI Design with Qt
BM14: KDE4 User Interface Guidelines
BM15: GNOME Human Interface Guidelines

H15: Affordance
H16 : Mental Model
H17 : Hierarchy of Needs

HW3  
C6 Thu Apr. 18   User Study Design and Statistics

BM16: Badly Designed Form
BM17: Interface Hall of Shame

H18: Chapter 4 of The Humane Interface

H19:
Norman, DoET, Chapter 1

H20: Slides: Design Principles (includes Usability Measures)

D3 Fri Apr. 19  


HW3 Q&A

What does it take to implement a data entry UI (HW4)?

ToDo list example w. Bootstrap and jQuery


H21: Bootstrap

H22: jQuery

   
4   Mon Apr. 22        
C7 Tue Apr. 23 H18-H19

User Study Design and Statistics (cont.)

Responsive Web Design

GOMS/KLM


H23: Slides: User Studies

H24: Controlled Experiments

H25: Slides: Responsive Web Design

BM18: Introduction to Statistics Using OpenOffice.org Calc

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

HW4 HW3
C8 Thu Apr. 25 H24


GOMS/Keystroke-level model (KLM) (cont.)

HW3 analysis

HW 4


H26: KLM slides (+Fitts,Hick)
H27: Fitts' Law
H28:
Hick's Law

H29: 80/20 Rule

   
D4 Fri Apr. 26  

HW 4 Tips

Interactive Web Design (HTML / CSS / JavaScript / Bootstrap / jQuery)

   
5 C9 Tue Apr. 30 H26-H29

Fitts' Law
Hick's Law



H30: Chapter 1 from Usability Engineering Book

BM22Original Fitts' Law Paper
BM23: "A quiz designed to give you Fitts"
BM24: Fitts' Law and Mobile

BM25Fitts' law in Augmented Reality




 
  Wed May 1         HW4
C10 Thu May 2  

HW5

Cognitive Walkthrough

Scenario-Based Design


Understanding Existing Solutions:
H31: Competitive Testing
H32: Triading

BM26: The Love Letter & the Breakup Letter

Conceptualizing:
H33: AEIOU
H34: Brainstorm Graphic Organizers
H35: Concept Mapping
H36
: Content Inventory & Audit
H37: Mind Mapping
H38: Territory Maps

BM27: Business Origami
BM28: Card Sorting
BM29:
Collage
 
BM30: Image Boards
BM31: Word Clouds


HW5  
D5 Fri May 3  

Interactive Web Design (HTML / CSS / JavaScript)

HW5 Guidelines, and Discussion. Map programming

 
6 C11 Tue May 7 H31-38

Map alternatives to Google Maps

Projects

Creativity Methodologies

Methods of Design:

H39: Stakeholder Mapping

BM32: Brainstorming

H40: Brain Writing Article and Video link

Project  
     

   
C12 Thu May 9  

Scenario-Based Design (cont.)

Project Discussion


H41: Slides: Scenario-Based Design

H42:Participatory Design

 
D6 Fri May 10  

RESTful APIs, AJAX, Firebase

    HW5
7 C13 Tue May 14  


Visualization


     
  Wed May 15         Project Idea
C14 Thu May 16  


Visualization (cont.)


H43: Slides: Visualization

   
D7 Fri May 17  

Firebase (cont.)

Debugging

Projects

   
8 C15 Tue May 21  

JS Visualization (D3)

Direct Manipulation

H44: Slides: SVG and D3
H45: Slides: Collaboration

   
C16 Thu May 23  

 

Collaboration

Social Computing 

H46: A/B Testing

H47: Iteration

H48: Visibility
H49
: Mapping

H50: Slides: Collaboration / Social Computing

 

   
D8 Fri May 24  


Exam topic review


Exam topics and possible question types

H51: Summary of Universal Principles / Methods of Design Handouts


 
9 C17 Tue May 28  


Recommender Systems (cont.)

 

     
C18 Thu May 30  
Exam


     
D9 Fri May 31  
Exam Answer Discussion


     
10 C19 Tue June 4  


Virtual and Augmented Reality


     
C20 Thu June 6   The Future of HCI      
  Fri June 7  
No Discussion


     
11 Final
Slot

Tue
 

June 11
8am-11am

  Project Presentations      
  Wed June 12          

 

Assignments


For questions, please contact the instructor and/or TAs