CSCI 448 - Mobile Application Development

Spring 2026 - Schedule

Go To Today

DOW Date ## Lecture Subject Reading Handouts Notes
[Top]
M Jan 12 2026 00 Module 1: Introduction to Android & Kotlin KMAD pp vii - xxvii Slides (.pdf)

A0 assigned
W Jan 14 2026 01 Module 1: MVI - 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
Hello World: Lab00A
A0 due

Final Project
FP.EP assigned
F Jan 16 2026 02 Module 1: Compose Layouts & Modifiers + Resource Strings
&
Kotlin Basics
KMAD pp 25 - 44 (Ch. 1.3.3 - 1.4)
Slides (.pdf)

Monster Lab
Monster Lab: Lab01A
[Top]
M Jan 19 2026 --- No Class --- Martin Luther King Jr. Day ---
W Jan 21 2026 03 Module 1: MVI - Model via Kotlin classes Slides (.pdf)

Monster Lab
Monster Lab: Lab01B
Hello World
Lab00 due
Pizza Party
A1 assigned

F Jan 23 2026 04 Module 1: Event Listeners and Recomposing Slides (.pdf)

TempConverter Starter Code (.zip)
Final Project
FP.EP due
[Top]
M Jan 26 2026 05 Shark Tank Slides (.pdf)

Final Project
FP.ST due

Final Project
FP.TF assigned
W Jan 28 2026 06 Module 1: Stateful Composables KMAD pp 51 - 66 (Ch. 2 - 2.3)

State & Jetpack Compose
Slides (.pdf)

TempConverter with Events (.zip)

Monster Lab
Monster Lab: Lab01C
F Jan 30 2026 07 Module 1: MVI - Stateless Composables via ViewModel Intents

Kotlin collections
KMAD pp 44 - 49 (Ch. 1.5 - 1.7), 66 - 74 (Ch. 2.4) Slides (.pdf)

TempConverter with Stateful Composables (.zip)

Monster Lab
Monster Lab: Lab02A
Final Project
FP.TF due
[Top]
M Feb 02 2026 08 Module 2: Presentation & Model Layers and Logic

Storyboarding
Slides (.pdf)

Quizler
Quizler: Lab03A
Final Project
FP.AP assigned
T Feb 03 2026 Monster Lab
Lab01 due
W Feb 04 2026 09 Module 2: Activity Life Cycles + Logging Android Developer Guide: Introduction to Activities

Slides (.pdf)

TempConverter with Stateless Composables (.zip)

Quizler
Quizler: Lab03B
F Feb 06 2026 10 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)

TempConverter with Logging (.zip)

Quizler
Quizler: Lab03C
Monster Lab
Lab02 due
Final Project
FP.AP due
[Top]
M Feb 09 2026 11 Module 2: Processes, Tasks, and Saving State with a Bundle

Kotlin Abstract Classes
Slides (.pdf)

TempConverter with ViewModel (.zip)
Final Project
FP.SB assigned
W Feb 11 2026 12 Module 2: Configurations & Resources KMAD pp 227 - 247 (Ch. 7.3 - 7.5) Slides (.pdf)

Quizler
Quizler: Lab04A
Pizza Party
A1 due

F Feb 13 2026 13 Module 2: Material Design & Themes Material Design 3
Slides (.pdf)

Quizler
Quizler: Lab04B
Final Project
FP.SB due
[Top]
M Feb 16 2026 --- No Class --- President's Day ---
W Feb 18 2026 14 Module 2: Dynamic Screen Size: Landscape Layouts Android Developer Guide: Screen compatibility overview
Slides (.pdf)

TempConverter with Landscape Layout (.zip)

Quizler
Quizler: Lab04C
Final Project
FP.AR assigned
R Feb 19 2026 Quizler
Lab03 due
F Feb 20 2026 15 Module 2: Compose Navigation via NavGraphs KMAD pp 145 - 161 (Ch. 5 - 5.3), 249 - 283 (Ch. 8)

Android Developer Guide: Jetpack Navigation

Android Developer Guide: Navigating with Compose

Android Developer Guide: Predictive Back Gesture Support
Slides (.pdf)

Quizler
Quizler: Lab05A
Tic Tac Toe
A2 assigned

[Top]
M Feb 23 2026 16 Module 2: Compose Navigation with SafeArgs KMAD pp 161 - 172 (Ch. 5.4) Slides (.pdf)

Quizler
Quizler: Lab05B
W Feb 25 2026 17 Module 2: Accessibility & Bug Tracking via Crashlytics Crashlytics
Slides (.pdf)

R Feb 26 2026 Quizler
Lab04 due
F Feb 27 2026 18 Module 2: Compose Scaffold and Menus Compose Scaffold

Compose Floating Action Button

Compose App Bars

Compose Drawer
Slides (.pdf)

Samodelkin
Samodelkin: Lab06A
[Top]
M Mar 02 2026 19 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)

´xam
Exam 1 assigned
T Mar 03 2026 Quizler
Lab05 due
W Mar 04 2026 20 Module 2: Room Database & SQLite KMAD pp 181 - 215 (Ch. 6)

Jetpack Room
Samodelkin
Samodelkin: Lab07A
F Mar 06 2026 21 Module 2: Networking & Permissions Part I
+
WorkManager
Network Operations

