Skip to the content.
This is the CSE340-SP19 final website. It is no longer in use.

Week 1: What’s in an Interface

Date Type Details Learning Goal
4/1 Monday Why take this course? What is HCI?  
  Lecture Introduction to course Relevance of class to all of CS
4/3 Wednesday Basic Structure of Interaction  
  Reading
(10 min)
Chapter 1: Introduction from UI textbook Structure of course; History of interface innovation
  Reading
(10 min)
Understanding Android Application and Activity Lifecycles Getting up to speed on Android
  Preparation (10-20 min) Get up to speed on Android Download Android Studio and follow this tutorial to create an Android Application. Continue with the tutorial to also run your app either on an emulator or on your phone. Here is additional information on android studio setup
  Reading Quiz On Canvas, due night before  
  Exercise Assigned Doodle Getting up to speed on Android; Basics of drawing on the screen
  Lecture Core Toolkit Abstractions Toolkit User Types; Basic structure of a user interfaces; Common interactors
4/4 Thursday Introduction to Android (active) Android project structure; Hello World
  Lecture Hello World Android
  For your reference Doodle  
  For your reference Java Refresher  
  For your reference Git  
4/5 Friday Drawing on the Screen (active)  
  Reading (10 min) Chapter 2 from Drawing from UI textbook Basic drawing abstractions
  Reading Quiz On Canvas, due night before  
  Lecture Drawing drawing abstractions; clipping and other transformations

Week 2: Output it to me

Date Type Details Learning Goal
4/8 Monday Drawing Interfaces: MVC and Component Hierarchies  
  Lecture Drawing & Animation Deeper understanding of Views, Bitmaps Canvas, Paths and Animation
4/10 Wednesday Layout  
  Optional Reading (10 min) Layouts (Overview) and Building a Responsive UI Android’s approach to layout
  Lecture Layout Relating layout to the interactor hierarchy
  Exercise Due Doodle  
4/11 Thursday Layout Exercise Assigned  
  Exercise Assigned Layout Implementing layout using GUI and programmatic abstractions
  Lecture Layout in Android Android specific layout information
4/12 Friday Properties of People I: Visual Perception  
  Required Reading (10 mins) Chapter 5 through p. 128: Layout and Constraints Abstractions for positioning interactors on the screen and making responsive interfaces
  Reading Quiz On Canvas, due night before  
  Lecture Properties of People I: Vision Design implications of people’s visual capabilities
  Peer-Grading Due Peer grading assignments for Doodle are due at 11:59 PM  

Week 3: Interact With Me

Date Type Details Learning Goal
4/15 Monday Event Handling I: Input Devices, Events and Event Delivery  
  Lecture Event Handling How events are dispatched to interactors
4/17 Wednesday MVC at the Interactor Level Essential Geometry and Essential Behavior  
  Required Reading (10 min) Chapter 3: Event Handling UI textbook pp. 43-52 (on Input Events); 59-63 (Listeners) Basics of event handling including event types and listeners
  Reading Quiz On Canvas, due tuesday night  
  Lecture Essential Behavior: Finite State Machines Essential Behavior and the use of final state machines to implement it
4/18 Thursday Build your own Interactor exercise  
  Exercise Due Layout  
  Exercise Assigned Color Picker Handle input; Create a non-rectangular interactor; Implement a finite state machine
4/19 Friday Finite State Machines  
  Required Reading Chapter 11: Input Syntax Specification UI textbook Essential Behavior and the use of final state machines to implement it
  Optional Reading Custom View Components  
  Reading Quiz On Canvas, due night before  
  Lecture Essential Geometry and View Update Toolkit abstractions for responding to events

Week 4: Tell me all about it

Date Type Details Learning Goal
4/22 Monday Motor Control  
  Lecture Properties of People II: Motor Control Motor behavior basics and implications for design including Fitts’ law and Guiard’s theory of bimanual input
  Coe In-class assessment 11-11:20am   Give us feedback about the class!
4/24 Wednesday Predicting and Evaluating Interactor Efficiency  
  Required Reading Chapter 20: Selection Theory (Fitts law & Steering law sections; STANDARD MENUS section; IMPROVING MENUS section; MARKING MENUS section) Introduction of Fitts law; Introduction to Pie and Marking Menus
  Exercise Due Color Picker  
  Lecture Predicting and Evaluating Interactor Efficiency Apply design tips we’ve discussed to comparing the efficiency of different variations on interactors; Learn about wide variety of solutions for selection; Learn about Qualitative and Quantitative ways of testing theories
