To undertake this course you should have basic Java experience, as the approach is to convert your Java knowlege and skills to Kotlin, rather than to teach programming from scratch. You should also have basic experience of building Spring Boot applications.
Having problems? check the errata for this course.
1 |
Introduction |
Preview
17m 54s |
|
What is Kotlin, and why Java developers should consider using it. Installing and configuring IntelliJ. | |||
2 |
Strings |
Watch
26m 9s |
|
We start by declaring string variables. We'll learn about how Kotlin differentiates between mutable and immutable variables, and see some of the enhancements from the Java String such as string templates and multi-line strings. | |||
3 |
Data Types |
Watch
25m 44s |
|
We'll understand how to use the numeric data types in Kotlin, such as integers, doubles and big Decimals. This will include assigning values to immutable variables, and how to cast variables to different data types. Kotlin also has a feature called smart casting which can reduce the amount of times we need to cast a variable to a different data type. | |||
4 |
Nullable Variables |
Watch
14m 25s |
|
What happens when variables can contain the value null? | |||
5 |
Functions |
Watch
24m 21s |
|
Functions are the Kotlin equivalent of Java methods - here we'll learn how to create functions - the standard function signature and single line expression functions | |||
6 |
Classes |
Watch
44m 10s |
|
Creating classes - the general class and the data class. We'll see how attributes are declared in classes, where they are visible, and we'll revisit the val and var keywords. We'll also cover class constructors. | |||
7 |
Exercise 1 |
Watch
14m 24s |
|
This chapter is a practical exercise - to give you a chance to practice what we have learned so far. | |||
8 |
If and Equality |
Watch
27m 12s |
|
If is an expression in Kotlin. We'll understand how it differs from Java's if statement, and we'll learn about how to create multiple if statements with the when expression. This chapter also covers testing for object equality in Kotlin. | |||
9 |
Loops and Ranges |
Watch
16m 4s |
|
Kotlin has specific syntaxes for the for and while loops. Part of this requires an object type called a range, so we'll learn about these also in this chapter. | |||
10 |
Collections |
Watch
12m 56s |
|
We'll now dive into how mutable and immutable collections are created and used in Kotlin. This will also include how to use arrays. | |||
11 |
Exercise 2 |
Watch
15m 55s |
|
This chapter is a practical exercise - to give you a chance to practice what we have learned so far. | |||
12 |
Exceptions |
Watch
14m 59s |
|
All exceptions in Kotlin are unchecked - we'll understand what this means, and how it impacts our code. We'll create try-catch blocks, with try as an expression, and we'll see the use keyword. | |||
13 |
Unit Testing |
Watch
14m 28s |
|
You can write unit tests with Junit for your Kotlin applications. We'll consider how these work, and talk a little about a Test Driven Development approach for building Kotlin applications. | |||
14 |
Interfaces and Extending |
Watch
17m 11s |
|
It's time for object orientation. We'll learn how Inheritance and Interfaces work in Kotlin. We'll also see how you can add functions to a class (extension functions). This knowlege will also allow us to create custom exception classes. | |||
15 |
Java Interoperability |
Watch
19m 28s |
|
We cover calling Java code from Kotlin throughout this course, so this chapter is dedicated to how we can call Kotlin code from Java. We focus on some of the issues you need to consider as a Kotlin developer if you know that Java developers will be wanting to call your code. | |||
16 |
Spring Boot |
Watch
41m 9s |
|
We're finally ready to introduce Spring Boot. In this chapter we start a new Spring Boot application. We'll build a controller and a web page | |||
17 |
Functional Programming |
Watch
35m 56s |
|
Kotlin supports both object oriented and functional programming approaches to code, and the functional programming options are much simpler and more powerful than Java 8's Lambdas. In this chapter we learn what functional programming means, and see how we can use it to simplify manipulating collections. | |||
18 |
Hibernate |
Watch
18m 0s |
|
We're now ready to expand our Spring Boot application by connecting it to a database, and use Hibernate / JPA to manipulate our data | |||
19 |
Exercise 3 |
Watch
44m 54s |
|
A practical exercise for you to build up our Spring project and use functional programming. There are some real challenges in this exercise, but by the end you'll see how we can build effective applications in Spring using Kotlin. | |||
20 |
Reflection |
Watch
21m 33s |
|
In this final chapter we cover reflection - the ability to look inside a class and access its attributes and methods without knowing their names. We'll see how we can use it to further enhahnce our Spring project. |