The Ultimate Guide to Kotlin Programming

Gain insights into Kotlin, explore differences from Java, work with functions and collections, delve into advanced topics like lambdas and async programming, and build an Android app.

Beginner

156 Lessons

20h

Certificate of Completion

Gain insights into Kotlin, explore differences from Java, work with functions and collections, delve into advanced topics like lambdas and async programming, and build an Android app.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

182 Playgrounds
34 Quizzes

This course includes

182 Playgrounds
34 Quizzes

Course Overview

Kotlin has been growing in popularity among developers for some time. It was given even more recognition when Google announced in 2019 that Kotlin was now their preferred language for Android development. In this comprehensive course, you’ll start by learning the fundamentals, such as: how Java and Kotlin differ, how to work with functions, and how to utilize collections, something you’ll work with extensively in Kotlin. In the latter half of the course, you’ll be introduced to more advanced concepts lik...Show More

Course Content

1.

Getting Started

Get familiar with Kotlin's versatility, its audience, and comprehensive course offerings.
2.

Hello Kotlin

Look at Kotlin's versatility, interoperability, and efficiency in modern software development.
3.

Kotlin Essentials for the Java Eyes

Work your way through Kotlin's concise syntax, type inference, string templates, and immutability.
4.

Working with Functions

Grasp the fundamentals of Kotlin functions, flexibility with arguments, and enhanced code readability.
5.

External Iteration and Argument Matching

Take a closer look at Kotlin's iteration methods, collections interaction, and `when` expressions for efficient control flow.
6.

Using Collections

8 Lessons

Simplify complex topics in Kotlin collections, enhancing safety and functional programming.
7.

Type Safety to Save the Day

8 Lessons

Approach type safety in Kotlin through null checks, smart casting, and generics.
8.

Objects and Classes

7 Lessons

Learn how to use Kotlin's streamlined object-oriented features and efficient class creation techniques.
9.

Class Hierarchies and Inheritance

7 Lessons

Discover the logic behind Kotlin's intricate class hierarchies, inheritance, and design principles.
10.

Extension Through Delegation

9 Lessons

Examine Kotlin's delegation for adaptable design, code reuse, and robust property management.
11.

Functional Programming with Lambdas

8 Lessons

Find out about Kotlin's functional programming with lambdas, closures, and performance optimization.
12.

Internal Iteration and Lazy Evaluation

5 Lessons

Deepen your knowledge of Kotlin's internal iteration, lazy evaluation, and performance optimization.
13.

Fluency in Kotlin

8 Lessons

Focus on writing fluent, expressive Kotlin code using operator overloading, extension functions, infix notation, and versatile object methods.
14.

Creating Internal DSLs

7 Lessons

Master the steps to design, enhance, and manage internal DSLs in Kotlin efficiently.
15.

Programming Recursion and Memoization

6 Lessons

Learn how to use recursion, tail call optimization, and memoization to enhance Kotlin performance.
16.

Exploring Coroutines

9 Lessons

Unpack the core of Kotlin's coroutines enhancing concurrency and asynchronous programming efficiency.
17.

Asynchronous Programming

5 Lessons

Examine asynchronous programming with Kotlin coroutines, focusing on concurrency, exception handling, and task management.
18.

Intermixing Java and Kotlin

5 Lessons

Grasp the fundamentals of integrating Kotlin with Java through joint compilation and interoperability techniques.
19.

Unit Testing with Kotlin

13 Lessons

Take a closer look at unit testing in Kotlin, from setup to advanced testing, tools, and integration.
20.

Programming Spring Applications with Kotlin

9 Lessons

See how Kotlin and Spring streamline development, reduce code, and enhance maintainability.
21.

Writing Android Applications with Kotlin

8 Lessons

Build on Kotlin's power to create Android apps, focusing on efficient and expressive development.
22.

Appendix

3 Lessons

Learn how to use Kotlin for JavaScript, native platforms, and WebAssembly targets.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor