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, functions, classes as custom types, and more. By Filip Babić.

Leave a rating/review
Download materials
Save for later
Comments
Share

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 upon those concepts, you'll play with collections, functions and classes.

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
  • Loops
  • Control Flow
  • Collections
  • Pairs & Triples
  • Nesting Expressions & Loops
  • Functions
  • Parameters vs. Arguments
  • Scopes
  • Classes
  • Custom Types
  • Methods vs. Functions
  • Data Models
  • Mutability

Part 1: Use Data Types & Operations

01
Toggle description

Welcome to Programming in Kotlin: Fundamentals! Get an overview of the course, and what topics you'll cover in the first part.

Toggle description

Set up the IDE you'll be using throughout the course, and start working with variables, constants, basic data types and comments.

Toggle description

Learn about the Boolean type which represents a true or false value, and how to create it using comparison operators.

Toggle description

Challenge time! Practice comparing values in order to create Boolean values, which can be true or false, then print out those values.

Toggle description

Learn how to use multiple Boolean values with logical operators, to combine and create complex conditions.

Toggle description

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.

Toggle description

Sometimes values don't exist! Prepare for such cases by learning about Nullable Types and how to handle them.

Toggle description

Practice dealing with Nullable Types and null, using the safe call operator, the Elvis operator, and null-checks.

Conclusion 3:46
Toggle description

Review what you've learned in the first part of the course, and repeat all the concepts by solving a fun challenge.

Part 2: Store Data In Collections

Toggle description

In this part of the course, you'll learn how to store data in collections. Let's get started!

Toggle description

Learn how to group pieces of data in Pairs and Triples, how to work with such constructs, and how to destructure them.

Toggle description

Challenge time! Use what you've learned about Pairs and Triples to solve a short challenge.

Toggle description

Learn what collections of data are and how they behave in memory, then learn about Arrays, a static collection type.

Toggle description

Upgrade from an Array to a List, a dynamic collection of data. Compare the performance between an Array and a List.

Toggle description

Practice what you've learned about Arrays and Lists, the two basic collection types, in a challenge!

Conclusion 3:34
Toggle description

Review what you've learned in the second part of the course, and practice the knowledge by solving a challenge!

Part 3: Manage Control Flow

Toggle description

You're doing great! In this part of the course, you'll expand your Kotlin knowledge by mastering the concept of control flow.

Toggle description

Learn how to utilize the while loop, to repeat your code multiple times. Iterate over collections using loops.

Toggle description

Challenge time! Use your new skills and practice using while loops to iterate over collections and print data out.

Toggle description

Add another loop to your loop belt: the for loop. Learn how ranges let you repeat the code a fixed number of times.

Toggle description

Practice creating various ranges and for loops, to print data sequentially, by steps, and in reverse.

Toggle description

Use nested loops to iterate over two dimensional collections, and break and continue strategies to exit from loops early.

Toggle description

Practice iterating over two dimensional collections - matrices, and using exit-early strategies with break and continue.

Toggle description

Learn about the when expression, a more concise larger set of it/else expressions. Use when to return values.

Toggle description

Practice using when expressions, to return values for constants and variables. Build complex checks that rely on smart casts.

Conclusion 1:02
Toggle description

You're over halfway through the course! In this episode, review everything you've learned about control flow.

Part 4: Explore More Collections

Toggle description

Review the concepts you've learned so far, and learn about two new collection types - the Map and the Set.

Toggle description

Learn what a Map is, how to create one, and how to store key value pairs within the map.

Toggle description

Expand your knowledge of maps, to add and remove values, mutate the contents, and learn about three types of mutability.

Toggle description

Use what you've learned about Maps to solve a fun challenge. Let's get started!

Toggle description

Learn what a Set is, and how it's unique compared to other collections. Create and use Sets.

Toggle description

Challenge time! In this episode, practice using Sets to store unique pieces of data.

Conclusion 1:08
Toggle description

Review the collections you learned about in this part of the course, and find out what's up next!

Part 5: Write Functions

Toggle description

In this part of the course, you'll learn about write functions. Let's get started!

Toggle description

Learn what the function syntax is, and how to write your own functions. Create functions to reuse behavior.

Toggle description

Learn about all the ways to return data from functions, and how to utilize expressions for the returns.

Toggle description

Use what you've learned about using and creating functions to solve this challenge!

Toggle description

In this episode, learn how functions can become parameters, and how you can store functions as values.

Conclusion 1:14
Toggle description

Review the concepts you learned in this part of the course, and find out what's next!

Part 6: Create Classes

Toggle description

Almost there! In this final part of the course, you'll finish off your fundamental Kotlin skills by learning how to create classes.

Toggle description

Learn what classes are, what their syntax is, and how to create your own data types. Learn about properties and mutability.

Expand upon properties, learn what methods are, and how exactly mutability affects classes & reference types.

Toggle description

Practice what you've learned about classes, properties and methods by completing the challenge.

Toggle description

Learn what a data model is, and how to create data classes: classes which are used to represent data.

Toggle description

Last challenge of the course! Use what you've learned about data classes to copy, print out, or compare objects.

Conclusion 1:33
Toggle description

Congratulations on finishing the course! In this conclusion episode, review the many things you've learned and find out where to go from here.