Programming in Kotlin
Take a deep dive into the Kotlin language, learning about core Kotlin concepts like types, Nullables, functions, classes, and more. By Kevin D Moore.
Part 1: Core Concepts
Let's review what you'll be learning in this section, and why it's important.
Install IntelliJ IDEA, then take a tour of the IDE and create the starter project you'll throughout this course.
Review some of the core concepts of Kotlin that were covered in Your First Kotlin Android App course.
Learn the various ways to add comments to your Kotlin code - a useful way to document your work or add notes for future reference.
Learn about two Kotlin classes, Pair and Triple, and get tips about when you should use each of them.
In this video, practice using the Pair and Triple classes on your own through a hands-on challenge.
Review the Kotlin Boolean type and try it out for yourself.
Practice using Booleans on your own, through a hands-on challenge.
Learn what the concept of scope means in Kotlin, and how it applies to if statements.
Let's review where you are with your Kotlin core concepts, and discuss what's next.
Part 2: Flow Control
Let's review what you'll be learning in this section, and why it's important.
Learn how to make Kotlin repeat your code multiple times with while loops, repeat while loops, and break statements.
Practice using while loops on your own, through a hands-on challenge.
Learn how to use for loops in Kotlin, along with ranges, continue, and labeled statements.
Practice using for loops on your own, through a hands-on challenge.
Learn how to use when expressions in Kotlin, including some of its more powerful features.
Practice using when expressions on your own, through a hands-on challenge.
Let's review what you learned in this section, and discuss what's next.
Part 3: Functions and Nullables
Let's review what you'll be learning in this section, and why it's important.
Write your own functions in Kotlin, and see for yourself how Kotlin makes them easy to use.
Practice writing functions on your own, through a hands-on challenge.
More Functions: Learn some more advanced features of functions, such as overloading, and functions as variables.
Learn about one of the most important aspects of Kotlin development - nullables - through a fun analogy.
Practice using Nullables on your own, through a hands-on challenge.
Learn how to unwrap Nullables, force unwrap Nullables, and use the let statement.
Practice working with Nullables on your own, through a hands-on challenge.
Let's review where you are with your Kotlin core concepts, and discuss what's next.
Part 4: Collections
Let's review what you'll be learning in this section, and why it's important.
Learn how to use arrays in Kotlin to store an ordered list of values.
Practice using arrays on your own, through a hands-on challenge.
Learn how to use Lists in Kotlin to store an ordered collection of data.
Practice using Lists on your own, through a hands-on challenge.
Learn how to use Maps in Kotlin to store a mapped collection of data.
Practice using Maps on your own, through a hands-on challenge.
Find out which collection you should use in a given situation.
Learn the difference between the two types of collections.
Let's review what you learned in this section, and discuss what's next.
Part 5: Lambdas
Let's review what you'll be learning in this section, and why it's important.
Learn the difference between lambdas and higher-order functions.
Learn about the syntax needed to write lambdas.
Practice using Lambdas through a hands-on challenge.
Find out what generics are in regards to collections.
Practice creating Generics on your own, through a hands-on challenge.
Learn how to use lambdas with collection methods.
Let's review what you learned in this section, and discuss what's next.
Part 6: Classes
Let's review what you'll be learning in the Classes section, and why it's important.
Create classes using both primary and secondary constructors.
Learn how the init method is used in Kotlin.
Practice creating classes and understanding when to use them through a hands-on challenge.
Learn about the concepts of inheritance, polymorphism, hierarchy checks, overrides, and super.
Learn when you should subclass, and when you shouldn't.
Find out what data classes are and how to use them.
Practice creating your own data classes through a hands-on challenge.
Let's review where you're at with your Kotlin core concepts, and discuss what's next.
Part 7: More on Classes
Let's review what you'll be learning in this section, and why it's important.
Learn to subclass a class and what the sealed keyword means.
Learn how to create static classes.
Practice working with creating singleton classes and understanding when to use them, through a hands-on challenge.
Create static properties of classes using the companion keyword.
What's the purpose of an interface? Find out in this video!
Practice creating your own interface, through a hands-on challenge.
Learn what an enum is and how to use it.
Practice creating your own enums through a hands-on challenge.
Learn how to use Extensions to add abilities to existing classes.
Let's review where you're at with your Kotlin core concepts, and discuss what's next.
Part 8: Properties and Methods
Let's review what you'll be learning in the Properties and Methods section, and why it's important.
Learn about getters and setters, and why you don’t need to create them in most cases.
Discover the different method visibility modifiers and how they affect methods.
Find out what "this" is and how to use it.
Find out how to initialize a property later.
Practice using LateInit in this hands-on challenge.
Learn how delegated properties work.
Challenge time! Practice using properties through a hands-on challenge.
Congratulations, you made it through the whole course! Let's review what we've learned.