We may earn an affiliate commission when you visit our partners.
Course image
Tim Buchalka, Goran Lochert, and Tim Buchalka's Learn Programming Academy

Are you a Java developer wondering if you need to learn Kotlin?

Maybe you are an experienced Java developer who wants to learn Kotlin quickly, to be prepared for future project work.

Perhaps instead, you're an Android app developer who knows Java well, but you want to be able to move forward with Kotlin for new Android development work.

Read more

Are you a Java developer wondering if you need to learn Kotlin?

Maybe you are an experienced Java developer who wants to learn Kotlin quickly, to be prepared for future project work.

Perhaps instead, you're an Android app developer who knows Java well, but you want to be able to move forward with Kotlin for new Android development work.

Well, with Google's recent focus on Kotlin for Android app development, this language has been launched into the mainstream, and you can be sure you will be seeing a lot more about it. It's also highly likely that you will be working with Kotlin in your Java projects in the near future.

Because Kotlin works anywhere Java works, and can even be called from Java code (and vice-versa), this brings with it a massive opportunity for Java developers. Being able to work with both Java and Kotlin is going to give you a massive advantage over other programmers.

This course was designed to teach Java developers how to use Kotlin in the shortest possible time.

Sarah Ettritch, your course instructor, is an experienced Java and Kotlin developer, with many years of software development experience. She is uniquely qualified to teach you how to use this powerful and exciting language.

While you won't learn Android app development in this course, you will learn Kotlin, and also the key differences between Kotlin and Java.

There is an entire section dedicated to Java interoperability, which is vital for all Java developers to learn.

In addition, the Kotlin syntax is explored in detail.

Over sixteen hours of videos are included in the course, making it one of the most comprehensive courses on the language.

Now is the perfect time for you to learn Kotlin, while it's relatively new. It has been around for a while, but only now is it being thrust into the limelight.

It's absolutely vital for Java developers to learn Kotlin to maximize future career opportunities. Objective-C developers who failed to transition to Swift, or were too slow doing so, were left behind. Don't make the same mistake they did.

If you are ready to greatly increase your career prospects by adding Kotlin experience to your skills and knowledge, then sign up for the course today.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Create kotlin programs
  • Understand the differences between java and kotlin
  • Understand how java and kotlin programs interoperate

Syllabus

Introduction to the Course
Introduction From Tim Buchalka
Introduction to the course
JDK8 Install Windows
Read more
JDK8 Install Mac
JDK8 Install Linux
Intellij Windows Install and Configure
Intellij Mac Install and Configure
Intellij Linux Install and Configure
IntelliJ Kotlin Settings
Introduction to Kotlin
Introduction to Section 2
The Java Text Adventure Game
The Converted Kotlin Text Adventure Game
IDEA's Java to Kotlin Converter
Basic Differences Between Kotlin and Java
Introduction to Section 3
Hello World from Kotlin
The Kotlin Standard Library
Variable Declarations in Kotlin
How to Create Type Aliases in Kotlin
Quick Differences Between Kotlin and Java
How Kotlin handles equality differently from Java
Bit Operators and Smart Casting in Kotlin
String Templates in Kotlin
Raw Strings in Kotlin
The Kotlin REPL
Kotlin Challenges (Round One)
Data Types and Null Reference Handling
Introduction to Section 4
The Builtin Dataypes in Kotlin
Arrays in Kotlin
Null References in Kotlin - Part One
Null References in Kotlin - Part Two
Arrays and Null References
Kotlin Challenges (Round Two)
OO and Kotlin: Classes, Functions, Inheritance
Introduction to Section 5
Kotlin's Access Modifiers
Declaring Classes and Using Constructors in Kotlin
Properties and Backing Fields in Kotlin
Constants and Data Classes
Kotlin Function Basics
Extension Functions
Inline Functions
Inheritance in Kotlin - Part One
Inheritance in Kotlin - Part Two
Interfaces in Kotlin
Singletons in Kotlin
Companion Objects in Kotlin
Anonymous Objects in Kotlin
Enums in Kotlin
Imports in Kotlin
The Internal Access Modifier
Kotlin Challenges (Round Three, Part 1)
Kotlin Challenges (Round Three, Part 2)
Loops, and the If, When, and Try/Catch Expressions
Introduction to Section 6
The For Loop
The If Expression
The When Expression
The Try/Catch Expression
Kotlin Challenges (Round Four)
Lambda Expressions, Collections, and Generics
Introduction to Section 7
Lambda Expression Basics
Lambdas With Receivers
Lists
Kotlin Collections Functions
Maps and Destructuring Declarations
Sets in Kotlin
More Collections Functions in Kotlin
Sequences in Kotlin
Generics in Kotlin
Generics: Functions and Erasure
Generics: Reified Parameters in Kotlin
Generics: Covariance
Generics: Contravariance
Generics: Use-Site Variance
Kotlin Challenges (Round Five)
File I/O
Introduction to Section 8
Reading Text Files
Reading Binary Files and Try with Resources
Walking the File Tree
Java Interoperability
Introduction to Section 9
Nullability when using Java from Kotlin
More about calling Java from Kotlin
Calling Kotlin Functions from Java
Annotations when calling Kotlin from Java
Kotlin Challenges (Round Six)
Course Wrap Up
Introduction to Section 10
Revisit the Converted Kotlin Text Adventure
Kotlin for Java Developers Wrap Up
Tell Us What Content You Want Us To Add!
Extra Information - Source code, and other stuff
Source code

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines Kotlin in detail, a highly relevant technology for Java developers
Covers basic differences between Kotlin and Java
Taught by experienced Java and Kotlin developers
Offers hands-on practice with Kotlin challenges
Provides a comprehensive overview of Kotlin syntax

