Course Description
This course covers how to program using Kotlin starting from the basics to hands on exercises, then finalizing with a complete demo, all of which demonstrate the much less complexity of Kotlin than Java.
If you want to become a professional Kotlin developer, then this course is for you.
What you'll learn
After completing this course you will be able to:
kotlin basics:
Understand kotlin variables and datatypes.
Understand null safety concept using operators (not null assertion operator, safe call operator, elvis operator).
Recognize removing complexity in if condition.
Differentiate between when condition in kotlin and switch case in java.
Recognize added functionalities in set and map collections.
Examine added features in For loops.
Remember while loops in java and recognize the similarity with kotlin.
Understand functions (basic with return type, three dots operator, new functions: default arguments and named arguments, extension).
Recall exceptions and examine why checked exceptions are not supported.
Functional programming:
Understand immutability as a new concept.
Examine lambda expressions in higher order functions.
Understand some higher order methods examples (filter, map, flatMap, zip).
Recognize lazy evaluation methods.
Understand higher order methods used in Standard.kt helper class (let, with, apply, use).
Examine memory saving using inline functions.
Object orientation (OOP) in kotlin:
Recognize how to create OOP classes.
Examine properties with getters and setters using identifiers.
Locate the special behavior performed by primary constructors.
Recognize the secondary constructor similarities between both languages.
State data class features.
Recall enums.
Understand the concept of inheritance.
Define abstract classes and interfaces.
Understand overriding rules.
Recall smart casting.
Examine visibility scopes.
Differentiate between companion objects and java static keyword.
Recall object declarations as singletons.
Examine generic classes and methods.
Relate covariance to immutability.
Compare covariance and contravariance (out, in).
Kotlin for android:
Understand extensions.
Examine why view Binding is more recommended.
Develop the application project as a recap.
Requirements
Basic Knowledge of :
Some Java programming and Android experience