Introduction to Kotlin (KTL112)
Course Length: 4 days
Delivery Methods:
Available as private class only
Course Overview
This four-day Kotlin training class is an in-depth introduction to the Kotlin language. This course is appropriate for students who have proficiency in another programming language. This course does not teach Android development fundamentals focusing rather on the Kotlin Language.
Course Benefits
- Understand Kotlin language fundamentals
- Write null-safe Kotlin code
- Create Kotlin Classes and Objects
- Use Kotlin Generics
- Implement Concurrency with Coroutines
- Built applications combining Kotlin and Java
- Create Domain Specific Languages (DSLs) in Kotlin
Course Outline
- Kotlin Overview
- History of Kotlin
- Why Kotlin?
- Characteristics of Kotlin
- Tools
- Variables and Data Types
- Mutable and Immutable Variables
- Types and Type Inference
- Type Conversion
- Literals
- Keywords and Operators
- Keywords
- Operators
- Logical Operatos
- Short Circuiting Operators
- Arrays and Strings
- Arrays
- Array Methods
- Strings
- Raw Strings
- Loops and Conditionals
- For loops
- While/Do While
- If
- When
- Null Safety
- The billion dollar mistake
- Safe Call Operator
- Elvis Operator
- Not Null Assertion
- Object Orientation
- Classes and Objects
- Construction and Initialization
- Inheritance
- Interfaces
- Functions
- Parameters
- Scope
- Infix Functions
- Operator Overloading
- Lambdas and Higher Order Functions
- Higher Order Functions
- Function Types
- Lambdas
- Closures
- Advanced Object Orientation
- Nested Classes
- Property References
- Companion Objects
- Delegation
- Generics
- Variance and Covariance
- Type Projections
- Generic Functions
- Type Erasure
- Collections
- Lists
- Sets
- Maps
- Sequences
- Concurrency
- Coroutines and Threads
- Dispatch
- Channels
- Shared Mutable State
- I/O
- Streaming I/o
- Reading Files
- Writing Files
- Sockets
- Annotation and Reflection
- Annotations
- Reflection
- Custom Annotations
- Meta Annotations
- Mixing Kotlin and Java
- Call Kotlin from Java
- Call Java from Kotlin
- Convert Java to Kotlin
- Null Safety and Java
- Domain Specific Languages
- Introduction to DSLs
- Language features that support DSLs
- The builder pattern
- Lambdas in DSLs
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Class Prerequisites
Experience in the following is required for this Kotlin class:
- Proficiency in any programming language.