New Course: Programming in Kotlin

Kevin Moore

Programming in Kotlin

It’s day 2 of the Android Avalanche: an event where we’ll be releasing new Android and Kotlin books, courses, and screencasts every day!

Today, we are releasing a brand new course: Programming in Kotlin. If you’ve completed Your First Kotlin Android App, or are just interested in learning Kotlin, the new course is for you.

In this massive 74-video course by Kevin Moore, you’ll take a deep dive into the Kotlin programming language itself. Through a series of hands-on exercises and challenges, you’ll learn how to use Kotlin types, flow control, functions, classes, properties, lambdas, collections, nullables, methods, and much more.

Let’s take a look at what’s inside.

Part 1: Core Concepts

In part one, review the core concepts of Kotlin from Your First Kotlin Android App, and pick up a few more.

  1. Introduction: Find out what we’ll cover in this course, what you’ll learn in the first part, and why it’s important.
  2. Using IntelliJ: Install IntelliJ IDEA, then take a tour of the IDE and create your first project.
  3. Kotlin Basics: Review the Kotlin basics that were covered in Your First Kotlin Android App.
  4. Comments: Learn the various ways to add comments to your Kotlin code – a useful way to document your work or add notes for future reference.
  5. Pair and Triple: Learn about two classes, Pair and Triple, and when to use each.
  6. Challenge: Pair and Triple: Practice using Pairs & Triples on your own, through a hands-on challenge.
  7. Booleans: Review the Kotlin Boolean type and try it out for yourself.
  8. Challenge: Booleans: Practice using Booleans on your own, through a hands-on challenge.
  9. Scope: Learn what the concept of scope means in Kotlin, and how it applies to if statements.
  10. Conclusion: Let’s review where you are with your Kotlin core concepts, and discuss what’s next.

Part 2: Flow Control

In the second part, learn a few different ways to master flow control in Kotlin.

  1. Introduction:  Let’s review what you’ll be learning in this section, and why it’s important.
  2. While Loops:  Learn how to make Kotlin repeat your code multiple times with while loops, repeat while loops, and break statements.
  3. Challenge: While Loops:  Practice using while loops on your own, through a hands-on challenge.
  4. For Loops:  Learn how to use for loops in Kotlin, along with ranges, continue, and labeled statements.
  5. Challenge: For Loops:  Practice using for loops on your own, through a hands-on challenge.
  6. When Expressions:   Learn how to use when expressions in Kotlin, including some of its more powerful features.
  7. Challenge: When Expressions:  Practice using when expressions on your own, through a hands-on challenge.
  8. Conclusion:  Let’s review what you learned in this section, and discuss what’s next.

Part 3: Functions and Nullables

In part 3, you’ll learn about functions and one of the most important aspect of Kotlin: nullables.

  1. Introduction:  Let’s review what you’ll be learning in this section, and why it’s important.
  2. Introduction to Functions:  Write your own functions in Kotlin, and see for yourself how Kotlin makes them easy to use.
  3. Challenge: Introduction to Functions:   Practice writing functions on your own, through a hands-on challenge.
  4. More Functions:  Learn some more advanced features of functions, such as overloading, and functions as variables.
  5. Introduction to Nullables:  Learn about one of the most important aspects of Kotlin development – nullables – through a fun analogy.
  6. Challenge: Introduction to Nullables: Practice using Nullables on your own, through a hands-on challenge.
  7. More Nullables:  Learn how to unwrap Nullables, force unwrap Nullables, and use the let statement.
  8. Challenge: More Nullables:  Practice working with Nullables on your own, through a hands-on challenge.
  9. Conclusion:  Let’s review where you are with your Kotlin core concepts, and discuss what’s next.

Part 4: Collections

Try out different types of collections in Kotlin, and learn when to use each.

  1. Introduction:  Let’s review what you’ll be learning in this section, and why it’s important.
  2. Arrays:  Learn how to use arrays in Kotlin to store an ordered list of values.
  3. Challenge: Arrays:   Practice using arrays on your own, through a hands-on challenge.
  4. Lists:  Learn how to use Lists in Kotlin to store an ordered collection of data.
  5. Challenge: Lists:  Practice using Lists on your own, through a hands-on challenge.
  6. Maps:  Learn how to use Maps in Kotlin to store a mapped collection of data.
  7. Challenge: Maps:  Practice using Maps on your own, through a hands-on challenge.
  8. Which Collection to Use?:  Find out which collection you should use in a given situation.
  9. Mutable vs. Immutable:  Learn the difference between the two types of collections.
  10. Conclusion:  Let’s review what you learned in this part of the course, and find out what’s next.

Part 5: Lambdas

In part 5, learn how to use lambdas and generics.

  1. Introduction:  Let’s review what you’ll be learning in this section, and why it’s important.
  2. Higher-order vs. Lambdas:  Learn the difference between lambdas and Higher-order functions.
  3. Syntax:   Learn about the syntax needed to write lambdas.
  4. Challenge: Lambdas:  Practice using Lambdas, through a hands-on challenge.
  5. Generics:  Find out what generics are in regards to collections.
  6. Challenge: Generics:  Practice creating Generics on your own, through a hands-on challenge.
  7. Collection Methods:  Learn how to use lambdas with collection methods.
  8. Conclusion:  Let’s review everything you learned in this part of the course, and discuss what’s next.

