Project-related deadlines are shown in red. Note that that there will be no extensions for projects!
Module 1 (Week 1) — Introduction and Java
- Tuesday (1/23): Our First Android App
- Wednesday (1/24) Lab 1: Set up a development environment
- Thursday (1/25) A Crash Course on Java
- Projects and homework:
Module 2 (Weeks 2-3) — Android Basics
Week 2: The Android Lifecycle
- Tuesday (1/30): Activities, Services, and Content Providers
- Wednesday (1/31) Lab 2: Group Organization
- Thursday (2/1): Intent Providers, Threads, and Tasks
Week 3: Android Widgets and Views
- Tuesday (2/6): Widgets for Organizing the UI
- Thursday (2/8) The Action Bar and Fragments
- Friday (2/9) at 5:59PM: Project 1I due!!!
- Projects and homework:
Intermezzo (Week 4) — Build Tools, Tests, and Documentation
- Tuesday (2/6): Ant, Gradle, and Maven
- Thursday (2/6): JavaDoc and Testing
Module 3 (Weeks 5-6) — Design Patterns
Week 5: Factories and Their Uses
- Tuesday (2/13): UML Basics and the Factory Pattern
- Wednesday (2/14): Lab 4: Group Work on Projects and HTTP overview
- Thursday (2/15) In-Depth Example: Image Factories
Week 6: Databases, Observers, and Adapters
- Tuesday: Content Providers and Databases
- Wednesday (2/14): In-group lab work
- Thursday: Database Observers and Adapters
- Projects and homework:
- Friday: Project 2I Handed Out
Module 4 (Weeks 7-8) — Concurrency and Networking
Week 7: Concurrency
- Tuesday: Concurrency Primitives in Java
- Wednesday (2/14): In-group lab work
- Thursday: Concurrency Abstractions for Android
- Projects and homework:
- Friday: Project 2I Handed Out
Week 8: Networking
- Tuesday: Java Streams and Patterns for Concurrent Network I/O
- Wednesday (2/14): In-group lab work
- Thursday: The Volley Network Library
- Projects and homework:
- Friday: Project 2I Handed Out