4/25 Thursday Implementing App for user study  
  Assignment Menus Test which menu is better: Marking menu or Standard Menu
4/26 Friday Introduction to 3D printing  
  Lecture 3D Printing Intro Learn basics of 3D printing, print the model you created in preparation for class

Week 5: Making more of your phone

Date Type Details Learning Goal
4/29 Monday 3D Modeling  
  Preparation Install OpenScad Prepare to 3D model using code!
  Preparation Try customizing a nametag Download a 3D model
  Lecture Introduction to OpenSCAD/3D modeling Learn about how to create a custom 3D model in OpenSCAD
5/1 Wednesday Running Human Subjects Experiments Requirements for running experiments with participants
  Lecture Quantitative Study Design/Running Understand concepts in data pipeline in an applied fashion including what is our hypothesis, how this translates into study design and method, considerations when interacting with users, data collection cleaning and analysis, some statistical methods, and how we draw conclusions
  Assignment Part 1 Due Menus Programming  
5/2 Thursday Finalize and print your projects  
  Required safety training before class Mill safety training All UW students are required to complete the user agreement and safety training online annually. You will need to swipe to verify you’ve completed this on every entry.
5/3 Friday    
  Lecture Midterm Review Overview of first 5 weeks of the quarter

Week 6: Accessibility

Date Type Details Learning Goal  
5/6 Monday Accessibility    
  Lecture Slides Video Guest lecture by Tracy Tran. Learn about accessibility  
5/8 Wednesday      
  Assignment Part 2 Due Menus Data Collect data from users  
5/9 Thursday Accessibility Exercise    
    In-class demo of accessibility Learning about how to check accessibility and use a screen reader on your phone  
  Lecture Lab slides Overview of first 5 weeks of the quarter  
  Exercise Assigned Accessibility    
5/10 Friday      
  Midterm In-class    

Week 7: Undo it please

Date Type Details Learning Goal
5/13 Monday Application Design  
  Lecture Application Design Principals Mental models, gulf of execution, gulf of evaluation
5/15 Wednesday Undo  
  Exercise Due Accessibility  
  Assignment Assigned: Undo  
  Lecture Undo Theory and implementation of Undo
5/16 Thursday Getting started with Undo  
  Lecture Undo lab  
5/17 Friday Heuristic Evaluation  
  Lecture Heuristic Evaluation Learn about a quick way to get feedback on the quality of your application, particularly good for focused tasks on screens.

Week 8: There’s a world out there!

Date Type Details Learning Goal
5/20 Monday Context Awareness  
  Lecture The Physical Phone Assumptions about phone use and examples of context aware applications
5/20 Tuesday    
  Assignment: Undo Due Undo  
5/21 Wednesday Midterm Recap  
  Lecture Midterm Recap  
  Lecture Phone Sensing  
5/22   Passive Data Collection on the Phone  
  Undo Heuristic Eval Due Section  
5/24   Augmented Reality on the Phone  
  Reading Quiz Undo   Reading quiz on undo material. We did not assign a reading and you can do this quiz without reading, but Chapter 16 is optional reading for this module
  Lecture AR  

Week 9: Putting it in context

Date Type Details Learning Goal
5/27 Memorial Day** No Class  
  Assignment: Context Awareness I Sensing  
  Assignment: Context Awareness II (Group) Context Awareness  
5/29 Wednesday Sensing Assignment  
  Lecture Sensing Assignment Description of some key things you need to do to implement Sensing, discussion of the context awareness assignment
5/30      
5/31      
  Lecture Behavior Change Discussion of behavior-change interfaces, which frequently use mobile device.
  Assignment Due: Context Awareness I Sensing  

Week 10: I think therefore I am

Date Type Details Learning Goal
6/3 Lecture In-class group work Please make every effort to attend. Group work to help you make progress on your final project & class evaluations.
6/5 Lecture Machine Learning on Mobile Devices Basic logic behind machine learning and some of the relevant risks
6/6 Lab Group work and help Please make every effort to attend. Group work requires in person time and coordination.
6/7 Lecture TBD Final exam review  
  Assignment Due: Context Awareness II (Group) Context Awareness  

Final exam

6/10, 8:30-10am in CSE2 G10