Programming in Kotlin: Fundamentals
Learn the fundamental building blocks of Kotlin, through hands-on exercises and challenges! Explore the world of data types, comparison and logical operators, loops, control flow and functions and more. By Emmanuel Okiche.
Learning path
This is part of the Android & Kotlin for Beginners learning path. View path.
Who is this for?
Beginner developers who’ve had some or no experience with Kotlin, who want to gain in-depth knowledge of this majestic programming language!
You’ll learn a ton of fun and useful Kotlin concepts, starting off with data types and operators, then moving towards more complex features like statements & expressions, loops, and the flow of control. Then building on those concepts, you’ll learn about functions and null safety in Kotlin.
Sound like fun? Let’s dive in!
This course isn’t suitable for experienced developers. If you’re looking for more complex topics, check out our intermediate or advanced Kotlin and Android courses.
Covered concepts
This course is jam-packed with the fundamentals to give you a solid grounding for your Kotlin adventures. Here are some of the concepts you’ll conquer along the way:
- Data Types
- Operations With Types
- Logical Operators
- Statements vs. Expressions
- Nullable Types & Null Safety
- Loops
- Control Flow
- Nesting Expressions & Loops
- Functions
- Parameters vs. Arguments
- Scopes
Part 1: Use Data Types & Operations
Welcome to Programming in Kotlin: Fundamentals! Get an overview of the course, and what topics you’ll cover in the first part.
Download and install the IDE you’ll be using throughout the course, and start working with Kotlin by creating a project.
Learn about variables, constants, basic data types and comments.
Learn about the Boolean type which represents a true or false value, and how to create it using comparison operators.
Challenge time! Practice comparing values in order to create Boolean values, which can be true or false, then print out those values.
Learn how to use multiple Boolean values with logical operators, to combine and create complex conditions.
Branch out your code, to have multiple different execution flows, using if/else expressions and create code scopes.
Practice what you’ve learned about if/else expressions, Boolean values, and logical operators.
Revise what you’ve learned in the first part of the course, and repeat all the concepts by solving a fun challenge.
Part 2: Manage Control Flow
You’re doing great! In this part of the course, you’ll expand your Kotlin knowledge by mastering the concept of control flow.
Learn how to utilize the while loop, to repeat your code multiple times. Iterate over collections using loops.
Challenge time! Use your new skills and practice using while loops to iterate over collections and print data out.
Add another loop to your loop belt: the for loop. Learn how ranges let you repeat the code a fixed number of times.
Practice creating various ranges and for loops, to print data sequentially, by steps, and in reverse.
Learn about break and continue statements and also learn how to create nested loops and work with labels.
Learn about the when expression, a more concise larger set of if/else expressions. Use when to return values.
Practice using when expressions, to return values for constants and variables. Build complex checks that rely on smart casts.
You’re over halfway through the course! In this episode, review everything you’ve learned about control flow.
Part 3: Functions & Nullability
In this part of the course, you’ll learn about nullability and how to write your own functions.
Sometimes values don’t exist! Prepare for such cases by learning about Nullable Types and how to handle them.
Practice dealing with Nullable Types, and null
, using the safe call operator, the Elvis operator, and null-checks.
Learn what the function syntax is, and how to write your own functions. Create functions to reuse behavior.
Learn about all the ways to return data from functions, and how to utilize expressions for the returns.
Use what you’ve learned about using and creating functions to solve this challenge!
Review the concepts you learned in this part of the course, and find out what’s next!