Go To Today
- Module 1: MVVM Architecture
- Module 2: Presentation & Model Layers
- Module 3: External Interaction
- Module 4: Polishing & Publishing
DOW | Date | ## | Lecture Subject | Reading | Handouts | Notes |
[Top] | ||||||
W | Jan 11 2023 | 00 | Module 1: Introduction to Android & Kotlin | KMAD pp vii - xxvii | Slides (.pdf) |
A0 assigned |
F | Jan 13 2023 | 01 | Module 1: MVVM - View via Compose UI | KMAD pp 4 - 25 (Ch. 1 - 1.3.2), 217 - 227 (Ch. 7 - 7.2) Android Studio Jetpack Compose |
Slides (.pdf) Hello World: Lab00A |
A0 due FP.EP assigned |
[Top] | ||||||
M | Jan 16 2023 | --- No Class --- Martin Luther King Jr. Day --- | ||||
W | Jan 18 2023 | 02 | Module 1: Compose Layouts & Modifiers + Resource Strings & Kotlin Basics |
KMAD pp 25 - 44 (Ch. 1.3.3 - 1.4) |
Slides (.pdf) Monster Lab: Lab01A |
Lab00 due |
F | Jan 20 2023 | 03 | Module 1: MVVM - Model via Kotlin classes | Slides (.pdf) Monster Lab: Lab01B |
FP.EP due A1 assigned |
|
S | Jan 21 2023 | FP.ST assigned FP.TF assigned |
||||
[Top] | ||||||
M | Jan 23 2023 | 04 | Module 1: Event Listeners and Recomposing | Slides (.pdf) TempConverter Starter Code (.zip) |
||
T | Jan 24 2023 | FP.ST due |
||||
W | Jan 25 2023 | 05 | Module 1: Stateful Composables | KMAD pp 51 - 66 (Ch. 2 - 2.3) State & Jetpack Compose |
Slides (.pdf) Monster Lab: Lab01C |
|
F | Jan 27 2023 | 06 | Module 1: MVVM - Stateless Composables via ViewModel Kotlin collections |
KMAD pp 44 - 49 (Ch. 1.5 - 1.7), 66 - 74 (Ch. 2.4) | Slides (.pdf) Monster Lab: Lab02A |
FP.TF due |
[Top] | ||||||
M | Jan 30 2023 | 07 | Module 2: Presentation & Model Layers and Logic Storyboarding |
Slides (.pdf) Quizler: Lab03A |
FP.AP assigned |
|
T | Jan 31 2023 | Lab01 due | ||||
W | Feb 01 2023 | 08 | Module 2: Activity Life Cycles + Logging | Android Developer Guide: Introduction to Activities |
Slides (.pdf) TempConverter v2 Snapshot (.zip) Quizler: Lab03B |
|
F | Feb 03 2023 | 09 | Module 2: Saving State with Lifecycle Aware Jetpack ViewModel | KMAD pp 75 - 84 (Ch. 2.5 - 2.7), 405 - 440 (Ch. 12) Jetpack ViewModel |
Slides (.pdf) Quizler: Lab03C |
Lab02 due FP.AP due |
[Top] | ||||||
M | Feb 06 2023 | 10 | Module 2: Processes, Tasks, and Saving State with a Bundle Kotlin Abstract Classes |
Slides (.pdf) |
FP.SB assigned |
|
W | Feb 08 2023 | 11 | Module 2: UI & Presentation Logic | KMAD pp 227 - 247 (Ch. 7.3 - 7.5) | Quizler: Lab04A |
A1 due |
F | Feb 10 2023 | 12 | Module 2: Material Design & Themes | Material Design 3 |
Slides (.pdf) Quizler: Lab04B |
FP.SB due |
[Top] | ||||||
M | Feb 13 2023 | 13 | Module 2: Dynamic Screen Size: Landscape Layouts | Android Developer Guide: Screen compatibility overview |
Quizler: Lab04C |
FP.AR assigned |
T | Feb 14 2023 | Lab03 due | ||||
W | Feb 15 2023 | 14 | Module 2: Compose Navigation via NavGraphs | KMAD pp 145 - 161 (Ch. 5 - 5.3), 249 - 283 (Ch. 8) Jetpack Navigation Navigating with Compose |
Slides (.pdf) Quizler: Lab05A |
A2 assigned |
F | Feb 17 2023 | 15 | Module 2: Compose Navigation with SafeArgs | KMAD pp 161 - 172 (Ch. 5.4) | Slides (.pdf) Quizler: Lab05B |
|
[Top] | ||||||
M | Feb 20 2023 | --- No Class --- President's Day --- | ||||
W | Feb 22 2023 | 16 | Module 2: Accessibility & Bug Tracking via Crashlytics | Crashlytics |
Slides (.pdf) |
|
R | Feb 23 2023 | Lab04 due | ||||
F | Feb 24 2023 | 17 | Module 2: Compose Scaffold and Menus | Compose Scaffold |
Slides (.pdf) Samodelkin: Lab06A |
|
[Top] | ||||||
M | Feb 27 2023 | 18 | Module 2: Kotlin Coroutines: Scope & Flow | KMAD pp 113 - 144 (Ch. 4), 376 - 379 (Ch. 11.4) Kotlin Coroutines Guide Kotlin Asynchronous Programming Android Coroutines Kotlin Flow API Kotlin Flow Kotlin Flows in Android |
Slides (.pdf) |
Exam 1 assigned |
T | Feb 28 2023 | Lab05 due | ||||
W | Mar 01 2023 | 19 | Module 2: Room Database & SQLite | KMAD pp 181 - 215 (Ch. 6) Jetpack Room |
Slides (.pdf) Samodelkin: Lab07A |
|
F | Mar 03 2023 | 20 | Module 2: Networking & Permissions Part I + WorkManager |
Network Operations Jetpack WorkManager |
Slides (.pdf) |
Exam 1 due |
[Top] | ||||||
M | Mar 06 2023 | 21 | Module 2: RESTful APIs & Retrofit | KMAD pp 85 - 88 (Ch. 3 - 3.2), 93 - 112 (Ch. 3.4 - 3.7) Retrofit COIL |
Slides (.pdf) |
|
T | Mar 07 2023 | Lab06 due | ||||
W | Mar 08 2023 | 22 | Module 3: Explicit & Implicit Intents | Intents Android Developer Guide: Intents and Intent Filters Android Developer Guide: Manage Package Visibility |
Slides (.pdf) Samodelkin: Lab08A |
A3 assigned |
F | Mar 10 2023 | 23 | Module 3: Returning Data on the Activity Stack | Android Developer Guide: Getting a Result from an Activity Activity Result Contract Android Provided Activity Contracts |
Slides (.pdf) |
Lab07 due |
[Top] | ||||||
M | Mar 13 2023 | Class Cancelled | FP.AR due |
|||
T | Mar 14 2023 | A2 due FP.AF assigned |
||||
W | Mar 15 2023 | 25 | Module 3: Taking Pictures Part I: Using a Camera Intent with FileProviders | Slides (.pdf) Camera Intent Starter Code (.zip) Samodelkin: Lab09A |
||
F | Mar 17 2023 | 26 | Module 3: Taking Pictures Part II: Embedding CameraX By Asking For Permission | Jetpack Permissions Android Developer Guide: Permissions overview Android Developer Guide: Determine sensitive data access needs Android Developer Guide: Requesting Permission Android Developer Guide: Content Provider Basics Android Developer Guide: CameraX Android Codelab: Getting Started with CameraX |
Slides (.pdf) |
FP.AF due Lab08 due |
[Top] | ||||||
M | Mar 20 2023 | --- No Class! --- Spring Break --- | ||||
W | Mar 22 2023 | --- No Class! --- Spring Break --- | ||||
F | Mar 24 2023 | --- No Class! --- Spring Break --- | ||||
[Top] | ||||||
M | Mar 27 2023 | 27 | Module 3: Location | Android Developer Guide: Request location updates Android Developer Guide: Optimize location for battery |
Slides (.pdf) GeoLocatr: Lab10A |
FP.BR assigned |
T | Mar 28 2023 | Lab09 due | ||||
W | Mar 29 2023 | 28 | Module 3: Google Maps | Android Developer Guide: Add maps Maps Compose |
Slides (.pdf) GeoLocatr: Lab10B |
A4 assigned |
F | Mar 31 2023 | 29 | Module 3: Firebase Realtime Cloud DB & User Authentication | KMAD p 88 - 93 (Ch. 3.3) Firebase |
Slides (.pdf) |
|
[Top] | ||||||
M | Apr 03 2023 | 30 | Module 3: Paging | KMAD pp 365 - 404 (Ch. 11) Jetpack Paging |
Slides (.pdf) |
Exam 2 assigned FP.SP assigned |
W | Apr 05 2023 | 31 | Module 3: Data Store for App Settings & Configuration | Jetpack DataStore |
Slides (.pdf) GeoLocatr: Lab11A |
FP.SP due |
F | Apr 07 2023 | 32 | Module 3: Compose Scaffold: Informing the User via Dialogs and Snackbars | Slides (.pdf) |
Exam 2 due Lab10 due |
|
[Top] | ||||||
M | Apr 10 2023 | 33 | Module 3: Compose Scaffold: Drawer Layouts & Floating Action Buttons | Slides (.pdf) |
FP.BR due |
|
T | Apr 11 2023 | FP.BF assigned |
||||
W | Apr 12 2023 | 34 | Module 3: Compose Side Effects & Splash Screens | Compose Side Effects |
Slides (.pdf) |
|
R | Apr 13 2023 | FP.BF due |
||||
F | Apr 14 2023 | --- No Class! --- E-Days --- | ||||
[Top] | ||||||
M | Apr 17 2023 | 35 | Module 3: Broadcast Receivers | Android Developer Guide: Broadcast Receiver |
Slides (.pdf) |
Lab11 due FP.FR assigned FP.WV assigned FP.FT assigned FP.FP assigned FP.FB assigned |
T | Apr 18 2023 | A3 due |
||||
W | Apr 19 2023 | 36 | Module 3: Scheduling Notifications | Android Developer Guide: Schedule Alarms AlarmManager Jetpack Notifications |
Slides (.pdf) GeoLocatr: Lab12A |
|
F | Apr 21 2023 | 37 | Module 3: Deep Links | KMAD pp 172 - 177 (Ch. 5.5 - 5.6) Jetpack Compose NavGraph Deep Link |
Slides (.pdf) GeoLocatr: Lab12B |
|
[Top] | ||||||
M | Apr 24 2023 | 38 | Module 4: Unit Testing | KMAD pp 315 - 318 (Ch. 10 - 10.2), 337 - 362 (Ch. 10.4 - 10.6) Android Developer Guide: Fundamentals of Testing |
Slides (.pdf) BeatBox: Lab13A |
Exam 3 assigned |
W | Apr 26 2023 | 39 | Module 4: UI Testing | KMAD pp 319 - 337 (Ch. 10.3) Testing Your Compose Layout |
Slides (.pdf) BeatBox: Lab13B |
|
F | Apr 28 2023 | 40 | Module 4: Dependency Injection via Dagger Hilt | KMAD pp 285 - 313 (Ch. 9) Hilt |
Slides (.pdf) |
Lab12 due |
[Top] | ||||||
M | May 01 2023 | 41 | Module 4: Polishing & Publishing Your App: Material Design & Standards | Android Developer Guide: Publish Your App Material Design |
Slides (.pdf) |
Exam 3 due FP.PS assigned |
W | May 03 2023 | 42 | Module 4: Android App Bundle (.aab) & Play Asset Delivery (PAD) | Android App Bundle Play Asset Delivery |
Slides (.pdf) |
|
W | May 03 2023 | Final Project Sales Pitch - Computing Innovation Fair 6:00 PM - 7:30 PM Student Center Ballrooms |
FP.SP due |
|||
R | May 04 2023 | Last Day To Submit Assignments & Labs | Lab13 due A4 due |
|||
[Top] | ||||||
U | May 07 2023 | FP.FR due FP.WV due FP.FT due |
||||
M | May 08 2023 | Final Project Presentations 3:15 PM - 5:15 PM CK 130 |
FP.FP due FP.FB due FP.PS due |
|||
[Top] |