Packt

Kotlin for Java Developers

Ends soon! Get $70+ in savings and build skills with Coursera Plus. Save 40% for 3 months.

Packt

Kotlin for Java Developers

Included with Coursera PlusLearn more

Gain insight into a topic and learn the fundamentals.
1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

September 2026

Assessments

15 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 14 modules in this course

This module introduces Kotlin's core features and its relationship with Java, focusing on type systems, null safety, and practical implementation. Learners will gain foundational knowledge of Kotlin's syntax, access modifiers, and how to integrate it into existing Java projects. The module emphasizes writing safer and more expressive code through Kotlin's unique type handling and features.

What's included

1 video8 readings1 assignment

This module covers the integration of Kotlin and Java, focusing on interoperability, Gradle, and Maven configuration. Learners will gain practical skills in setting up and managing Kotlin projects alongside Java code, as well as understanding the role of build tools in modern development workflows.

What's included

1 video7 readings1 assignment

This module covers Kotlin's nullability features, focusing on how to handle null and non-nullable types effectively. It explores tools like safe calls, the Elvis operator, and the !! operator, helping learners write safer and more reliable code. Learners will gain practical skills in managing null values in real-world programming scenarios.

What's included

1 video4 readings1 assignment

This module covers Kotlin's extension functions and scope functions like apply, explaining how they improve code readability and maintainability. It explores practical use cases, including integrating Kotlin features with Java, and introduces companion objects and init blocks for class initialization. Learners will gain the skills to write cleaner, more flexible code using these advanced Kotlin concepts.

What's included

1 video6 readings1 assignment

This module introduces the fundamental concepts of object-oriented programming (OOP) in Kotlin, covering classes, methods, constructors, and modifiers. Learners will gain a solid understanding of how to structure code using OOP principles and develop skills in creating and managing objects efficiently.

What's included

1 video8 readings1 assignment

This module covers the fundamentals of Kotlin generics, including their advantages over Java, how to implement them in functions, and the importance of variance in type relationships. Learners will gain an understanding of when and how to effectively use generics to write flexible and type-safe code. The module also explores reified types and covariance to enhance code clarity and functionality.

What's included

1 video8 readings1 assignment

This module covers the use of data classes, sealed classes, and enums in Kotlin to improve data modeling, class hierarchy control, and constant management. Learners will gain an understanding of how these constructs lead to cleaner, more maintainable code. The module also explores the differences between JavaBeans and POJOs, and introduces sealed interfaces for behavior-focused type hierarchies.

What's included

1 video6 readings1 assignment

This module covers essential concepts in functional programming using Kotlin, including higher-order functions, lambdas, immutability, and inline functions. It explores how Kotlin supports these principles and their implications for code efficiency and readability. Learners will gain practical insights into translating Kotlin code to Java bytecode.

What's included

1 video5 readings1 assignment

This module explores the use of lambdas, higher-order functions, and receivers in Kotlin, focusing on how they enhance code readability and efficiency. Learners will gain practical skills in writing concise and expressive code, as well as understanding how to work with collections in a functional style.

What's included

1 video7 readings1 assignment

This module delves into Kotlin's collections and sequences, comparing them with Java's Stream API. Learners will explore functional programming techniques for data manipulation and understand the advantages of using Kotlin's concise and powerful collection operations. The module also covers integrating Java and Kotlin code for efficient data handling.

What's included

1 video8 readings1 assignment

This module delves into the fundamentals of Kotlin coroutines, covering their implementation, handling of timeouts and cancellations, and the role of context and scope in managing asynchronous operations. Learners will gain the ability to write efficient, non-blocking code and understand how coroutines enhance application performance and responsiveness.

What's included

1 video4 readings1 assignment

This module explores the fundamentals of asynchronous programming in Kotlin, focusing on key concepts like suspended functions, channels, and exception handling. Learners will gain the skills to write efficient, non-blocking code that improves application performance and user experience.

What's included

1 video7 readings1 assignment

This module covers the fundamentals of testing in Kotlin, including unit and integration testing, and introduces popular testing frameworks like JUnit and Kotest. Learners will gain practical knowledge on how to write effective tests and evaluate the best tools for their projects. The module emphasizes best practices for ensuring software reliability and maintainability.

What's included

1 video3 readings1 assignment

This module introduces the concept of Domain-Specific Languages (DSLs) in Kotlin, focusing on how to build internal DSLs that enhance code readability and type safety. Learners will explore practical examples and real-world applications, including how to define domain models and create expressive language structures. The module also covers advanced Kotlin features that can be used to refine DSLs for better usability and clarity.

What's included

1 video4 readings2 assignments

Instructor

Packt - Course Instructors
Packt
2,257 Courses675,057 learners

Offered by

Packt

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions