- Week 1: What’s in an Interface
- Week 2: Layout and About
- Week 3: Layout Review
- Week 4: Include Accessibility
- Week 5: React to me
- Week 6: React to Me Review
- Week 7: Designing From Data
- Week 8: Understand Me
- Week 9: Undo Me
- Week 10: Secure Me
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;
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
Required Readings
- Read the syllabus
- Read about Basic Painting with Views
- Read about Minimum bounding boxes and play with Bounding boxes in coordinate geometry
- Look at the documentation for ImageView; Canvas and Paint. You’ll need to look up specific methods for Practice Quiz 0
Assigned AS1 Doodle
- Thursday, 1/7: Setting Up Doodle
- Learning Goals Android project structure; Our development environment (Git/GitGrade), 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
Optional Readings:
- A beginners guide to implement Android Animations — Part 1
- Smashing Magazine’s article on animation’s uses on mobile devices
- Read/watch Google’s guidelines on using motion in interface design
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
- Wednesday, 1/13: Layout I: Introduction to Layout
- Learning Goals Relating layout to the interactor hierarchy
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.
Resources
Due (10pm) AS1 Doodle code
- Friday, 1/15 Layout II: Implementation and Theory
- Learning Goals Under the hood: How is layout accomplished?
Optional Readings
Assigned Sat 1/16 AS1 Doodle peer reviews released;
Due Sun 1/17
- Peer evaluation of Doodle
- Practice Quiz 2: Layout
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
- Thursday, 1/21: Support on Layout
- Learning Goals Work through constraint based layout
Reading
Due AS2 Layout part 1-2 (for pixel tests)
- Friday, 1/22: Examlet 1 and Student Feedback
- Course feedback Fill out StudentAMP
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
Required Readings
Optional Readings
- Wednesday, 1/27: Getting Android Accessibility Right
- Learning Goals Learn about how to make Android apps accessible
Required Readings
Optional Readings
Assigned: AS3 Accessibility
- Thursday, 1/28: Finish Layout & Start Accessibility
- Learning Goals Use the Accessibility Checker
Slides 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)
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
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
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
Optional Readings
- Custom View Components
- Propositional Production Systems
- Informational only: Original PPS paper
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
Readings TBD
- Wednesday, 2/10: Review/Catchup; AMA
- Slides 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
- Friday, 2/12: Examlet 2 and course feedback
- Course feedback Fill out StudentAMP feedback
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
Optional Readings
Assigned AS5 Menus
- Thursday, 2/18: Designing Menus
- Learning Goals Help with Menus Assignment; Revisiting key concepts
Slides 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
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
- 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
Assigned AS5 Menus part 5-6
- Thursday, 2/25: Sample Menu Data Analysis
- Learning Goals Evaluating Human Subjects Experiments
Slides 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
Optional Readings
- Wednesday, 3/3: Undo
- Learning Goals Theory and implementation of Undo
Slides Undo
Assigned AS6 Undo
- Thursday, 3/4: Work on Undo
- Slides 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
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
Optional Readings
- Spot the Heron Case Study
- What is HTML?
- What is CSS?
- Intro to Javascript
- Difference between JS and Java
- 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
- “Tough Times” at transitional homeless shelters
- Mobile device privacy for South Asian women
- Digital abuse experience of South Asian women
- Thursday, 3/11: Reviewing course content
- Learning Goals Course Review, finish up Undo
Slides Final Lab
- Friday 3/12: Final Examlet and Course feedback
- Course feedback Fill out course review feedback
Slides Final Examlet
- Thursday 3/16: Due date for final prject
- Due Undo