I've recently worked through Tim Buchalka's Learn Programming Academy Kotlin for Java Developers Udemy course and want to give you my review of it. The main description of this course says the following:
Use your Java skills to learn Kotlin fast. Enhance career prospects and master Kotlin, including Java interoperability
I started this course with the main intention to learn the basics of Kotlin, how it interoperates with Java and how it differentiates from it. The following sections will take a closer look at different characteristics like structure, content, length, etc.
TL/DR; I can totally recommend this course if you are a Java developer and want a first overview of Kotlin. The course focuses on writing Kotlin-style (simple & concise) code and covers all major topics.
Course structure
You start off with a simple text-adventure game written in Java which makes use of console- and user interaction, file-handling, loops, and classes. Right at the beginning, the game gets converted to Kotlin and you can see the first differences without understanding them in detail at this point.
After this conversion, the actual course content starts. There are the following seven main chapters which discuss the topics all in detail:
- Basic Differences between Kotlin and Java
- Data Types and Null Reference Handling
- OO and Kotlin: CLasses, Functions, Inheritance
- Loops, and the If, When, and Try/Catch Expression
- Lambda Expressions, Collections, and Generics,
- File I/O
- Java Interoperability
At the end of the course, you'll revisit the game and understand the Kotlin code in detail.
Course content
While most of the other Kotlin courses on Udemy focus on Android Development, this course does not cover Android at all. Most of the course content goes to understanding how object orientation and lambda expressions work with Kotlin.
For nearly every topic, you'll first see the corresponding Java code and then it gets converted step-by-step to Kotlin. The course author also makes it important to teach how to write Kotlin-style code and be really concise.
After every major section, you'll also receive Kotlin Challenges which test your understandings of the previously discussed topic and you can solve these small coding challenges on your machine.
During the course, you don't develop a full application where you have to follow every video in sequence. So you can also just watch the chapters which you are most interested in and skip the others.
Course length
The whole course consists of 16,5 hours of video content and most of the videos have a length of 15 – 25 minutes which is good to work with. Watching the videos at the normal speed you are also able to pair-program with the author and try the examples in your IDE.
Course up-to-dateness
The author uses IntelliJ 2017, Java 8 and Kotlin 1.1.2-2 (current version as of June 2019 is 1.3.40) during the whole course. This indicates that the course content is two years old. This is acceptable as most of the basics (loops, inheritance, functions, etc.) did not change. For the latest features of Kotlin, you might have to look at the release notes for yourself.
This is my only pain point of this excellent course, as no updates were made to this course to include features of the latest versions.
After working through Kotlin for Java Developers, you'll be able to start your first Kotlin project. If you are looking for further recommendations for online courses, books, or YouTube channels to improve your skills, have a look at the Essential Developer Resources (Java, Spring, Java EE)
Have fun with this course,
Phil