Jetpack WorkManager
´xam
Exam 1 due
[Top]
M Mar 09 2026 22 Module 2: RESTful APIs & Retrofit KMAD pp 85 - 88 (Ch. 3 - 3.2), 93 - 112 (Ch. 3.4 - 3.7)

Retrofit

COIL
Samodelkin
Samodelkin: Lab08A
T Mar 10 2026 Samodelkin
Lab06 due
W Mar 11 2026 23 Module 3: Explicit & Implicit Intents Intents

Android Developer Guide: Intents and Intent Filters

Android Developer Guide: Manage Package Visibility
Android Movie Database
A3 assigned

F Mar 13 2026 24 Module 3: Returning Data on the Activity Stack Android Developer Guide: Getting a Result from an Activity

Activity Result Contract

Android Provided Activity Contracts
Samodelkin
Samodelkin: Lab09A
Samodelkin
Lab07 due
[Top]
M Mar 16 2026 25 Module 3: Camera Part I: Using a Camera Intent with FileProviders Final Project
FP.AR due
T Mar 17 2026 Final Project
FP.AF assigned
W Mar 18 2026 26 Module 3: Camera 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
Samodelkin
Lab08 due
F Mar 20 2026 27 Module 3: Camera Part III: Dual Concurrent Cameras Android Developer Reference: ConcurrentCamera

Android Developers Blog: Dual Concurrent Cameras
Final Project
FP.AF due

Tic Tac Toe
A2 due

[Top]
M Mar 23 2026 --- No Class! --- Spring Break ---
W Mar 25 2026 --- No Class! --- Spring Break ---
F Mar 27 2026 --- No Class! --- Spring Break ---
[Top]
M Mar 30 2026 28 Module 3: Location Android Developer Guide: Request location updates

Android Developer Guide: Optimize location for battery
GeoLocatr
GeoLocatr: Lab10A
Final Project
FP.BR assigned
T Mar 31 2026 Samodelkin
Lab09 due
W Apr 01 2026 29 Module 3: Google Maps Android Developer Guide: Add maps

Maps Compose
GeoLocatr
GeoLocatr: Lab10B
WeathrTrackr
A4 assigned

F Apr 03 2026 30 Module 3: Firebase Realtime Cloud DB & User Authentication KMAD p 88 - 93 (Ch. 3.3)

Firebase
[Top]
M Apr 06 2026 31 Module 3: Paging KMAD pp 365 - 404 (Ch. 11)

Jetpack Paging
´xam
Exam 2 assigned
W Apr 08 2026 32 Module 3: Data Store for App Settings & Configuration Jetpack DataStore
GeoLocatr
GeoLocatr: Lab11A
F Apr 10 2026 33 Module 3: Compose Scaffold: Informing the User via Dialogs and Snackbars ´xam
Exam 2 due
GeoLocatr
Lab10 due
[Top]
M Apr 13 2026 34 Module 3: Compose Scaffold: Drawer Layouts & Floating Action Buttons Final Project
FP.BR due
T Apr 14 2026 Final Project
FP.BF assigned
W Apr 15 2026 35 Module 3: Compose Side Effects & Splash Screens Compose Side Effects
R Apr 16 2026 Final Project
FP.BF due
F Apr 17 2026 --- No Class! --- E-Days ---
[Top]
M Apr 20 2026 36 Module 3: Broadcast Receivers Android Developer Guide: Broadcast Receiver
GeoLocatr
Lab11 due

Final Project
FP.FR assigned
FP.WV assigned
FP.FT assigned
FP.FP assigned
FP.FB assigned
T Apr 21 2026 Android Movie Database
A3 due

W Apr 22 2026 37 Module 3: Scheduling Notifications Android Developer Guide: Schedule Alarms

AlarmManager

Jetpack Notifications
GeoLocatr
GeoLocatr: Lab12A
F Apr 24 2026 38 Module 3: Deep Links KMAD pp 172 - 177 (Ch. 5.5 - 5.6)

Jetpack Compose NavGraph Deep Link
GeoLocatr
GeoLocatr: Lab12B
[Top]
M Apr 27 2026 39 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
BeatBox
BeatBox: Lab13A
´xam
Exam 3 assigned
W Apr 29 2026 40 Module 4: UI Testing KMAD pp 319 - 337 (Ch. 10.3)

Testing Your Compose Layout
BeatBox
BeatBox: Lab13B
F May 01 2026 41 Module 4: Dependency Injection via Dagger Hilt KMAD pp 285 - 313 (Ch. 9)

Hilt
´xam
Exam 3 due

GeoLocatr
Lab12 due
[Top]
M May 04 2026 42 Module 4: Polishing & Publishing Your App: Material Design & Standards Android Developer Guide: Publish Your App

Material Design
Final Project
FP.PS assigned
T May 05 2026 Final Project Sales Pitch - Computing Innovation Fair
5:00 PM - 6:30 PM
Student Center Ballrooms
Final Project
FP.SP due
W May 06 2026 43 Module 4: Android App Bundle (.aab) & Play Asset Delivery (PAD) Android App Bundle

Play Asset Delivery
R May 07 2026 Last Day To Submit Assignments & Labs BeatBox
Lab13 due
WeathrTrackr
A4 due

Final Project
FP.FR due
FP.WV due
FP.FT due
F May 08 2026 Final Project Presentations
10:15 AM - 12:15 PM
Final Project
FP.FP due
FP.FB due
FP.PS due
[Top]