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