Interaction Programming (CSE 340) CSE 340

Schedule

Week 1: What’s in an Interface

3/28/2022

Slides

Required Reading

Additional Resources

Due Wednesday 3/30

3/30/2022

Slides

Required Readings

Assigned

3/31/2022

Slides

Supporting Materials

4/1/2022

Slides

Additional Resources:

Due Sunday 4/3 Practice Quiz 1

Week 2: Layout

4/4/2022

Monday, 4/4: Transformations and Animations

Learning Goals Review drawing, cover animation, motivate layout

Slides

4/6/2022

Wednesday, 4/6: Layout I: Introduction to Layout
Learning Goals Relating layout to the interactor hierarchy

Slides Layout 1: Intro to Layout

Additional Resources

Assigned AS2 Layout

4/7/2022

Thursday, 4/7: Debugging, Peer Evaluation, Doodle Help
Learning Goals Review different Android layout types and additional layout practice.

Slides Final Doodle Requirements and Layout Review

4/8/2022

Friday, 4/8 Layout II: Layout in Practice
Learning Goals How is layout accomplished? What is the difference between using XML vs creating Views and adding them to the parent?

Slides

Required Readings:

Additional Resources

For Layout II

Assigned AS1 Doodle peer reviews released

Due

Week 3: Theory & Security

4/11/2022

Monday, 4/11: Layout III: Layout Implementation and Theory
Learning Goals Under the hood: How is layout accomplished?

Slides

Required Readings:

4/13/2022

Wednesday, 4/13: Properties of People I: Visual Perception
Learning Goals Design implications of people’s visual capabilities

Slides

Additional Resources

4/14/2022

Thursday, 4/14: Support on Layout
Learning Goals Work through constraint based layout

Slides Layout

Section Excericse Repo

Reading

Due AS2 Layout part 1-2

4/15/2022

Friday, 4/15: Implementing Secure & Private Mobile Apps
Learning Goals Implementing Secure & Private Mobile Apps

Slides

Required Readings

Additional Resources

4/17/22

Week 4: Accessibility

4/18/2022

Monday, 4/18: Getting Accessibility Right
Learning Goals Learn about the history of accessibility, why it is important, and what problems exist

Slides

Required Readings

Additional Resources

4/20/2022

Wednesday, 4/20: Getting Android Accessibility Right
Learning Goals Learn about how to make Android apps accessible

Slides

Required Readings

Additional Resources

Assigned: AS3 Accessibility

4/21/2022

Thursday, 4/21: Finish Layout & Start Accessibility
Learning Goals Use the Accessibility Checker

Slides

4/22/2022

Friday, 4/22: Event Handling I: Where Events Come from
Learning Goals Basics of event handling including event types and listeners (callbacks)

Slides

Supplemental Files: person.zip

Additional Resources: Android Architecture Patterns: Model-View Controller

4/24/22

Week 5: Interaction

4/25/2022

Monday 4/25: Event Handling II: Where Events Go
Learning Goals How events are dispatched to interactors, importance of interactor hierarchy

Slides

Supplemental Files:

Additional Resources

4/27/2022

Wednesday, 4/27: Event Handling III & IV: Interactors, Events, and Essential Geometry
Learning Goals Implementation Strategies for Interactors to Handle Events, How to create a non-rectangular interactor: Essential Geometry and Essential Behavior, how to properly implement a finite state machine in an interactor

Slides

Supplemental Files:

Additional Resources

4/28/2022

Thursday, 4/28: Event Handling Review and Practice
Learning Goals Get comfortable with concepts related to Event Handling

Slides

4/29/2022

Friday, 4/29: Designing Menus
Learning Goals Introduce the Menus assignment

Slides

Additional Resources

Assigned AS4 Menus

5/1/22

Week 6: Designing from Data

5/2/2022

Monday, 5/2: Properties of People II: Motor
Learning Goals Predicting and Evaluating Interactor Efficiency - Learn the theory driving good interactor design; Motor behavior basics and implications for design including Fitts’ law;

Slides

Additional Resources

5/4/2022

Wednesday, 5/4: Evaluating Interactions
Learning Goals Apply design tips we’ve discussed to comparing the efficiency of different variations on interactors;

Slides

Additional Resources

5/5/2022

Thursday, 5/5:Sample Menu Data Analysis
Learning Goals Evaluating Human Subjects Experiments

Slides Menus Data Analysis

5/6/2022

Friday, 5/6: Studying People
Learning Goals Learn about wide variety of solutions for selection; Learn about Qualitative and Quantitative ways of testing theories; Create a study design and method, including considerations when interacting with users, data collection cleaning and analysis, some statistical methods, and how we draw conclusions; Data analysis and how charts and tatistics can be used and misused

Slides

5/28/22

Due Sunday 5/8

Week 7: Understanding Users

5/9/22

Monday, 5/9: Application Design Principles
Learning Goals Understanding how interaction takes place at the application level

Slides Application Design and Mental Models

Additional Resources

5/11/22

Wednesday, 5/11: Undo
Learning Goals Theory and implementation of Undo

Slides

Assigned AS5 Undo

5/12/22

Thursday, 5/12: Work on Undo
Learning Goals Help getting started on Undo

Slides

5/13/22

Friday, 5/13: Behavior and persuasion
Learning Goals Principles of and Problems with Behavior Change

Slides

Additional Resources

5/15/22

Week 8: Sensing

5/16/22

Monday, 5/16: Implicit Sensing and Machine Learning
Learning Goals Exploring the implications of implicit data on a phone, and how we access and analyze it.

Slides

Additional Resources

5/18/22

Wednesday, 5/18: Sensing
Learning Goals Using Location Services

Slides

Additional Resources

5/19/22

Thursday, 5/19: Sensing
Learning Goals

Slides

Due AS5 Undo Code and Video

Friday, 5/20: Location
Learning Goals How to implement location services on your device; how to integrate a map

Slides

Additional Resources

Assigned Final Project

5/21/22

Due Sunday 5/21

Week 9: Final Project

5/23/22

Monday, 5/23: The Whole Toolkit Architecture
Learning Goals Recorded: Review how the toolkit responds to input and processes output as a complete cycle. How data can be stored in short term and longer term memory. In class: work on final project.

Slides

5/25/22

Wednesday, 5/25: Dark Patterns/Work in class on final project
Learning Goals Daniel Campos Zamora Guest Lecture. Discuss the impact of our design decisions - where do we assist users vs where do we hinder them.

Slides

5/26/22

Thursday, 5/26: Review, Work on Final Project
Learning Goals Make progess on the final project; share and critique designs.

Slides

5/27/22

Friday, 5/27: System Usabilty Scale Testing
Learning Goals Define System Usability Scale Testing and apply it to our final project

Slides

Required Readings

5/27/22

5/29/22

Week 10: Making connections

5/30/22

Monday, 5/30: Memorial Day
No Lecture

6/1/22

Wednesday, 6/1: 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!

Slides

Required Readings

Additional Resources

6/2/2022

Thursday, 6/2
Learning Goals Course Review, finish up Final Project
  • Reviewing course content

Slides

6/3/2022

Friday, 6/3
Learning Goals See how Flutter follows many of the same Interaction Programming principles we’ve been learning all quarter!
  • Introduction to Flutter

Slides

Additional Resources

6/4/2022

Week 11: Finals Week

6/5/2022

6/8/2022

Wednesday, 6/8/22

Due