This is the authoritative calendar for content covered in class, and for content you should expect to see covered as we continue through the course.
For each month, the Deliverables sections should remain relatively constant — though upcoming events will keep our schedule interesting — I will make announcements on the Course Moodle if they change. I will update the Lectures & Activities sections as we go, so they are in one place for easy review.
You can compare this calendar with the calendar from the Course Outline to see where this course has deviated from the original outline.
August
Lectures & Activities
- Week 1 (Aug 21-25)
- Lecture: Syllabus
- Lecture: Course outline
- Lecture: Introduction to Kotlin
- Codelab: Kotlin bootcamp for Programmers, Lesson 1: Getting Started
- Week 2 (Aug 28-Sep 1)
- Lecture: Topics to Review
- Lecture: OOP in Kotlin
- Codelab: Kotlin bootcamp for Programmers, Lesson 2: Kotlin basics
- Codelab: Kotlin bootcamp for Programmers, Lesson 4: Classes and objects
- Example: Lambdas in Kotlin REPL, direct link (.kt file)
September
Lectures & Activities
- Week 3 (Sep 4-8)
- Lecture: Functional Programming in Kotlin
- Lecture: Using Kotlin
- Codelab: Kotlin bootcamp for Programmers, Lesson 3: Functions
- Week 4 (Sep 11-15)
- Lecture: Intro to Jetpack Compose
- Codelab: Basics of Jetpack Compose Compose
- Week 5 (Sep 18-22)
- Lecture: State in Compose
- State Codelab: State in Compose Codelab
- Week 6 (Sep 25-29)
- Lecture: Layouts in Compose
- Codelab: Layouts in Compose Codelab
- Codelab: Material Themes in Compose Codelab
Deliverables
- Sep 12: Assignment #1 due at midnight.
- Sep 15: Project Milestone #1 presented in-class
- Sep 22: Quiz Kahoot #1 on Kotlin
- Sep 25: Project Milestone #2 released (Part 1 due Oct 6/Part 2 Oct 20)
- Sep 29: Quiz Kahoot #2 on Compose
October
Lectures & Activities
-
Week 7 (Oct 2-6)
- Lecture: Navigation in Compose
- Codelab (Part of A3): Navigation in Compose
-
Week 8 (Oct 11)
- Lecture: State in Compose
- Codelab (Part of A3): Advanced state and side effects
-
Week 9 (Oct 16-20)
- Lecture: Requirements Engineering
- Lecture: Git and GitHub
- Lecture: Continuous Integration/Deployment
- Activity: Project Overview
-
Week 10 (Oct 23-27)
- Lecture: Repository management for shared projects
- Lecture: Advanced Kotlin: Extensions, Generics, Functional manipulation
- Codelab (part of A4): Kotlin bootcamp for Programmers, Lesson 5.1: Extensions
- Codelab (part of A4): Kotlin bootcamp for Programmers, Lesson 5.2: Generics
- Codelab (part of A4): Kotlin bootcamp for Programmers, Lesson 6: Functional Manipulation
Deliverables
- Oct 3: Assignment #2 due midnight
- Oct 6: Milestone #2a due (Repository setup).
- Oct 11: Quiz Kahoot #3 on State/Layouts/Themeing
- Oct 20: Milestone #2b due (Project plan and proposal). Presentations in class.
- Nov 6: Assignment #3 due midnight
November
Lectures & Activities
-
Week 11 (Oct 30 - Nov 3)
- Class time to work on Milestone 3a and Assignment 3
-
Week 12 (Nov 6 - Nov 10)
- Lecture: ViewModel, Stateflow, Coroutines, Sideeffects
- Lecture: Data persistence with Datastore/Firestore
- Codelab: Data persistence
-
Week 13 (Nov 13 - Nov 17)
- Lecture: Accessibility
- Codelab: Accessibility
- Nov 17 particpation: starting the above codelabs.
-
Week 14 (Nov 20 - Nov 24)
- Nov 20 participation: review issues/milestones, assign work for the week
- Nov 24 Lecture: Authenticating using Firebase
- Nov 24 Lecture: Remote storage using Firestore
-
Week 15 (Nov 27 - Dec 1)
- Nov 27 Lecture: Releases and versioning
- Nov 29 Lecture: Everything you need to know about GitHub CI/CD
Deliverables
- Nov 3: Quiz Kahoot #4 on Navigation
- Nov 3: Milestone #3a
- Nov 10: Quiz Kahoot #5 on Coroutines/Flow/ViewModel
- Nov 17: Quiz Kahoot #6 on Data Persistence/Accessibiilty
- Nov 24: Milestone #3b
- Nov 27: Assignment #4
December
Lectures & Activities
Lab time
Deliverables
- Dec 1: Quiz Kahoot #7 on git/GitHub/releases/versioning for Android
- Dec 1: Milestone 4a: Accessibility and Storage
- AFTER THE DEC 8-14 Strike (Update since Nov 29): Milestone 4b: Final deliverable
- I will keep you posted about submission instructions/dates as soon as we have new make up days.