# Week 02 - Kotlin

Published 2024-09-09

# Lectures

Please watch these lecture videos before attending class this week.

# 1. Kotlin basics

A review of the fundamental features of the Kotlin programming language.

CS346-02-01-Kotlin-Part1.mp4
CS346-02-01-Kotlin-Part1.mp4 227MB
CS346-02-01-Kotlin-Part1.pdf
CS346-02-01-Kotlin-Part1.pdf 1.79MB

# 2. Object-oriented Kotlin

Classes, constructors, inheritance...

CS346-02-01-Kotlin-Part2.mp4
CS346-02-01-Kotlin-Part2.mp4 130MB
CS346-02-01-Kotlin-Part2.pdf
CS346-02-01-Kotlin-Part2.pdf 601KB

# 3. Functional Kotlin

First-class functions, Lambda expressions, Collection classes.

CS346-02-01-Kotlin-Part3.mp4
CS346-02-01-Kotlin-Part3.mp4 97.7MB
CS346-02-01-Kotlin-Part3.pdf
CS346-02-01-Kotlin-Part3.pdf 445KB


# Wed (in-class)

In the first 30-45 mins of this class, the instructor will walkthrough the topics below. The remainder of the class will be a working session for you and your team.

# 1. Install toolchain

Brief overview of setting up IntelliJ and other required tools (10 min).

CS346-02-02-Toolchain.pdf
CS346-02-02-Toolchain.pdf 1.49MB

Demo

  • Create a new project, and run 'Hello World'.
  • Opening existing projects from GitLab/public.

# 2. Gradle build configuration

Lecture on build systems, and how Gradle manages build configuration. Demo of how to build a working console application in Gradle (30 min).

CS346-02-03-Gradle.pdf
CS346-02-03-Gradle.pdf 1.78MB

Demo

  • Creating a Gradle project.
  • Modifying the project config (new-project, adding a plugin).
  • Version catalog (GitLab/public:version-catalog).

# Fri (in-class)

Fri is a dedicated working session for you and your team. The instructor and TAs will be present to answer questions.


# TODO