We may earn an affiliate commission when you visit our partners.
Course image
Matt Greencroft and Virtual Pair Programmers

Kotlin is a programming language for the JVM (and also for Javascript and native code too) which was created by JetBrains - the company behind the IntelliJ IDE. It offers a number of enhancements over Java, including that it's less verbose, has immutable variables, and almost always gets rid of the NullPointerException. Compared to other JVM languages, such as Scala, Kotlin is an easy transition for Java developers, and the Kotlin team hope that it will eventually replace Java alltogether.

Read more

Kotlin is a programming language for the JVM (and also for Javascript and native code too) which was created by JetBrains - the company behind the IntelliJ IDE. It offers a number of enhancements over Java, including that it's less verbose, has immutable variables, and almost always gets rid of the NullPointerException. Compared to other JVM languages, such as Scala, Kotlin is an easy transition for Java developers, and the Kotlin team hope that it will eventually replace Java alltogether.

In this course we learn how to code in Kotlin, with a particular focus on how to build full stack Spring Boot applications with Kotlin.

This course is aimed at existing Spring Framework Java developers who want to upgrade their skills to use Kotlin instead of (or as well as) Java.

Enroll now

What's inside

Learning objective

Build fully functional, robust and efficient applications with spring boot and the kotlin programming language

Syllabus

What is Kotlin, and why Java developers should consider using it. Installing and configuring IntelliJ
What is Kotlin
Configuring and installing IntelliJ
Read more
How to get support while you're taking this course
Declaring strings, mutable and immutable varaibles, string templates and multi-line strings
Creating a new project in Kotlin
Creating a Kotlin hello world project - just to check everything is working
The syntax of declaring a variable - the var and val keywords
Inferring variable types
Using String templates
Creating a string with multiple lines
Workign with integers, doubles, bigdecimals etc. Assigning values to variables. Casting and smart casting
Using the Double data type, and determining class types in Kotlin
The Int data type
Other data types
Casting from one data type to another - the Java version
Casting from one data type to another - the Kotlin version
Chapter review - what we have learned in this chapter
What happens when variables can contain the value null.
Creating variables that can contain the value null
Running methods which work with nullable variables
The null-safe operator
The non-null asserted operator
The nothing object type
Defining function signatures and single expression functions
The function syntax, and the Unit object
Creating and calling top level functions
Single expression functions
Using named parameters when calling functions
Using optional parameters in functions
Parameter attributes are always immutable
Functions within a function
Functions that take a lambda parameter
Creating classes - the general class and the data class. Revisiitng val and var. Class attribute visibility and primary and secondary constructors
Project structure and packages
The class declaration, and adding attributes
Instantiating a class, and accessing the class attributes
Creating a simple constructor
Adding secondary constructors to a class
Alternative class design
Overriding getters and setters
Creating a dummy variable get method
Functions within a class
Overriding functions
Creating static functions
Data classes
Destructuring and ComponentN functions
Practicing what we have learned - converting some Java code to Kotlin
The challenge - explaining the Java code
Solution walkthrough
If, when, and object equality
The if keyword as an expression in kotlin
Assigning a variable using an if expression
Assigning values using if to do a null-safe check
The Elvis operator
Using the Elvis operator to overcome null-safe check smart cast compiler warning
The let function
Object equality
The when expression
The for and while loops and the range object type
The while loop
Using for to loop through a collection
Destructuring with a for loop
Looping with the Range object
Creating different types of ranges
Arrays, mutable and immutable collections
Mutable arrays with immutable variable assignments
Creating an immutable list
Creating a mutable list
Creating maps and sets
Working with Arrays in Kotlin
Practicing what we have learned
The challenge - explaining the requirements
How exceptions work in kotlin, try as an expression, and the use method
All exceptions in Kotlin are unchecked
Throwing exceptions
Try as an expression
Using the use expression to ensure resoruces are always closed
Unit testing with Junit
Using Junit with Kotlin
The Kotlin test assertions
Testing for exceptions
Inheritance and adding functions to a class (extension functions) - also creating custom exception classes.
Creating and implementing Interfaces
Class inheritance
Inheriting from classes with constructors
Implementing multiple interfaces
Creating custom exceptions
Adding functions to existing classes (extension functions)
Calling Kotlin code from Java
Providing values to non-nullable variables
Using data classes
Using immutable lists
Exception handling
Using static functions
Importing a Kotlin jar into a Java project
Starting an application and building a controller and a web page
Creating the project using the Spring Initializer
A hello world controller

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Useful for Java developers to sharpen their language and skillset
Focuses on Kotlin to develop full stack Spring Boot applications
Taught by Matt Greencroft and Virtual Pair Programmers, who have experience in Kotlin development
Has a structured curriculum that covers various aspects of Kotlin and Spring Boot development
Suitable for existing Spring Framework Java developers who want to transition to Kotlin

Save this course

Save Build Spring Boot Apps with the Kotlin Programming Language to your list so you can find it easily later:
Save

Reviews summary

Kotlin course for spring boot beginners

