Lectures#
This is a complete list of lecture topics. Only the lectures on the agenda are testable.
Getting Started#
| Topic |
Description |
Links |
| Introduction |
Form teams, setup your project. |
video, slides |
Project Management#
| Topic |
Description |
Links |
| Project Management |
Project management concepts. |
video, slides |
| Teamwork |
How to form teams and work together. |
video, slides |
| Software Projects |
What makes software projects unique. |
video, slides |
| Requirements |
How to define and track requirements. |
video, slides |
Best Practices#
| Topic |
Description |
links |
| Agentic Coding |
Using GenAI in software development. |
video, slides |
| Version Control |
Git concepts, branching models. |
video, slides |
| Documentation |
Using Markdown to write documents. |
video, slides |
| Testing |
Writing automated tests. |
video, slides |
| Pair Programming |
How to design & code together. |
video, slides |
| Refactoring |
Making small, incremental changes. |
video, slides |
Architecture & Design#
| Topic |
Description |
links |
| Architecture |
High-level application structure. |
video, slides |
| Design Patterns |
Common design patterns in Kotlin. |
video, slides |
| MVVM |
How to implement ViewModels. |
video, slides |
| Domain Objects |
Middle-tier data objects. |
video, slides |
Kotlin Programming#
| Topic |
Description |
links |
| Intro to Kotlin |
An introduction to the Kotlin language. |
video, slides |
| OO Kotlin |
Kotlin as an OO language. |
video, slides |
| Functional Kotlin |
Using functional features in Kotlin. |
video, slides |
| Kotlin Multiplatform |
Multi-platform builds. |
video, slides |
| Idiomatic Kotlin |
Best-practices for using the language. |
video, slides |
| Kotlin Toolchain |
Build framework for Kotlin. |
video, slides |
| Gradle Build System |
Alternate build framework. |
video, slides |
User Interfaces#
| Topic |
Description |
links |
| User Interfaces |
Building user interfaces with Compose. |
video, slides |
| Desktop Applications |
Building desktop with Compose. |
video, slides |
| Android Applications |
Building Android applications. |
video, slides |
| iOS Applications |
Building iOS applications. |
video, slides |
Advanced#
| Topic |
Description |
links |
| Concurrency |
Threads, and async models. |
video, slides |
| Databases |
Relational databases. |
video, slides |
| Web services |
Connecting to online services. |
video, slides |