Save this course

Save Kotlin for Java Developers to your list so you can find it easily later:
Save

Reviews summary

Kotlin for java programmers

According to students, this course offers enough context to new concepts in Kotlin for those already familiar with Java and C#. While reviewers say that this course was helpful in getting up to speed when joining a team using Kotlin, the lectures may be more suitable for those with some prior experience with Kotlin or object-oriented programming in general.
Helpful for understanding the implications of having Java call Kotlin and vice versa.
"...It has been good to understand the implications of looking at how Java can call Kotlin and vise versa as I expect to be running into more of those challenges in the future."
Good course for transitioning from Java to Kotlin.
"I joined a team using Kotlin in the last two weeks, and this course has enabled me to get up and going and understand some of the things that initially seemed weird about Kotlin."
May be more beneficial for those with some prior knowledge of Kotlin or object-oriented programming concepts.
"I felt that there was enough context to new concepts...to understand what they are for, when to use them and why they are beneficial."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Kotlin for Java Developers with these activities:
Organize your course materials
Organizing your course materials will help you stay on track and make it easier to find the information you need.
Show steps
  • Create a folder for your course materials
  • Save all of your handouts, notes, and assignments in the folder
  • Organize the folder into subfolders, if necessary
Review Java interoperability with Kotlin
Reviewing Java interoperability with Kotlin will help you understand how to use Java code in Kotlin projects.
Browse courses on Java Interoperability
Show steps
  • Read through the Kotlin documentation on Java interoperability
  • Complete some exercises on Java interoperability in Kotlin
Revisit Java programming basics
Reviewing Java programming basics will help you refresh your knowledge and prepare for learning Kotlin.
Browse courses on Java 8
Show steps
  • Read through a Java tutorial
  • Complete some Java coding exercises
  • Review Java documentation
Two other activities
Expand to see all activities and additional details
Show all five activities
Follow Kotlin tutorials
Following Kotlin tutorials will help you learn the basics of the language and get started with writing Kotlin code.
Browse courses on Kotlin
Show steps
  • Find a Kotlin tutorial for beginners
  • Work through the tutorial, completing all the exercises
  • Experiment with Kotlin code on your own
Solve Kotlin coding challenges
Solving Kotlin coding challenges will help you practice your Kotlin skills and improve your problem-solving abilities.
Browse courses on Kotlin
Show steps
  • Find a website or platform that offers Kotlin coding challenges
  • Select a challenge that is appropriate for your skill level
  • Work through the challenge, trying to solve it on your own
  • If you get stuck, refer to the challenge solution or ask for help online

Career center

