Introduction to the Course
  • Introduction From Tim Buchalka
  • Introduction to the course
  • JDK8 Install Windows
  • JDK8 Install Mac
  • JDK8 Install Linux
  • Intellij Windows Install and Configure
  • Intellij Mac Install and Configure
  • Intellij Linux Install and Configure
  • IntelliJ Kotlin Settings
Introduction to Kotlin
  • Introduction to Section 2
  • Introduction to Kotlin
  • The Java Text Adventure Game
  • The Converted Kotlin Text Adventure Game
  • IDEA's Java to Kotlin Converter
Basic Differences Between Kotlin and Java
  • Introduction to Section 3
  • Hello World from Kotlin
  • The Kotlin Standard Library
  • Variable Declarations in Kotlin
  • How to Create Type Aliases in Kotlin
  • Quick Differences Between Kotlin and Java
  • How Kotlin handles equality differently from Java
  • Bit Operators and Smart Casting in Kotlin
  • String Templates in Kotlin
  • Raw Strings in Kotlin
  • The Kotlin REPL
  • Kotlin Challenges (Round One)
Data Types and Null Reference Handling
  • Introduction to Section 4
  • The Builtin Dataypes in Kotlin
  • Arrays in Kotlin
  • Null References in Kotlin - Part One
  • Null References in Kotlin - Part Two
  • Arrays and Null References
  • Kotlin Challenges (Round Two)
OO and Kotlin: Classes, Functions, Inheritance
  • Introduction to Section 5
  • Kotlin's Access Modifiers
  • Declaring Classes and Using Constructors in Kotlin
  • Properties and Backing Fields in Kotlin
  • Constants and Data Classes
  • Kotlin Function Basics
  • Extension Functions
  • Inline Functions
  • Inheritance in Kotlin - Part One
  • Inheritance in Kotlin - Part Two
  • Interfaces in Kotlin
  • Singletons in Kotlin
  • Companion Objects in Kotlin
  • Anonymous Objects in Kotlin
  • Enums in Kotlin
  • Imports in Kotlin
  • The Internal Access Modifier
  • Kotlin Challenges (Round Three, Part 1)
  • Kotlin Challenges (Round Three, Part 2)
Loops, and the If, When, and Try/Catch Expressions
  • Introduction to Section 6
  • The For Loop
  • The If Expression
  • The When Expression
  • The Try/Catch Expression
  • Kotlin Challenges (Round Four)
Lambda Expressions, Collections, and Generics
  • Introduction to Section 7
  • Lambda Expression Basics
  • Lambdas With Receivers
  • Lists
  • Kotlin Collections Functions
  • Maps and Destructuring Declarations
  • Sets in Kotlin
  • More Collections Functions in Kotlin
  • Sequences in Kotlin
  • Generics in Kotlin
  • Generics: Functions and Erasure
  • Generics: Reified Parameters in Kotlin
  • Generics: Covariance
  • Generics: Contravariance
  • Generics: Use-Site Variance
  • Kotlin Challenges (Round Five)
File I/O
  • Introduction to Section 8
  • Reading Text Files
  • Reading Binary Files and Try with Resources
  • Walking the File Tree
Java Interoperability
  • Introduction to Section 9
  • Nullability when using Java from Kotlin
  • More about calling Java from Kotlin
  • Calling Kotlin Functions from Java
  • Annotations when calling Kotlin from Java
  • Kotlin Challenges (Round Six)
Course Wrap Up
  • Introduction to Section 10
  • Revisit the Converted Kotlin Text Adventure
  • Kotlin for Java Developers Wrap Up
  • Tell Us What Content You Want Us To Add!
Extra Information - Source code, and other stuff
  • Source code