This is the CSE340-W20 final website.
UPDATE DUE TO COVID-19 IMPACT ON CLASS
We have had to update the planned assessment structure for the class due to COVID-19. We’ve made changes to the Undo assignment and the weighting of class participation up until this point. In both cases, things that were changed are marked as crossed out if they have been replaced.
- Week 1: What’s in an Interface
- Week 2: Output it to me
- Week 3: Include Everybody
- Week 4: Input it to me!
- Week 5: React to me!
- Week 6: Beyond Touch: The Larger World
- Week 7: Design Principles
- Week 8: Understand Me
- Week 9: Undo it for me
- Week 10: Assess Me
Week 1: What’s in an Interface
- Monday 1/6: Why take this course? What is HCI?
- Learning Goals Relevance of class to all of CS
- Slides Introduction to course
- Wednesday 1/8: What is a toolkit?
- Learning Goals Toolkit User Types; Basic structure of a user interfaces; How this looks in Android; Introduction of Doodle Assignment
- Assigned AS1 (Doodle Assigned)
- Slides Interface Toolkits
- Thursday, 1/9: Setting Up Doodle
- Learning Goals Android project structure; learn about Doodle + GitGrade
Preparation for Lab
- Android Basics:
- Follow this tutorial to create an Android Application.
- Continue with the tutorial to also run your app either on an emulator or on an Android Device.
- Git Setup: macOS, win (ignore pieces about Atom as we use Android Studio)
- Make sure you have git setup on your computer, follow above instructions
- If you have never used git before read through this and this (Android Studio ≈ Intellij)
- Ensure that you can clone from CSE GitLab, (we recommend cloning via SSH)
Day Of
- Slides GitGrade
- Slides Dev-Demo
- Slides Doodle
Supporting Material Java Refresher; Git; 331’s Git resource
- Friday, 1/10: Drawing on the Screen
- Learning Goals How does Android support drawing on the screen; Drawing abstractions; clipping and other transformations
Week 2: Output it to me
- Monday, 1/13: Drawing Interfaces: Component Hierarchies
- Learning Goals Role of interactor in drawing on the screen; how to use animation to move interactors
- Slides: Drawing the interface
- Wednesday, 1/15: Properties of People I: Visual Perception
- Learning Goals Design implications of people’s visual capabilities
- Slides [transcript] Properties of People I: Vision
- Thursday, 1/16: Get Help with Doodle
- Learning Goals Support for Creative Work on Doodle; Discussion of and practice evaluating (toy example)
- Due (Evening) Doodle
- Friday 1/17: Introduction to Layout
- Learning Goals Relating layout to the interactor hierarchy
- Assigned AS2 (Layout Assigned)
- Worksheet Layout 1
- Slides Layout
Week 3: Include Everybody
- Monday, 1/20: HOLIDAY
- Tuesday, 1/21
- Reading Due Layouts (Overview) and Building a Responsive UI
- Due Peer evaluation of Doodle
- Quiz due Tuesday: Sample Questions Covering key concepts from Doodle & from Layout Readings (see Canvas)
- Wednesday, 1/22: Layout: Implementation and theory
- Learning Goal Under the hood: How is layout accomplished?
- Due Doodle Reflection
- Due Part 1-2 of Layout
- Slides Layout in Android
- Thursday, 1/23: Support on Layout
- Learning Goals Work through constraint based layout
- Slides Layout
- Friday, 1/24: Guest Lecture (Tracy Tran): Accessibility
- Learning Goals Learn about the history of accessibility, why it is important, and what problems exist
- Slides Accessibility
Week 4: Input it to me!
- Monday, 1/27: Guest Lecture (Venkatesh Potluri & Anne Ross): Android Accessibility
- Learning Goals Learn about how to make Android apps accessible
- Slides Accessibility in Practice
- Wednesday, 1/29: Event Handling I: Where Events Come from
- Learning Goals Basics of event handling including event types and listeners;
- Thursday, 1/30: Finish Layout & Start Accessibility
- Learning Goals Use the Accessibility Checker
- Slides Layout and Accessibility
- Assigned: Accessibility Assigned
- Friday 1/31: Event Handling II: Where Events Go
- Learning Goals How events are dispatched to interactors, importance of interactor hierarchy
- Due Part 3-4 of Layout
Week 5: React to me!
- Monday, 2/3: Event Handling III: How Interactors use Events
- Learn how to handle input; Create a non-rectangular interactor
- Optional Reading: Custom View Components
- Learning Goals Essential Geometry and Essential Behavior: How to properly implement a finite state machine in an interactor; Implementation Strategies for Interactors to Handle Events
- Quiz Sample Questions Covering key concepts from Layout and Accessibility assignment
- Wednesday, 2/5: State Machine Implementation & Redraw
- Midterm covers everything through Monday 2/3
- Quiz due Sample Questions Covering key concepts from Layout & Accessibility
- For your reference Review Slides Touching on Key Concepts from Prior Weeks
- Due: Accessibility
- Thursday, 2/6: Implementing Interactors
- Learning Goals Get comfortable with finite state machines’ implementation in interactors
- Friday, 2/7: Midterm
- Assigned AS3 (Color Picker Assigned):
Week 6: Beyond Touch: The Larger World
- Monday, 2/10: Context Awareness
- Learning Goals Assumptions about phone use and examples of context aware applications
- Slides The Sensing Phone
- Wednesday, 2/12: Physical Computing
- Learning Goals Learn a little about 3D Printing and extending phones for sensing
- Slides Physical Computing
- Thursday, 2/13: Bundling + Color Picker help
-
Learning Goals What’re bundles? What do they do? Let’s find out!
- Slides How to use Bundle
- Friday, 2/14: Properties of People II: Motor Behavior
- Learning Goals Learn the theory driving good interactor design; Motor behavior basics and implications for design including Fitts’ law and Guiard’s theory of bimanual input
Week 7: Design Principles
- Monday, 2/17: HOLIDAY
- Tuesday, 2/18
- Due AS3 (Color Picker):
- Wednesday, 2/19: Predicting and Evaluating Interactor Efficiency
- Learning Goals 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
- Quiz Covering important concepts from interactor implementation, accessibility and Fitts’ Law
- Assigned Menus Assigned: Test which menu is better: Marking menu or Standard Menu
- Slides Predicting and Evaluating Interactor Efficiency
- Thursday, 2/20: Designing Menus
-
Learning Goals Help with Menus Assignment; Revisiting key concepts
- Slides Getting started with Menus
- Friday, 2/21: Application Design Principals
- Learning Goals Mental models, gulf of execution, gulf of evaluation
- Due Peer Assessment & Reflection for Color Picker
- Slides Application Design Principals
Week 8: Understand Me
- Monday, 2/24: Studying People
- Learning Goals 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
- Assigned Menus parts 4-5
- Slides Quantitative Study Design/Running
- Wednesday, 2/26: Using data to influence people
-
Learning Goals Data analysis and how charts and statistics can be used and misused
- Slides Analyzing Data
- Due Menus parts 0-3
- Thursday, 2/27 Exploring your data: Come to lab with your data
-
Learning Goals Evaluating Human Subjects Experiments
- Slides Menus Data Analysis
- Friday, 2/28: Friday, 3/7: Reasoning from Data
- Learning Goals Principals of and Problems with Behavior Change
Week 9: Undo it for me
- Monday, 3/2: Undo
- Learning Goals Theory and implementation of Undo
- Slides Undo
- Due Menus parts 4-5
- Assigned Undo Assigned
- Wednesday, 3/4: Machine Learning
- Learning Goals Using Machine Learning in Interactive Systems
- Slides Mobile Machine Learning
- Thursday, 3/5: Work on Undo
- Slides Undo Lab
Section Handout Undo Practice Question
Section Handout Solution
- Friday, 3/6: Guest Lecture: Implementing Secure & Private Mobile Apps
- Learning Goals Implementing Secure & Private Mobile Apps
Week 10: Assess Me
- Monday, 3/9: Interaction Programming in Web Development
- Learning Goals See how Web Development follows many of the same Interaction Programming principles we’ve been learning all quarter!
- Wednesday, 3/11: Heuristic Evaluation
- Learning Goals Learn about a quick way to get feedback on the quality of your application, particularly good for focused tasks on screens.
- Slides Heuristic Evaluation
- Due Undo
- Thursday, 3/12: Heuristic Eval of Undo App
-
Learning Goals Execute a Heuristic Eval (start in Lab)
- Slides Heuristic Evaluation
- Due (16-Mar): Heuristic Eval Reflection
- Friday 3/13: Cancelled. Instruction Ends
- Cancelled due to COVID-19 related events
- Final Exam: Cancelled
- Cancelled due to COVID-19 related events