Kotlin Tutorial for Beginners: The Kotlin Programming Language Full 9-hour Kotlin Course

This is a full length Kotlin Programming Course for beginners.

Over 9 hours of instruction that will take you from an absolute beginner to being able to write Kotlin and contribute to Kotlin projects.

This is the most comprehensive Kotlin course on YouTube.

🌟 Table of Contents 🌟
0:00:00 Welcome
0:02:07 Installing IntelliJ
0:03:20 Creating your First Kotlin File
0:04:38 Updating the Kotlin Plugin
0:05:43 Hello World
0:06:49 Creating a Variable
0:10:06 Creating a Read only Variable
0:12:19 Providing a Type on a Variable
0:14:00 Basic Types: Numbers
0:21:14 Basic Types: String and Char
0:24:11 String Interpolation and Triple Quotes
0:29:26 Basic Types: Boolean
0:31:18 If/Else Conditionals
0:36:25 One Line If/Else Conditional
0:40:17 Understanding Truth Tables
0:46:08 Structural Equality
0:48:19 Referential Equality
0:50:46 Nullable Types
0:52:12 Nullable Safe Calls
0:55:48 The Elvis Operator
0:57:49 Your First Kotlin Function
1:03:29 Functions with Return Types
1:08:49 Functions inside of Functions
1:11:51 Single Line Expressions
1:15:59 Function Arguments
1:21:49 Named Parameters
1:26:14 Default Function Arguments
1:30:44 IDE Refactoring to New LInes and Named Arguments
1:32:13 Multiple Args with varargs
1:34:57 Function Overloading
1:38:30 Creating your First Kotlin Class
1:45:31 Class Primary Constructors
1:49:18 Multiple Class Constructors
1:57:18 Constructor Init Blocks
2:00:57 Class Properties
2:04:00 Read Class Properties
2:04:54 Overriding a Property Getter
2:06:35 Overriding a Property Setter
2:09:42 Multiple Properties in a Class
2:11:11 Class Functions
2:15:51 Companion Objects
2:21:32 How to Create a Singleton
2:29:09 Declaring Constants
2:36:09 The lateinit modifier
2:40:23 How to Nest Classes
2:43:57 Inner Classes
2:46:56 Creating an Enum
2:51:36 Enum Constructor Parameters
2:55:27 Abstract Functions in Kotlin
2:58:51 Iterating over Enum Values
3:00:04 Adding Static Methods to Enums
3:01:37 The When Statement (Kotlin Switch Statement)
3:08:19 Exhaustive vs Non-Exhaustive When
3:15:09 Data Classes
3:19:27 Data Class with Parameterless Constructor
3:20:40 Data Class: Component1-N functions
3:24:15 Destructuring Data Classes
3:27:47 Copying Data Class Instances
3:31:17 The Pair and Triple Data Classes
3:33:50 Protected Modifier for Variables
3:40:53 Protected Modifier for Functions
3:47:02 Internal Modifier for Classes
3:55:07 Abstract Classes
3:59:45 Implementing an Abstract Class
4:13:30 Understanding Abstractions with Abstract Classes
4:17:52 What interfaces are used for
4:26:28 Creating an Interface
4:27:32 Implementing an Interface
4:28:51 Real World Interface Example
4:35:39 Anonymous Interfaces
4:40:34 Creating Arrays
4:47:06 Creating Immutable Lists
4:52:46 Creating Mutable Lists
5:00:47 Filtering a List
5:06:28 Finding Items in a List
5:12:44 Using “filterNot” on a List
5:14:10 filterTo and filterNotTo on Lists
5:16:40 Flattening Lists and Arrays
5:19:39 Combining Immutable Lists
5:21:21 List vs Map
5:29:40 Map vs FlatMap
5:34:15 Set Data Structure (a List with no Duplicates)
5:39:05 For Loops
5:44:13 While Loops
5:47:59 For Each Loops
5:51:03 Combining Lists with the Union Operator
5:53:53 Iterating over a List with an Index
5:55:28 Ranges
5:56:59 Immutable Maps
6:00:49 Mutable Maps
6:08:29 Filtering and Transforming Maps
6:16:30 Using mapNotNull on a Map
6:20:22 Generating Large Sequences
6:23:11 Measuring Performance
6:31:33 Kotlin Sequences
6:44:19 List vs Set vs Map vs Sequence
6:49:25 Kotlin Ternary Operator: Single Line If
6:50:51 Double Bang !! Operator
6:54:58 Using requireNotNull()
6:59:04 Using checkNotNull()
7:01:05 Filtering a List with filterNotNull()
7:02:20 Type Checking with ‘is’
7:08:52 Casting
7:11:36 Safe Casting with ‘as’
7:14:58 Generic Lists and Maps
7:19:50 Your First Generic Class
7:27:06 Throwing Exceptions
7:29:54 Creating a Custom Exception
7:32:44 Catching Exceptions with Try/Catch
7:36:09 Catching Multiple Exception Types
7:40:43 Try/Catch/Finally blocks
7:44:52 Try/Catch vs Try/Finally
7:47:27 Creating a typealias
7:50:38 Extension Functions
7:59:14 Lazy Evaluation
8:02:26 Lazy Initializer Block
8:05:42 Packages and Imports
8:14:04 Type Inference
8:21:09 Simple Lambda Expressions
8:34:29 Lambdas as Function Parameters
8:40:23 Passing Values to Lambda Function Parameters
8:51:37 Underscore Parameters in Lamba Functions
8:54:24 The ‘it’ Paramter in Lambda Functions
8:56:38 Calling Kotlin from Java
8:59:39 Calling Java from Kotlin
9:04:51 Calling an Extension Function from Java
9:07:50 @JvmName Annotation
9:10:21 Top Level Main Functions
9:11:15 Kotlin REPL
9:13:52 Project: Setup
9:15:54 Project: Reading Input
9:20:16 Project: Calculator Logic
9:28:04 Project: Adding Validation
9:35:54 Project: Compiling to a Jar File and Execution
9:38:21 Kotlin Koans
9:40:09 Congratulations

