Kotlin is the most popular programming language for building Android apps and it can also be can be used for any kind of development.

We just published a full Kotlin course for beginners on the freeCodeCamp.org YouTube channel.

Alex Cristian developed this course. Alex is an experienced developer who has created multiple Android apps.

This course will teach you Kotlin starting from the absolute beginning and going through advanced Kotlin concepts. The course uses intuitive and practical examples and at the end of each section there is a challenge to test your understanding.

Here are the sections covered in this course:

  • Introduction
  • Install Intellij IDEA
  • Hello World
  • Variables
  • Window
  • Integer Type
  • DataType: Byte, Short and Long
  • Float and Double
  • Char and Boolean
  • Operators
  • Comments
  • IfThenElse: Statement-Expression
  • Less Than or Equal To Operator
  • logical AND operator
  • logical OR operator
  • When Statement-Expression
  • Null
  • Functions
  • Function: return and expressions
  • Functions Overloading
  • Functions Default Values
  • Functions vararg keyword
  • loops: FOR loop
  • loops: WHILE and DO WHILE loop, Labels and continue and break
  • loops Challenge
  • Arrays
  • Arrays Challenge
  • OOP: Classes
  • OOP: Primary Constructor
  • OOP: Initializer Blocks
  • OOP: Secondary Constructors
  • OOP: Constructor Parameters Default Values
  • OOP: Getters and Setters
  • OOP: lateinit keyword
  • OOP: Companion Object
  • OOP: Singleton
  • OOP: Lazy Initialization
  • OOP: Enum Classes
  • OOP: Inner Classes
  • OOP Challenge
  • OOP: Inheritance 1
  • OOP: Inheritance 2
  • OOP: Sealed Class
  • OOP: Abstract Classes
  • OOP: Data Class
  • OOP: Interfaces 1
  • OOP: Interfaces 2
  • OOP: Object Expression
  • OOP: Delegation
  • Lambda Functions and Lambda Expressions
  • it parameter in lambda
  • List, Set, Map
  • Mapping
  • Zipping
  • Flatten
  • String Representation
  • Filtering
  • Test predicates: any(), none(), all()  
  • Plus and Minus Operators
  • Grouping
  • Retrieve Collection parts
  • Retrieve Single Elements
  • Aggregate Operations: sum(), count(), average(), minOrNull(), maxOrNull()
  • Comparable and Comparator
  • Binary Search
  • Generics: Type Paramenters and Casting
  • Generics: Upper Bounds

Watch the full course on the freeCodeCamp.org YouTube channel (13-hour watch).