Learners who complete Kotlin for Java Developers will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers translate designs into code, create software prototypes, and constantly test and debug software to avoid or fix any issues. This course can help build a foundation in Kotlin for software developers specializing in Java. While it does not cover Android development, it does teach Kotlin and its key differences from Java. Familiarity with object-oriented programming, data types, and null reference handling are all covered. These topics are commonly required in the field of software development.
Software Engineer
Software Engineers apply engineering principles to design, develop, implement, and test software and its related systems. They create software prototypes and implement those designs into working applications. This course can help provide a foundation in Kotlin for software engineers. While it does not cover Android development, it does teach Kotlin and its key differences from Java, along with advanced topics like Kotlin functions, expressions, and generics.
Web Developer
Web Developers are responsible for the design and development of websites and web applications. They work with programming languages, markup languages, and scripting languages to create functional websites that meet the needs of users. This course can help build a foundation in Kotlin for web developers who work with Java. While it does not cover web development specifically, it does teach Kotlin and its key differences from Java.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. This course may be useful for data scientists familiar with Java programming who want to expand their skillset into Kotlin. While it does not cover data science specifically, it does teach Kotlin and its key differences from Java, along with advanced topics like Kotlin functions, expressions, and generics.
Data Analyst
Data Analysts translate raw data into meaningful insights that can help organizations make informed decisions. This course may be useful for data analysts familiar with Java programming who want to expand their skillset into Kotlin. While it does not cover data analysis specifically, it does teach Kotlin and its key differences from Java, along with advanced topics like Kotlin functions, expressions, and generics.
Quality Assurance Engineer
Quality Assurance Engineers are responsible for ensuring that software products meet the required standards of quality. They work with developers to identify and fix bugs, and to improve the overall quality of the software. This course can help build a foundation in Kotlin for quality assurance engineers who work with Java. While it does not cover quality assurance specifically, it does teach Kotlin and its key differences from Java.
Computer Programmer
Computer Programmers code, test, debug, and maintain computer programs and applications. They work with software engineers and other developers to create and maintain software systems. This course can help build a foundation in Kotlin for computer programmers who work with Java. While it does not cover programming specifically, it does teach Kotlin and its key differences from Java.
Computer Systems Analyst
Computer Systems Analysts are responsible for analyzing and designing computer systems to meet the needs of businesses and organizations. They work with stakeholders to gather requirements, and then design and implement systems that meet those requirements. This course may be useful for computer systems analysts who work with Java and want to expand their skillset into Kotlin. While it does not cover systems analysis specifically, it does teach Kotlin and its key differences from Java.
Information Technology Specialist
Information Technology Specialists provide technical support to users of computer systems and networks. They assist users with troubleshooting problems, installing and maintaining software, and providing training on new technologies. This course may be useful for IT specialists who work with Java and want to expand their skillset into Kotlin. While it does not cover IT support specifically, it does teach Kotlin and its key differences from Java.
Software Architect
Software Architects design, develop, and maintain software systems. They work with stakeholders to gather requirements, and then design and implement systems that meet those requirements. This course may be useful for software architects who work with Java and want to expand their skillset into Kotlin. While it does not cover software architecture specifically, it does teach Kotlin and its key differences from Java.
Mobile Application Developer
Mobile Application Developers design, develop, and maintain mobile applications. They work with stakeholders to gather requirements, and then design and implement applications that meet those requirements. While this course does not cover mobile application development, it does teach Kotlin, which is a popular language for Android development.
Full-Stack Developer
Full Stack Developers are responsible for the design, development, and maintenance of both the front-end and back-end of websites and web applications. They work with stakeholders to gather requirements, and then design and implement systems that meet those requirements. This course may be useful for full stack developers who work with Java and want to expand their skillset into Kotlin. While it does not cover full stack development specifically, it does teach Kotlin and its key differences from Java.
Database Administrator
Database Administrators are responsible for the design, development, and maintenance of databases. They work with stakeholders to gather requirements, and then design and implement databases that meet those requirements. This course may be useful for database administrators who work with Java and want to expand their skillset into Kotlin. While it does not cover database administration specifically, it does teach Kotlin and its key differences from Java.
Network Engineer
Network Engineers design, develop, and maintain computer networks. They work with stakeholders to gather requirements, and then design and implement networks that meet those requirements. This course may be useful for network engineers who work with Java and want to expand their skillset into Kotlin. While it does not cover network engineering specifically, it does teach Kotlin and its key differences from Java.
Information Security Analyst
Information Security Analysts are responsible for protecting an organization's information systems from unauthorized access, use, disclosure, disruption, modification, or destruction. They work with stakeholders to identify and assess risks, and then develop and implement security measures to mitigate those risks. This course may be useful for information security analysts who work with Java and want to expand their skillset into Kotlin. While it does not cover information security specifically, it does teach Kotlin and its key differences from Java.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Kotlin for Java Developers.
Provides a comprehensive introduction to Kotlin, covering the basics of the language as well as more advanced topics such as coroutines and functional programming. It valuable resource for Java developers who want to learn Kotlin quickly and effectively.
Comprehensive guide to Kotlin, covering everything from the basics of the language to advanced topics such as concurrency and functional programming. It valuable resource for both beginners and experienced Kotlin developers.
Π’ этой ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся язык программирования Kotlin, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ синтаксис, сСмантику ΠΈ особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Она Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠ°ΠΊ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.
This second edition of Kotlin in Action has been updated to cover the latest features of Kotlin 1.4. It valuable resource for both beginners and experienced Kotlin developers who want to learn how to use the language effectively.
Comprehensive guide to Kotlin, covering everything from the basics of the language to advanced topics such as concurrency and functional programming. It valuable resource for experienced Kotlin developers who want to learn more about the language.
Is specifically designed for Android developers who want to learn Kotlin. It covers all the basics of the language, as well as more advanced topics such as working with Android Studio and developing Android applications.
Great option for beginners who want to learn Kotlin in a fun and engaging way. It uses a hands-on approach to teaching the language, and it is full of helpful examples and exercises.
Comprehensive guide to using Kotlin for game development. It covers all the basics of the language, as well as more advanced topics such as working with game engines and developing 2D and 3D games.
Collection of practical examples and recipes for using Kotlin in real-world projects. It valuable resource for experienced Kotlin developers who want to learn how to use the language effectively.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Kotlin for Java Developers.
Kotlin for Beginners: Learn Programming With Kotlin
Most relevant
Android Apps with Kotlin: Tools and Testing
Most relevant
Kotlin for Android Developers
Most relevant
Kotlin for Java Developers
Most relevant
Android 14 App Development Bootcamp 2024 - Build a...
Most relevant
Switch to Kotlin from Java for Android Development
Most relevant
Getting Started with Android Development
Most relevant
Working with Data in Android
Most relevant
Building Android Apps with Kotlin: Getting Started
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

Β© 2016 - 2024 OpenCourser