According to students, this course is an accessible introduction to using Kotlin for Spring Boot with engaging assignments. The course starts by reviewing the basics of the Kotlin programming language. The lectures then provide a quick introduction to Spring Boot. Students who are learning Kotlin for the first time may find this course especially useful.

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 Build Spring Boot Apps with the Kotlin Programming Language with these activities:
Create a Kotlin hello world project
Creating a very simple hello world project will help you setup your development tools and verify they are installed and working correctly as well as ensure that you are comfortable with the IDE
Show steps
  • Open your IDE of choice (e.g. IntelliJ)
  • Create a new Kotlin project
  • In the main function, write the code to print "Hello world" to the console
  • Run the project
Watch a tutorial on Kotlin variable assignment
Following a guided tutorial on variable assignment will help you understand how variables are declared and how they can be assigned values in Kotlin.
Browse courses on Variable Assignment
Show steps
  • Find a tutorial on Kotlin variable assignment
  • Watch the tutorial and take notes on the key concepts
  • Try out the concepts you learned in your own code
Practice writing Kotlin code to create and manipulate variables
Practicing writing Kotlin code to create and manipulate variables will help you reinforce your understanding of the material and improve your programming skills.
Browse courses on Variable Assignment
Show steps
  • Create a new Kotlin file
  • Declare several variables of different data types
  • Assign values to the variables
  • Print the values of the variables to the console
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in a peer session to discuss Kotlin exception handling
Participating in a peer session to discuss Kotlin exception handling will allow you to learn from others and share your own knowledge. This will help you to better understand the material and improve your programming skills.
Browse courses on Exception Handling
Show steps
  • Find a peer session or study group that is focused on Kotlin exception handling
  • Attend the session and actively participate in the discussion
  • Share your own knowledge and experiences with exception handling
Write a blog post about your experience learning Kotlin
Writing a blog post about your experience learning Kotlin will help you to reflect on what you have learned and share your knowledge with others. This will help you to better understand the material and improve your writing skills.
Browse courses on Kotlin
Show steps
  • Choose a topic for your blog post
  • Write an outline for your post
  • Write the first draft of your post
  • Edit and revise your post
  • Publish your post
Contribute to an open-source Kotlin project
Contributing to an open-source Kotlin project will allow you to learn from others and share your own knowledge. This will help you to better understand the material and improve your programming skills.
Browse courses on Kotlin
Show steps
  • Find an open-source Kotlin project that you are interested in
  • Read the project's documentation
  • Start working on a small contribution
  • Submit a pull request to the project
Mentor a junior developer who is learning Kotlin
Mentoring a junior developer who is learning Kotlin will allow you to share your knowledge and help others to grow. This will help you to better understand the material and improve your communication skills.
Browse courses on Kotlin
Show steps
  • Find a junior developer who is interested in learning Kotlin
  • Set up a regular meeting time
  • Create a learning plan
  • Provide feedback and support

Career center

