Skip to the content.
This is the Winter 2021 final website.

Week 1: What’s in an Interface

Monday 1/4: Let’s build an interface!
Learning Goals Basic structure of a user interfaces; How this looks in Android; Toolkit User Types;

Slides

Accessible Markdown for Introductions
Accessible Markdown for Building your first android app

Due Tues 1/6 Practice Quiz 0: Syllabus and Drawing (based on readings for Wednesday 1/6)

Wednesday 1/6: Drawing on the Screen
Learning Goals How does Android support drawing on the screen; what is a pixel; bounding boxes and coordinate systems

Slides

Accessible Markdown for Syllabus
Accessible Markdown for Drawing on the Screen

Required Readings

Assigned AS1 Doodle

Thursday, 1/7: Setting Up Doodle
Learning Goals Android project structure; Our development environment (Git/GitGrade), Doodle

Slides

Accessible Markdown for Getting Started With Android
Accessible Markdown for GitGrade
Accessible Markdown for Doodle

Preparation for Lab Follow the instructions to setup your software ahead of lab

Friday, 1/8: Transformations and Animation
Learning Goals Clipping and other transformations; Animation Principals

Slides Transformations & Animation

Accessible Markdown for Transformations & Animation

Optional Readings:

Due Sun 1/10

Week 2: Layout and About

Monday, 1/11: Catchup and review; and/or start on Layout
Learning Goals Revisit anything that was confusing from last week

Slides Review

Accessible Markdown for Review
Wednesday, 1/13: Layout I: Introduction to Layout
Learning Goals Relating layout to the interactor hierarchy

Slides Layout

Accessible Markdown for Layout

Optional Readings

Worksheet (for class) Layout 1

Assigned AS2 Layout

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

Slides Final Doodle Requirements and Layout Review

Accessible Markdown for Final Doodle Requirements and Layout Review

Resources

Due (10pm) AS1 Doodle code

Friday, 1/15 Layout II: Implementation and Theory
Learning Goals Under the hood: How is layout accomplished?

Slides Layout in Android

Accessible Markdown for Layout in Android

Optional Readings

Assigned Sat 1/16 AS1 Doodle peer reviews released;

Due Sun 1/17

Week 3: Layout Review

Monday, 1/18: Holiday: MLK Day
No Lecture

Due Tuesday 1/19 Doodle Reflection

Wednesday, 1/20: AMA; Review
Slides AMA
Accessible Markdown for AMA
Thursday, 1/21: Support on Layout
Learning Goals Work through constraint based layout

Slides Layout

Accessible Markdown for Layout

Reading

Due AS2 Layout part 1-2 (for pixel tests)

Friday, 1/22: Examlet 1 and Student Feedback
Course feedback Fill out StudentAMP

Slides Examlet

Accessible Markdown for Examlet

Examlet 1 Assess your knowledge on Android development, drawing on the canvas, and layout

Week 4: Include Accessibility

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

Slides

Accessible Markdown for Designing for Accessibility

Required Readings

Optional Readings

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

Slides

Accessible Markdown for Android Accessibility

Required Readings

Optional Readings

Assigned: AS3 Accessibility

Thursday, 1/28: Finish Layout & Start Accessibility
Learning Goals Use the Accessibility Checker

Slides Layout and Accessibility

Accessible Markdown for Layout and Accessibility

Due AS2 Layout part 3-5 (code + reflection)

Friday, 1/29: Fireside Chat (industry accessibility expert) with guest Tracy Tran (Microsoft)
Slides N/A

Assigned Quiz 3 (due Sunday)

Week 5: React to me

Monday 2/1: Event Handling I: Where Events Come from
Learning Goals Basics of event handling including event types and listeners (callbacks)

Slides Event Handling I: Callbacks, Model View Controller, and Events

Accessible Markdown for Event Handling I: Callbacks, Model View Controller, and Events

Optional Readings: Android Architecture Patterns: Model-View Controller

Wednesday, 2/3: Event Handling II: Where Events Go
Learning Goals How events are dispatched to interactors, importance of interactor hierarchy

Slides Event Handling II: Delivery of Events in the Interactor Hierarchy

Accessible Markdown for Event Handling II: Delivery of Events in the Interactor Hierarchy

Optional Readings

Assigned AS4 Color Picker

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

Slides Event Handling

Accessible Markdown for Event Handling

Due: AS3 Accessibility

Friday, 2/5: Event Handling III: How Interactors use Events
Learning Goals Learn how to handle input; How to properly implement a finite state machine in an interactor; Implementation Strategies for Interactors to Handle Events

