Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Kotlin for Java Developers

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Advance your programming skills by learning Kotlin through the lens of Java. This book guides experienced developers through Kotlin fundamentals, syntax differences and modern language features using concise examples and a Java-first approach. This course equips Java developers with the skills to transition smoothly into Kotlin, focusing on practical, production-ready knowledge. It covers essential Kotlin concepts, from syntax and safety features to advanced topics like coroutines and DSLs. Designed for real-world application, it helps learners build modern, reliable applications with confidence. This course is ideal for Java developers looking to expand their skills into Kotlin for Android, backend, or cross-platform development. It assumes a solid understanding of Java syntax and object-oriented programming. Learners will gain the ability to write idiomatic Kotlin and apply it confidently in professional settings. Designed for Java developers, this book offers a hands-on path to mastering Kotlin. Through practical examples and side-by-side comparisons, it covers key topics like OOP, generics, and interoperability - equipping readers to write concise, idiomatic Kotlin code with real-world impact. This course is based on Kotlin for Java Developers, by José Dimas Luján Castillo and Ron Veen. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you.

Syllabus

  • An Introduction to Kotlin and Its Basic Types
    • 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.
  • Interoperability, Gradle, and Maven
    • 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.
  • Null and Non-Nullable Types
    • 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.
  • Extension Functions and the Apply Function
    • 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.
  • Object-Oriented Programming Basics
    • 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.
  • Generics and Variance
    • 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.
  • Data and Sealed Classes
    • 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.
  • Basics of Functional Programming
    • 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.
  • Lambda
    • 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.
  • Collections and Sequences
    • 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.
  • Coroutines
    • 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.
  • Synchronous and Asynchronous Programming
    • 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.
  • Kotlin Testing
    • 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.
  • Domain-Specific Languages in Kotlin
    • 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.

Taught by

Packt - Course Instructors

Reviews

Start your review of Kotlin for Java Developers

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.