Learners who complete Build Spring Boot Apps with the Kotlin Programming Language will develop knowledge and skills that may be useful to these careers:
Software Engineer
This course will help you become a Software Engineer. Kotlin is increasingly used by companies such as Pinterest, Google, Netflix, and Coursera. As the adoption of Kotlin increases, the demand for Software Engineers who are proficient in the language will grow. This course will teach you fundamental Kotlin concepts, such as declaring variables, using control flow, and working with objects and classes. You will also learn how to use Kotlin to build web applications with Spring Boot.
Full-Stack Developer
This course will help you become a Full Stack Developer. Full Stack Developers use programming languages to build both the front-end and back-end of web applications. Kotlin is a modern programming language that is well-suited for developing full stack applications. It is concise, easy to read, and has a number of features that make it a good choice for full stack development, such as its support for both front-end and back-end development. This course will teach you the fundamentals of Kotlin and how to use it to build full stack applications with Spring Boot.
Web Developer
This course will help you progress as a Web Developer. Kotlin is a modern programming language that is well-suited for developing web applications. It is concise, easy to read, and has a number of features that make it a good choice for web development, such as its support for lambdas and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build web applications with Spring Boot.
Backend Developer
This course will help you become a Backend Developer. Backend Developers use programming languages to build the server-side of web applications. Kotlin is a modern programming language that is well-suited for developing backend applications. It is concise, easy to read, and has a number of features that make it a good choice for backend development, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build backend applications with Spring Boot.
DevOps Engineer
This course may be useful for DevOps Engineers. DevOps Engineers use programming languages to automate the software development process. Kotlin is a modern programming language that is well-suited for developing DevOps tools. It is concise, easy to read, and has a number of features that make it a good choice for DevOps, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build DevOps tools.
Cloud Engineer
This course may be useful for Cloud Engineers. Cloud Engineers use programming languages to build and deploy cloud applications. Kotlin is a modern programming language that is well-suited for developing cloud applications. It is concise, easy to read, and has a number of features that make it a good choice for cloud development, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build cloud applications.
Technical Writer
This course may be useful for Technical Writers. Technical Writers use programming languages to write documentation for software and hardware products. Kotlin is a modern programming language that is well-suited for writing technical documentation. It is concise, easy to read, and has a number of features that make it a good choice for technical writing, such as its support for code snippets and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to write technical documentation.
Security Engineer
This course may be useful for Security Engineers. Security Engineers use programming languages to build and deploy security systems. Kotlin is a modern programming language that is well-suited for developing security systems. It is concise, easy to read, and has a number of features that make it a good choice for security development, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build security systems.
Systems Analyst
This course may be useful for Systems Analysts. Systems Analysts use programming languages to analyze and design computer systems. Kotlin is a modern programming language that is well-suited for developing systems analysis tools. It is concise, easy to read, and has a number of features that make it a good choice for systems analysis, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build systems analysis tools.
Mobile Developer
This course may be useful for Mobile Developers. Mobile Developers use programming languages to build mobile applications. Kotlin is a modern programming language that is well-suited for developing mobile applications. It is concise, easy to read, and has a number of features that make it a good choice for mobile development, such as its support for Android development. This course will teach you the fundamentals of Kotlin and how to use it to build mobile applications.
Data Scientist
This course may be useful for Data Scientists. Data Scientists use programming languages to analyze data and build models. Kotlin is a powerful programming language that can be used for a variety of data science tasks, such as data cleaning, data analysis, and machine learning. This course will teach you the fundamentals of Kotlin and how to use it for data science tasks.
Blockchain Developer
This course may be useful for Blockchain Developers. Blockchain Developers use programming languages to build and deploy blockchain applications. Kotlin is a modern programming language that is well-suited for developing blockchain applications. It is concise, easy to read, and has a number of features that make it a good choice for blockchain development, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build blockchain applications.
Machine Learning Engineer
This course may be useful for Machine Learning Engineers. Machine Learning Engineers use programming languages to build and deploy machine learning models. Kotlin is a powerful programming language that can be used for a variety of machine learning tasks, such as data preprocessing, feature engineering, and model training. This course will teach you the fundamentals of Kotlin and how to use it for machine learning tasks.
Data Engineer
This course may be useful for Data Engineers. Data Engineers use programming languages to build and deploy data pipelines. Kotlin is a modern programming language that is well-suited for developing data pipelines. It is concise, easy to read, and has a number of features that make it a good choice for data engineering, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build data pipelines.
Game Developer
This course may be useful for Game Developers. Game Developers use programming languages to build video games. Kotlin is a modern programming language that is well-suited for developing video games. It is concise, easy to read, and has a number of features that make it a good choice for game development, such as its support for concurrency and its null safety features. This course will teach you the fundamentals of Kotlin and how to use it to build video games.

Reading list

We've selected eight 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 Build Spring Boot Apps with the Kotlin Programming Language.
"Kotlin in Action" comprehensively covers Kotlin from the basics to advanced topics, making it a great supplementary book to this course. It delves into the language's features, best practices, and design patterns, providing a deeper understanding of Kotlin's capabilities and nuances.
Practical guide to using Kotlin for building Android apps. It covers a wide range of topics, including creating user interfaces, working with data, and testing your apps. It also includes several case studies to help you learn how to apply Kotlin in real-world projects.
Practical guide to using Kotlin for building Android apps. It covers a wide range of topics, including creating user interfaces, working with data, and testing your apps. It also includes several case studies to help you learn how to apply Kotlin in real-world projects.
Collection of recipes for solving common programming problems in Kotlin. It covers a wide range of topics, including working with strings, collections, and dates. It also includes several recipes for working with Android and Java.
Provides a comprehensive overview of the Kotlin programming language. It covers all the major features of Kotlin, including its syntax, object-oriented programming, and functional programming capabilities. It also includes several case studies to help you learn how to apply Kotlin in real-world projects.
Fun and engaging way to learn Kotlin. It uses a visual approach to explain the concepts of Kotlin, making it easy to understand even for beginners. It also includes several exercises and projects to help you practice what you have learned.
"Head First Kotlin" introduces Kotlin in a creative and engaging way, using interactive exercises and real-world examples. It covers the basics of the language, including its syntax, data types, and object-oriented programming, making it suitable for beginners or those seeking a refresher.
"Dependency Injection with Spring" explores the principles and practices of dependency injection in Spring applications. While it is not Kotlin-specific, it provides a solid foundation for understanding how to use dependency injection effectively, which is essential for building scalable and maintainable Spring Boot applications.

Share

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

Similar courses

Here are nine courses similar to Build Spring Boot Apps with the Kotlin Programming Language.
Kotlin for Java Developers
Most relevant
Spring Framework 2: Creating Your First Spring Boot...
Most relevant
Apache Maven: Beginner to Guru
Most relevant
Getting Started with Kotlin
Most relevant
Spring Framework 6: Beginner to Guru
Most relevant
Spring Framework 5: Beginner to Guru
Most relevant
[NEW] Spring Boot 3, Spring 6 & Hibernate for Beginners
Most relevant
Learn AWS - Deploy Java Spring Boot to AWS Elastic...
Most relevant
Building Your First App with Spring Boot 2 and Angular 5
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