Kotlin Course – Tutorial for Beginners

///Kotlin Course – Tutorial for Beginners

Kotlin Course – Tutorial for Beginners

FavoriteLoadingAdd to favorites

Learn the Kotlin programming language in this introduction to Kotlin. Kotlin is a general purpose, open source, statically typed “pragmatic” programming language. It is used for many things, including Android development.


🎥Course developed by Nate Ebel. Check out his YouTube channel:

⭐️ Course Contents ⭐️
⌨️ (0:00:50) Create Your First Kotlin Project
⌨️ (0:04:23) Hello World
⌨️ (0:06:33) Working With Variables
⌨️ (0:11:04) Type System
⌨️ (0:15:00) Basic Control Flow
⌨️ (0:21:31) Basic Kotlin Functions
⌨️ (0:27:12) Function Parameters
⌨️ (0:32:52) Arrays
⌨️ (0:35:28) Iterating with forEach
⌨️ (0:41:17) Lists
⌨️ (0:42:47) Maps
⌨️ (0:45:05) Mutable vs Immutable Collections
⌨️ (0:49:24) Vararg Parameters
⌨️ (0:54:21) Named Arguments
⌨️ (0:56:26) Default Parameter Values
⌨️ (1:00:27) Create A Simple Class
⌨️ (1:03:35) Adding Class Properties
⌨️ (1:05:15) Class Init Block
⌨️ (1:06:40) Accessing Class Properties
⌨️ (1:07:32) Primary Constructor Properties
⌨️ (1:08:17) Secondary Constructors
⌨️ (1:09:50) Working With Multiple Init Blocks
⌨️ (1:11:30) Default Property Values
⌨️ (1:11:59) Properties With Custom Getters/Setters
⌨️ (1:16:52) Class Methods
⌨️ (1:20:12) Visibility Modifiers – Public/Private/Protected/Public
⌨️ (1:22:30) Interfaces
⌨️ (1:24:21) Abstract Classes
⌨️ (1:26:13) Implementing An Interface
⌨️ (1:26:35) Overriding Methods
⌨️ (1:28:30) Default Interface Methods
⌨️ (1:29:30) Interface Properties
⌨️ (1:31:40) Implementing Multiple Interfaces
⌨️ (1:32:57) Type Checking And Smart Casts
⌨️ (1:36:18) Inheritance
⌨️ (1:43:07) Object Expressions
⌨️ (1:45:06) Companion Objects
⌨️ (1:49:51) Object Declarations
⌨️ (1:52:41) Enum Classes
⌨️ (1:58:16) Sealed Classes
⌨️ (2:00:07) Data Classes
⌨️ (2:12:25) Extension Functions/Properties
⌨️ (2:16:40) Higher-Order Functions
⌨️ (2:29:07) Using The Kotlin Standard Library
⌨️ (2:00:07) Data Classes

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

And subscribe for new videos on technology every day:


