Skip to main content
bash TV

Kotlin Course For Beginners – Full Tutorial

freeCodeCamp.org

47.6K views2 Oct 2026

YouTube

Master modern, expressive software development with Kotlin, taking you from core syntax and type safety to advanced coroutines and multiplatform architecture. Through hands-on projects, you will build robust, production-ready applications for Android, backend systems, and beyond. 74-Hour Kotlin Masterclass: https://www.udemy.com/course/kotlin-masterclass-learn-kotlin-from-zero-to-advanced/?referralCode=EAB498FC62AF9500D30A Course from @programmingwithalex.585 Join his Discord: https://discord.gg/zyWxwTSN ❤️ Support for this channel comes from our friends at Scrimba – the coding platform that's reinvented interactive learning: https://scrimba.com/freecodecamp ⭐️ Chapters ⭐️ - (0:00:00) Introduction - (0:00:20) Download and Install InelliJ IDE - (0:05:37) What is JVM? - (0:12:23) Variables - val vs var - (0:23:16) Variables - Type & Inference - (0:32:52) Integer Variables - Byte, Short, Int and Long - (0:43:23) Float and Double - (0:49:14) Char and Boolean - (0:59:05) Operators and operations - (1:11:40) If Statement-Expression - (1:16:13) Logical AND & logical OR operators - (1:23:13) When statement-expression - (1:29:03) FOR loop - (1:34:50) While, Do-While and Labels - (1:43:22) Null Values & Null Safety - (1:54:12) Functions - (2:01:09) Functions: return values and Expressions - (2:05:42) Functions Overloading - (2:12:04) vararg keyword - (2:16:14) Functions - Default Paramenters and Values - (2:21:19) Arrays - (2:32:54) Classes - what they are? - (2:41:57) Classes Primary Constructor - (2:50:23) Classes Initializer Blocks - (3:00:07) Classes Secondary Constructors - (3:09:37) Classes Default Constructor Parameters - (3:12:27) lateinit keyword - (3:19:32) Companion Object - (3:24:31) Singleton - (3:31:37) lazy initialization - (3:35:07) Getters and Setters - (3:45:44) Enum Class - (3:51:25) Sealed Classes - (3:57:21) Object Expression - (4:01:21) Inheritance - (4:11:08) Abstract Classes - (4:16:34) Interfaces - (4:21:20) Data Classes - (4:29:13) Delegation - (4:34:36) Extension Functions - (4:40:06) Generics: Type Parameters and Casting - (4:46:05) Generics Upper Bounds - (4:50:35) Generics: Covariance and Contravariance - (4:58:21) Generics: Type Erasure and the reified Keyword - (5:04:25) Generics: Where Clause & 2 Upper Bounds - (5:11:48) List, Set and Map - (5:32:56) Binary Search - (5:38:49) Comparable and Comparator - (5:44:36) Access Modifiers - (5:50:11) Try Catch Finally - (5:55:38) Lambda Functions - (6:02:11) What are Coroutines? - (6:07:38) Coroutines Implementation - (6:26:40) Coroutines Builders launch, async and runBlocking - (6:50:03) Coroutines Cancellations, Timeouts and Exceptions - (7:05:40) Coroutines: Structured Concurrency, Exceptions - (7:23:48) Coroutines: Sequential, Parallel, Lazy - (7:33:22) Coroutines: withContext - (7:37:38) What is a Flow? - (8:05:01) Reactive Programming - (8:10:38) Starting our first Flow Use Case - (8:21:38) Basic Flow Builders - (8:34:23) Exposing a Flow in out DataSource - (8:41:52) Basic Terminal Operators - (8:56:35) Terminal operator "launchIn()" - (9:04:14) Lifecycle Operators - (9:16:18) Terminal operator "asLiveData()" - (9:30:39) Basic Intermediate Operators - (9:43:54) Flow Exception Handling - (9:57:14) Exception Transparency - (10:04:35) The "retry()" Operator - (10:12:54) Flow Cancellation 🎉 Thanks to our Champion and Sponsor supporters: 👾 @omerhattapoglu1158 👾 @goddardtan 👾 @akihayashi6629 👾 @kikilogsin 👾 @anthonycampbell2148 👾 @tobymiller7790 👾 @rajibdassharma497 👾 @CloudVirtualizationEnthusiast 👾 @adilsoncarlosvianacarlos 👾 @martinmacchia1564 👾 @ulisesmoralez4160 👾 @_Oscar_ 👾 @jedi-or-sith2728 👾 @justinhual1290 -- Learn to code for free and get a developer job: https://www.freecodecamp.org Read hundreds of articles on programming: https://freecodecamp.org/news

Join the discussion

Sign in to join the discussion

Sign in