Help translate this course into another language: https://github.com/donnfelker/kotlin-course-translations

source by Donn Felker – Freelancing for Mobile Developers



Fondateur de summarynetworks, passionné des nouvelles technologies et des métiers de Réseautique , Master en réseaux et système de télécommunications. ,j’ai affaire à Pascal, Delphi, Java, MATLAB, php …Connaissance du protocole TCP / IP, des applications Ethernet, des WLAN …Planification, installation et dépannage de problèmes de réseau informatique……Installez, configurez et dépannez les périphériques Cisco IOS. Surveillez les performances du réseau et isolez les défaillances du réseau. VLANs, protocoles de routage (RIPv2, EIGRP, OSPF.)…..Manipuler des systèmes embarqués (matériel et logiciel ex: Beaglebone Black)…Linux (Ubuntu, kali, serveur Mandriva Fedora, …). Microsoft (Windows, Windows Server 2003). ……Paquet tracer, GNS3, VMware Workstation, Virtual Box, Filezilla (client / serveur), EasyPhp, serveur Wamp,Le système de gestion WORDPRESS………Installation des caméras de surveillance ( technologie hikvision DVR………..). ,

25 réflexions sur “Kotlin Tutorial for Beginners: The Kotlin Programming Language Full 9-hour Kotlin Course

  • juin 10, 2021 à 12:06

    I love the idea of a gradual ramp – of learning only what is necessary for an MVP. It can be a bit like Lucy with the football; though. Of the dozens of times I have tried a tutorial that demands a graphical IDE, I can count on one finger the number of times it worked at all, let alone worked similarly to the tutorial.

    Perhaps specifying some Docker containers would be simpler. I know it's a big added ask to get Docker working, but so it understanding the following type of error when you know nothing of the language and constantly and radically moving tooling UI:

    Could not open init generic class cache for initialization script '/tmp/wrapper_init1.gradle' (/home/jhale/.gradle/caches/6.6.1/scripts/9ss9airxfliuohho2dlhuby5).
    > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 60

    * Try:
    Run with –stacktrace option to get the stack trace. Run with –info or –debug option to get more log output. Run with –scan to get full insights.

    Maybe I'm wrong for thinking this, but I have the expectation that all GUI IDEs are unreliable at best and will always be due to the combination of extremely complicated procedures, variety of languages and platforms supported, interference from marketing to make it compatible with the latest vendor lock in strategy, etc. Text-based editors don't seem to suffer from this tendency toward bloat and unreliability.

  • juin 10, 2021 à 12:06

    I have learned everything to get started with Kotlin and I am here to say Thank you..❤️❤️

  • juin 10, 2021 à 12:06

    I am having a problem when I try to create a project in my ide I have to select the build system, by selecting the default one i have many other files in my project folder such as gradle and stuff and inside the source(src) folder I have 2 more folders and 2 subfolders inside those 2 folders, and upon creating a Main.kt file I don't seem to have the run option

    any help will be appreciated

  • juin 10, 2021 à 12:06

    9:40:9 Yessssss! I made it, of course always thanks to you.
    One of of the best instructors/teacher ever I came across.
    God bless you Mr. Felker
    Forever & ever grateful to you.
    Love from Europe <3

  • juin 10, 2021 à 12:06

    I think Kotlin is similar to JS, and Interestingly enough you can use Kotlin.js instead of JS for web development.

  • juin 10, 2021 à 12:06

    So far so good.. Thank you very much for knowledge sharing.
    I have one question.. does Kotlin classes have getters and setters like Java? I am 2 hours in this lessons, sorry for asking if it is explained later.

  • juin 10, 2021 à 12:06

    Thank you Donn. Took me some time but finally completed the 9 hrs tutorial. Looking forward for your video on co-routines.


Laisser un commentaire