Kotlin Programming Tutorial for Beginners

Learn Kotlin from scratch

Topics to be covered

  1. Overview
    • Course introduction, prequisites and software required
  2. Installation
    • Install required softwares for Windows, MAC and Linux ( Ubuntu )
  3. Getting Started with Kotlin Programming
    • Run your first app in Kotlin
  4. Exploring Data Types and Variables
    • Data Types and Variables
    • String, Literals and String Interpolation
    • Comments
  5. Constants, Variables and Data Types
  6. Control Flow Statements
    • IF ELSE
    • IF Expressions
    • WHEN Expressions
  7. Loop Control Statements
    • What are Iterators?
    • FOR Loop and how it works
    • WHILE Loop
    • DO WHILE Loop
    • BREAK statements
    • CONTINUE keyword
    • Labelled FOR Loop
  8. Functions and Interoperability
    • Declaring functions
    • Interoperability with Java code
    • Function as Expressions
    • Extension Functions
    • Infix Functions
    • Default Parameters
    • Named Parameters
    • Tailrec Functions
  9. Object Oriented Programming in Kotlin
    • Defining Class and creating Objects
    • INIT block
    • Primary and Secondary Constructors
    • Properties ( Field variables )
    • Inheritance
    • Method and Property Overriding
    • Polymorphism
    • Abstract Class, Property and Method
    • Interface
    • Data Class
    • Object Declaration
    • Companion Object
  10. Functional Programming in Koltin
    • Lambdas
    • Higher-Order Functions
    • Closures
    • ‘it’ keyword
    • ‘with’ function
    • ‘apply’ function
  11. Collections in Kotlin
    • Arrays
    • List
    • Map and HashMap
    • Set and HashSet
  12. Sorting and Filtering
    • “filter” function
    • “map” function
    • Predicates: all, any, find, count.
  13. Kotlin NULL Safety
    • Safe call
    • with Let
    • Elvis
    • Lateinit keyword
    • Lazy delegation and ‘lateinit’ vs. ‘lazy’
  14. Scope Functions
    • with
    • apply
    • let
    • also
    • run
  15. Coroutines
    • What are Coroutines? How are they related to Threads?
    • launch, async, runBlocking, withContext, withTimeoutOrNull,
    • Suspending function
    • Cancellation and Timeouts
    • Cooperative suspending functions and isActive flag
    • Exception Handling in Coroutines
    • Sequential execution of suspending function in Coroutines
    • Concurrency within Coroutine
    • lazy ‘async’
    • CoroutineScope and CoroutineContext
    • Dispacthers: Confined dispatcher, Default Dispatcher, and Unconfined Displatcher
  16. Conclusion

GitHub

View Github