I'm Jeff Avery, a Continuing Lecturer in the [Cheriton School of Computer Science](https://cs.uwaterloo.ca/), at the [University of Waterloo](https://www.uwaterloo.ca/).
This site hosts a series of course notes that I originally developed for [CS 346 Application Development](https://student.cs.uwaterloo.ca/~cs346). These notes are all related to building desktop and mobile applications in Kotlin.
I originally intended to maintain both detailed notes **and** lecture slides, but it's really tricky to keep slides/notes/quizzes in-sync, and the duplication was causing confusion. Given that the required course content is *already* in the lecture slides, I'm removing these notes from the course website.
This also has the advantage of allowing me to evolve this material at my own pace, without interfering with an active course.
> [!tip] CS 346 students
> If you're taking CS 346, please read the lecture slides on the [course website](https://student.cs.uwaterloo.ca/~cs346)! Think of this as *optional* material that expands on those slides.
Enjoy.
Jeff