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.
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)
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.
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.
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.
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!
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.
See the handout column in the class schedule!
Wk |
Class |
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"
|
Student Questionnaire | |
C2 | Thu | Apr. 4 | H1,H2 | History of HCI
Knowledge Navigator Guidelines/Principles HW1 |
H5: DTUI Chapter 1 Summary and Literature list BM4: Memex, full article |
HW1 | Student Questionnaire | |
D1 | Fri | Apr. 5 | First Steps in Interactive Web Design (HTML / CSS / JavaScript) |
|||||
2 | C3 | Tue | Apr. 9 | H5, H6 | Homework 2 HCI History Discussion |
|
HW2 | HW1 |
C4 | Thu | Apr. 11 | HW2 topics Usability Engineering |
H12: Recognition Over Recall
|
||||
D2 | Fri | Apr. 12 | Interactive Web Design (HTML / CSS / JavaScript) |
|
||||
Mon | Apr 15 | HW2 | ||||||
3 | C5 | Tue | Apr. 16 | Guidelines/Principles/ Desktop / Web / Mobile Ecosystems Analyzing Design Flaws Usability Measures |
H14: Material Design Guidelines BM8: Android UI Design Guidelines BM9: Apple Human Interface Guidelines H15: Affordance |
HW3 | ||
C6 | Thu | Apr. 18 | User Study Design and Statistics | BM16: Badly Designed Form H18: Chapter 4 of The Humane Interface H20: Slides: Design Principles (includes Usability Measures) |
||||
D3 | Fri | Apr. 19 |
What does it take to implement a data entry UI (HW4)? |
H21: Bootstrap H22: jQuery |
||||
4 | Mon | Apr. 22 | ||||||
C7 | Tue | Apr. 23 | H18-H19 | User Study Design and Statistics (cont.) Responsive Web Design |
H23: Slides: User Studies H25: Slides: Responsive Web Design BM18: Introduction to Statistics Using OpenOffice.org Calc |
HW4 | HW3 | |
C8 | Thu | Apr. 25 | H24 |
HW 4 |
H26: KLM slides (+Fitts,Hick) 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
|
BM22: Original Fitts' Law Paper BM25: Fitts' law in Augmented Reality
|
||
Wed | May 1 | HW4 | ||||||
C10 | Thu | May 2 | HW5 Cognitive Walkthrough Scenario-Based Design
|
Understanding Existing Solutions: BM26: The Love Letter & the Breakup Letter Conceptualizing: BM27: Business Origami |
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 |
Methods of Design: BM32: Brainstorming |
Project | |
C12 | Thu | May 9 | Scenario-Based Design (cont.) |
|||||
D6 | Fri | May 10 | RESTful APIs, AJAX, Firebase |
HW5 | ||||
7 | C13 | Tue | May 14 |
|
||||
Wed | May 15 | Project Idea | ||||||
C14 | Thu | May 16 |
|
|||||
D7 | Fri | May 17 | Firebase (cont.) Debugging Projects |
|||||
8 | C15 | Tue | May 21 | JS Visualization (D3) |
H44:
Slides: SVG and D3 |
|||
C16 | Thu | May 23 |
Collaboration |
H46: A/B Testing H47: Iteration H48: Visibility H50: Slides: Collaboration / Social Computing
|
||||
D8 | Fri | May 24 |
|
Exam topics and possible question types H51: Summary of Universal Principles / Methods of Design Handouts
|
||||
9 | C17 | Tue | May 28 |
|
||||
C18 | Thu | May 30 | Exam |
|||||
D9 | Fri | May 31 | Exam Answer Discussion |
|||||
10 | C19 | Tue | June 4 |
|
||||
C20 | Thu | June 6 | The Future of HCI | |||||
Fri | June 7 | No Discussion |
||||||
11 | Final Slot |
Tue |
June 11 |
Project Presentations | ||||
Wed | June 12 |