Slides Essential Behavior and the use of finite state machines to implement it

Accessible Markdown for Essential Behavior and the use of finite state machines to implement it

Optional Readings

Assigned Quiz 4 (due Sunday)

Week 6: React to Me Review

Monday, 2/8: Event Handling IV: Essential Geometry
Learning Goals ColorPicker intro, Create a non-rectangular interactor, Essential Geometry and Essential Behavior

Slides Summary of Toolkit Architecture and Essential Geometry

Accessible Markdown for Summary of Toolkit Architecture and Essential Geometry

Readings TBD

Wednesday, 2/10: Review/Catchup; AMA
Slides AMA
Accessible Markdown for AMA
Thursday, 2/11: Bundling + Color Picker help
Learning Goals What’re bundles? What do they do? Let’s find out!

Slides How to use Bundle

Accessible Markdown for How to use Bundle
Friday, 2/12: Examlet 2 and course feedback
Course feedback Fill out StudentAMP feedback

Slides Examlet

Accessible Markdown for Examlet

Week 7: Designing From Data

Monday, 2/15: Presidents Day
No Lecture
Wednesday, 2/17: Predicting and Evaluating Interactor Efficiency
Learning Goals Learn the theory driving good interactor design; Motor behavior basics and implications for design including Fitts’ law; Apply design tips we’ve discussed to comparing the efficiency of different variations on interactors;

Slides Interactor Design and Fitts’ Law

Accessible Markdown for Interactor Design and Fitts' Law

Optional Readings

Assigned AS5 Menus

Thursday, 2/18: Designing Menus
Learning Goals Help with Menus Assignment; Revisiting key concepts

Slides Getting started with Menus

Accessible Markdown for Getting started with Menus

Due AS4 Color Picker code and reflection

Friday, 2/19: Studying People I
Learning Goals Learn about wide variety of solutions for selection; Learn about Qualitative and Quantitative ways of testing theories

Slides Designing Experiments

Accessible Markdown for Designing Experiments

Optional Readings

Assigned Quiz 5 (due Sunday)

Week 8: Understand Me

Monday, 2/22: Studying People II
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; Data analysis and how charts and statistics can be used and misused

Slides Analyzing Data

Accessible Markdown for Analyzing Data
Wednesday, 2/24: Implicit Sensing and Machine Learning
Learning Goals Understand how to use implicit data on a phone

Slides Sensing and Reacting to the User

Accessible Markdown for Sensing and Reacting to the User

Assigned AS5 Menus part 5-6

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

Slides Menus Data Analysis

Accessible Markdown for Menus Data Analysis

Due AS5 Menus part 1-4

Friday, 2/26: Industry Expert Fireside Chat: Advanced Interaction Design with Yang Li (Google)
Slides N/A

Assigned Quiz 6 (due Sunday)

Week 9: Undo Me

Monday, 3/1: Application Design Principals
Learning Goals Understanding how interaction takes place at the application level

Slides Application Design and Mental Models

Accessible Markdown for Application Design and Mental Models

Optional Readings

Wednesday, 3/3: Undo
Learning Goals Theory and implementation of Undo

Slides Undo

Accessible Markdown for Undo

Assigned AS6 Undo

Thursday, 3/4: Work on Undo
Slides Getting started with Undo
Accessible Markdown for Getting started with Undo

Due AS5 Menus part 5-6

Friday, 3/5: Implementing Secure & Private Mobile Apps
Learning Goals Implementing Secure & Private Mobile Apps

Slides Security

Accessible Markdown for Security

Optional Readings

Week 10: Secure Me

Monday, 3/8: Interaction Programming in Web Development (Guest Lecture: Lauren Bricker)
Learning Goals See how Web Development follows many of the same Interaction Programming principles we’ve been learning all quarter!

Slides Interaction Programming in Web Development

Accessible Markdown for Interaction Programming in Web Development

Optional Readings

Wednesday, 3/10: Fireside Chat: Security & Privacy with Tara Matthews
Learning Goals Industry perspective on security and privacy

Required Readings Pick one of the following two papers

Optional Readings

Thursday, 3/11: Reviewing course content
Learning Goals Course Review, finish up Undo

Slides Final Lab

Accessible Markdown for Final Lab
Friday 3/12: Final Examlet and Course feedback
Course feedback Fill out course review feedback

Slides Final Examlet

Accessible Markdown for Final Examlet
Thursday 3/16: Due date for final prject
Due Undo