Part 6: Classes

Learn about how to create your own classes and find out when you should subclass.

  1. Introduction:  Let’s review what you’ll be learning in this section, and why it’s important.
  2. Creation:  Create classes using both primary and secondary constructors.
  3. Initializers:   Learn how the init method is used in Kotlin.
  4. Challenge: Creation:  Practice creating classes and understanding when to use, through a hands-on challenge.
  5. Inheritance:  Learn about the concepts of inheritance, polymorphism, hierarchy checks, overrides, and super.
  6. When Should You Subclass?:  Learn when you should subclass, and when you shouldn’t.
  7. Data Classes:  Find out what data classes are and how to use them.
  8. Challenge: Data:  Practice creating your own data classes, through a hands-on challenge.
  9. Conclusion:  Let’s review everything you learned in this part of the course, and discuss what’s next.

Part 7: More on Classes

In part 7, dig deeper into classes in Kotlin and learn about singletons, interfaces, enums, and extensions.

  1. Introduction:  Let’s review what you’ll be learning in this section, and why it’s important.
  2. Open and Sealed Classes:  Learn to subclass a class and what the sealed keyword means.
  3. Singletons:  Learn how to create static classes.
  4. Challenge: Singletons:  Practice working with creating singleton classes and understanding when to use them, through a hands-on challenge.
  5. Companion:  Create static properties of classes using the companion keyword.
  6. Interfaces:  What’s the purpose of an interface? Find out in this video!
  7. Challenge: Interfaces:  Practice creating your own interface, through a hands-on challenge.
  8. Enums:  Learn what an enum is and how to use it.
  9. Challenge: Enums:  Practice creating your own Enums, through a hands-on challenge.
  10. Extensions:  Learn how to use Extensions to add abilities to existing classes.
  11. Conclusion:  Let’s review everything you learned in this part of the course, and discuss what’s next.

Part 8: Properties & Methods

In the final part of the course, master the use of properties and methods in Kotlin.

  1. Introduction: Let’s review what you’ll be learning in this section, and why it’s important.
  2. Getters/Setters: Learn about getters and setters, and why you don’t need to create them in most cases.
  3. Visibility: Discover the different method visibility modifiers and how they affect methods.
  4. This: Find out what `this` is and how to use it.
  5. LateInit: Find out how to initialize a property later with LateInit.
  6. Challenge: LateInit: Practice using LateInit in this hands-on challenge.
  7. Delegated Properties: Learn how delegated properties work.
  8. Challenge: Properties: Practice using properties, through a hands-on challenge.
  9. Conclusion: Let’s review everything you learned throughout the course, and find out where to go to learn more.

The Android Avalanche Bundle

If you like this course, from now until March 30th you can get it along with the rest of our new Android and Kotlin books, courses, and screencasts — at a big discount!

Our new Android Avalanche Bundle includes:

  • Android Apprentice ($54.99 value): Gives you access to our new Android Apprentice book, which teaches you how to build four complete Android apps from scratch. PDF/ePub format.
  • Kotlin Apprentice ($54.99 value): Gives you access to our new Kotlin Apprentice book, which gives you a deep dive into the Kotlin programming language itself. PDF/ePub format.
  • A raywenderlich.com subscription ($19.99 value): Gives you access to all 8 of our new Android video courses, our 2 new Android screencasts, and access to any new courses and screencasts we release in the future.

The bundle price of $99.99 includes the first month of your subscription, which will continue at $19.99/month thereafter. You can cancel at any time and keep the books. This bundle gives you more than 20% off everything in the Android Avalanche!

The Android Avalanche bundle is only available for the next two weeks, so be sure to order your copy while you can.

Already a subscriber? As a subscriber, you already have access to this new course as part of your subscription. You can also enjoy a $20 discount on the bundle that will get you both books added to your collection. It’s our way of thanking you for supporting what we do here at raywenderlich.com.

Where To Go From Here?

If you want to learn Android and Kotlin development — or level up your existing skills – there’s no better way to learn than these new books, courses, and screencasts.

And this is only the beginning! We’re committed to creating more new books, courses, and screencasts on Android development, with the goal of covering Android and Kotlin in the same way that we’ve covered iOS and Swift over the years.

We truly appreciate your support in making this possible. We’re excited about this new chapter at raywenderlich.com. So order your copy of the Android Avalanche Bundle today before the deal is over!

Kevin Moore

I really enjoy developing Android and iOS applications and in my spare time create apps that I freely share. I have been programming on the Android platform for over 8 years and iOS for a year. I have a course on Kotlin on raywenderlich.com and have done talks at conferences.

Other Items of Interest

Save time.
Learn more with our video courses.

raywenderlich.com Weekly

Sign up to receive the latest tutorials from raywenderlich.com each week, and receive a free epic-length tutorial as a bonus!

Advertise with Us!

PragmaConf 2016 Come check out Alt U

Our Books

Our Team

Video Team

... 27 total!

iOS Team

... 83 total!

Android Team

... 47 total!

Unity Team

... 16 total!

Articles Team

... 4 total!

Resident Authors Team

... 32 total!

Podcast Team

... 4 total!

Recruitment Team

... 8 total!

Illustration Team

... 4 total!