By |2021-03-04T12:41:45+00:00March 4th, 2021|Java Video Tutorials|36 Comments


  1. mhell Catalogo March 4, 2021 at 12:41 pm - Reply

    This tutorial is not for 0 knowledge of programming language.

  2. Ashraf Shaikh March 4, 2021 at 12:41 pm - Reply

    Unnecessarily complicated

  3. Saikrishna Pawar March 4, 2021 at 12:41 pm - Reply

    Your explanation was excellent! Thanks for the tutorial.

  4. Zando Pitter March 4, 2021 at 12:41 pm - Reply

    thats a little bit fast and not clearly i have some experiences in java and still fcked up

  5. an honest observer March 4, 2021 at 12:41 pm - Reply

    you give examples that are too similar to what you are teaching, making it confusing. and you teach one lesson on top of another, which makes it confusing. you should teach each topic separately to make it clear.

  6. Konstantinos Papakonstantinou March 4, 2021 at 12:41 pm - Reply

    Why doesn't the spread operator work with a list?

  7. Ariel Austria March 4, 2021 at 12:41 pm - Reply

    Done tutorial, now I know how to program using Kotlin Language. Thanks! Subscribed!

  8. Sakshi Arts March 4, 2021 at 12:41 pm - Reply

    I left 1:18:00

  9. TheEric8866 March 4, 2021 at 12:41 pm - Reply

    Do you know why this does not work anymore?
    fun sayHello(itemToGreet:String) = println("Hello $itemToGreet")

    fun main() {

    The last part should be replaced by;
    fun main() {

  10. Hiderr March 4, 2021 at 12:41 pm - Reply


  11. Legotronforce March 4, 2021 at 12:41 pm - Reply

    Holy frick, Kotlin is OP AF

  12. CTRL Dash March 4, 2021 at 12:41 pm - Reply

    36:35 (ignore this comment)

  13. Nux Bot March 4, 2021 at 12:41 pm - Reply

    that wallpaper is cool af btw

  14. Farkas Gabor March 4, 2021 at 12:41 pm - Reply

    Thank You for this tutorial. This is far the best I could found. My question would be that once I know these basics what would be the next step towards android programming. Could you or anyone recommend a similarly clear and understandable tutorial like this please.
    I am studying programming by my self using only books and online materials and I think the problem with self teaching is that you don’t have a structure of studying(roadmap).

  15. oleg alekos March 4, 2021 at 12:41 pm - Reply

    Great Tutorial!
    Just a tip, maybe your naming, variables and methods is just not the best at showing examples ?
    really passing a parameter to a function named predicate? Predicate? Why use such a confusing name and a one that already has multiple implementations?
    Making this comment just to Point the need of simplicity and explaining Advanced concepts while not forgetting the issues you have while you are not so advanced..

    Great job by the way..

  16. presidentpt March 4, 2021 at 12:41 pm - Reply

    Nice video. What was the color scheme you were using ? Thank you.

  17. PES gaming March 4, 2021 at 12:41 pm - Reply

    why did you said the data class was immutable
    but now you can change it .
    Initially, you set the value of entity1 with "id" and "name"
    and then when assigning to entity2, you changed entity1 object by accessing "copy()" constructor and changed the "name" value
    is immutable in kotlin means different thing than java?

  18. Jake Wilsey March 4, 2021 at 12:41 pm - Reply

    I bought my credit card from *Dumpscardingg* on telegram with the easiest method to cash it out which worked 100% no red flags at all you own me a lot bro,I also do cashapp flip from him and I received the balance I requested from him so fast and reliable go for him guys, he is the best vendor I have ever met ✅✅

  19. Nikita Koselev March 4, 2021 at 12:41 pm - Reply

    this is beautiful

  20. PES gaming March 4, 2021 at 12:41 pm - Reply

    the referencing between the enum class and the "when" statement inside the object declaration is really confusing.
    The thing is when you create a variable called "name" which stores the value of the "when" block (i tend to remember this as a switch block in java) in which for each constant, it will return a String. For example, if "EASY" constant was chosen from the enum class, the output would be a String. This is done by calling create() method which takes EntityType object as argument via a reference variable called "type".
    So, when writing the "when" statement inside the object declaration called "EntityFactory", you can write it like this:
    //val name=when(type){
    EntityType.EASY->type.name // so how this can happen? i mean how the output would be "type.name"
    //because from my understanding, "type" is referring to the enum class outside of the scope of "EntityFactory" object //declaration, but still it can access "name" variable which is declared in the "EntityFactory".
    //how this is valid?

  21. PES gaming March 4, 2021 at 12:41 pm - Reply

    i tried to pass "null" inside the "person: Person" object the compiler is expecting instead of passing
    the empty constructor "Person()" but it compiler error occurs..
    From my understanding, "Person()" constructor is the same as null right?
    otherwise "no nickname" would be printed out

  22. Josiah Osgood March 4, 2021 at 12:41 pm - Reply

    fun main(args: Array<String>) {

    println("Whats your name")

    val name= readLine()

    println("Hello $name!")

    println("What is your age $name?")

    val age= readLine()

    println("Oh cool you're $age years old")

    val myAge= 10

    println("Im $myAge years old")

    println("I now have all your info hahahahahhaha (not really)")

    lol gonna do this too my friends

  23. rsobies March 4, 2021 at 12:41 pm - Reply

    thank u, great job

  24. joaoKavalciuki March 4, 2021 at 12:41 pm - Reply

    As a non native speaker and not even fluent I can say: Your way to speak is very clean, concise and easy to understand

  25. PES gaming March 4, 2021 at 12:41 pm - Reply

    class Person(_firstName:String, _lastName:String){
    val firstName:String
    val lastName:String

    firstName= _firstName


    i am struggling to understand this kind of assignment even in java i did'nt really understand it.
    why do we need to store/ save the value of the variable of the constructor's parameter in this case _firstName and _lastName
    to another variable or you may call it property in this case firstName and lastName,
    would this action make the program to waste a little bit of memory in the stack(i don't know)?

  26. momo Art March 4, 2021 at 12:41 pm - Reply


  27. Fayas Amd March 4, 2021 at 12:41 pm - Reply

    Dont mind this comment 🥴
    Day 0 : 00:00
    1 : 30:00
    2 1:00:00
    3 1:30:00
    4 2:00:00

  28. j l March 4, 2021 at 12:41 pm - Reply

    ppl having issues on SDK / JDK:

    I had the same issue but that is bc when you were creating a new project you selected Kotlin but instead choose Java then select Kotlin/jvm. This should set up the same environment as the presenter:)

  29. PES gaming March 4, 2021 at 12:41 pm - Reply

    Lambda expression
    Is really a hard topic for me..
    One more thing,
    If you want to use a class's function in kotlin,
    You do not need to make an object of that class? Or even import the package?
    Sorry i watched the video only until

  30. Donagh Marnane March 4, 2021 at 12:41 pm - Reply

    Sorry but none of what you're doing matches what appears in my Intellij. Can't get it to run. Maybe it's different on Linux or something.

  31. Brahma Sharma March 4, 2021 at 12:41 pm - Reply

    I am using GNOME Builder and it works! Just have to make an alias to run it.

  32. シフティファイサル March 4, 2021 at 12:41 pm - Reply

    Not so good

  33. abdallah mohamed March 4, 2021 at 12:41 pm - Reply

    how i can change font please

  34. LS Home Design March 4, 2021 at 12:41 pm - Reply

    Wao… Amazing language for app development.💐💐💐💐💐💐💐💐💐

  35. Edoardo Fiorini March 4, 2021 at 12:41 pm - Reply

    Is Kotlin useful for Java Developers?

  36. Rizki Fikriansyah March 4, 2021 at 12:41 pm - Reply

    I can't believe how easy Kotlin really is. Coming from someone who codes in Go and Javascript, this language is like the best combination of both worlds.

Leave A Comment