Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Kotlin: Master Kotlin Programming - Step by Step Guide!
Rating: 4.1 out of 5(109 ratings)
558 students

Kotlin: Master Kotlin Programming - Step by Step Guide!

No prior knowledge is required for this course, you will be learning Kotlin development from scratch.
Last updated 11/2018
English

What you'll learn

  • Learn to configure environment for Kotlin development
  • Discover how to mimic the concept of static in Kotlin using Companion Objects along with Object-Oriented Kotlin programming
  • Explore recursive functions, pattern matching, and immutable data structures.
  • Learn higher-order lambda expressions and generics.
  • Apply the new Android Kotlin KTX extensions to make app development more concise, pleasant, and idiomatic.
  • Get the grips on Extension functions and Data classes
  • Grasp the Kotlin Standard Library API
  • Use Kotlin to build a DSL

Course content

4 sections140 lectures12h 34m total length
  • The Course Overview3:52

    This video provides an entire overview of the course.

  • Introduction to Kotlin7:14

    Get a big picture of Kotlin

       •  Get a Kotlin Overview

       •  Understand the Evolution of Kotlin

       •  Learn Where to use Kotlin

  • Installing Software on Windows8:19

    Install the following software’s on your Windows system

       •  Install Java Development Kit ( JDK ) for JVM

       •  Install IntelliJ IDEA

  • Installing Software on Mac6:51

    Install the following software’s on your MAC  system

       •  Install Java Development Kit ( JDK ) for JVM

       •  Install IntelliJ IDEA

  • Installing Software on Linux10:09

    Install the following software’s on your  Linux system

       •  Install Java Development Kit ( JDK ) for JVM

       •  Install IntelliJ IDEA

  • Writing Your First Kotlin Program11:16

    Create and run your first Kotlin app in IntelliJ IDEA

       •  Understand what is main function

       •  Understand what is a Comment

       •  Understand How to print a String and numbers

  • Exploring Your First App3:05

    Learn what happens behind the curtain when you compile and run a Kotlin file

       •  Understand How Kotlin compiler compiles code

       •  Understand How Byte Code is executed in runtime environment

  • Exploring Variables and Data Types7:26

    Explore variables and data types in Kotlin

       •  Explore how much memory each data type consumes

       •  Understand the Difference between mutable and immutable values

  • Demo – Variables and Data Types8:05

    Get hands-on experience on how to use variables and data types in IntelliJ IDEA

       •  Understand what are Variables and Data Types

       •  Learn about Immutable and Mutable Values

  • Playing with String Templates5:47

    Print messages using String templates by applying interpolation

       •  Understand what are String templates and Interpolation

  • Kotlin Expressions – If6:13

    Explore IF ELSE conditional statements along with IF expressions

       •  Learn all about conditional If else statements

  • Kotlin Expressions – When8:29

    Explore WHEN conditional statements, Ranges and using WHEN as expression

       •  Learn all the in and outs of the WHEN conditional statements

  • Using Loops in Kotlin9:20

    Explore various types of Loops in Kotlin along with example

       •  Use FOR Loop

       •  Use WHILE Loop

       •  Use DO WHILE Loop

  • Handling Exceptions8:14

    Learn how to handle exceptions in Kotlin

       •  Explore try, catch and finally block

       •  Check out how to organise files in an Kotlin project using Packages

  • Introduction to Kotlin Functions4:29

    Explore functions in Kotlin

       •  Understand what is a function

       •  Understand why we need functions

       •  Learn How to declare  functions

  • Declaration of Functions7:07

    Get hands-on experience on how to use and declare a function in IntelliJ IDEA

       •  Write programs using functions

  • Exploring the Default Parameters2:59

    Explore what is meant by default parameters

       •  Assign default values to the formal parameters of functions

  • Using Named Parameters3:33

    Explore the advantages to using Named Parameters to avoid errors

       •  Learn all about Named Parameters

  • Avoiding Stack Overflow Exception by Using Tail Recursive Function6:28

    Implement Tail Recursive functions in Kotlin

       •  Explore problem statement while using recursions

       •  Find a solution to avoid Stack Overflow Exception

  • Defining a Class in Kotlin8:58

    Get introduced to Object Oriented Programming in Kotlin

       •  Understand what is a Class

       •  Learn How to create objects

       •  Understand the  properties and function in a class?

  • Working with Constructors and init Block9:17

    Use primary constructor and init block to initialise properties of a class

       •  Learn how to use a Constructor

       •  Understand what is a init block

  • Exploring Inheritance7:51

    In this video, we will see how Kotlin has great support for Inheritance.

       •  Explore why do we need inheritance

       •  Syntax and basics to implement Inheritance in Kotlin

  • Exploring Interface11:06

    In this video, we will see how Kotlin supports Interface similar to any other OOPs language

       •  Explore abstract methods in Interface

       •  Explore open methods of Interface

       •  Define abstract property in Interface

  • Using Data Classes6:18

    Sometimes we create class to hold data. You’ll explore how to create such classes in this video.

       •  Explore how to compare data of two class objects using data classes

  • Understanding Kotlin Statics5:49

    In this video, we will see that Kotlin has its own way to declare static variables and functions.

       •  What is singleton?

       •  What is object declaration?

       •  What is companion object?

  • ‘object’ Declaration5:30

    In this video, we will learn that an object declaration is a way to define singleton objects in Kotlin which is very similar to Statics in Java.

       •  Learn how to declare objects

  • Using Companion Object4:00

    In this video, we will learn that when an object is declared within a class then it is marked companion.

       •  Explore another way to declare static variables and function in Kotlin.

  • Introduction to Higher-Order Functions and Lambda Expressions7:22

    Explore what is a Lambda expression and Higher-Order Function.

       •  Check out basics and syntax to declare a Lambda Expression.

       •  Learn How to pass a lambda to a Higher-Order function

  • Using Higher Order Function and Lambda7:49

    Explore the implementation of Lambda expression and Higher-Order Function.

       •  Get a hands on demo for implementing Higher order functions and Lambdas

  • Working with Closures4:15

    In this video, we will learn what are Closures and how to access a outer scope variable within a Lambda

       •  Understand that closures are variables defined in outer scope of lambda expression

  • Implement ‘it’ keyword4:17

    Explore how to use ‘it’ keyword when we have one parameter in a Lambda expression

       •  Understand all about the “it” keyword

  • Implement ‘with’ and ‘apply’ Keywords3:55

    Explore using ‘with’ and ‘apply’ keyword to initialise a objects properties.

       •  Explore the difference between ‘with’ and ‘apply’ keywords.

  • Introduction to Arrays10:44

    Learn to implement Arrays in Kotlin

       •  Get Section overview.

       •  Explore how elements are indexed in an Array.

       •  Explore different variants of for loop to print out elements of an Array

  • Exploring Lists – Mutable and Immutable7:40

    In this video, we will understand that the most basic component of a Collection framework in Kotlin is a List.

       •  Learn how to implement mutable and immutable lists.

       •  Perform basic operations on List such as add, remove, replace and delete all.

  • Filtering Data4:26

    In this video, we will understand that Collection framework provides a special method of ‘filter’ to get the desired elements from a Collection.

       •  Explore how to use ‘filter’ on a list.

  • Modifying Data3:42

    In this video, we will learn that The elements of a collection can be modified using ‘map’ function.

       •  Learn how to create a new Collection by modifying the values from the original Collection.

  • Exploring Set4:08

    In this video, we will learn that A Set is a unordered collection of elements that does not support duplicate elements.

       •  Learn to perform basic operations on Set such as add, remove, replace and clear all.

  • Exploring Map6:44

    In this video, we will learn that A Map is a Collection that holds object in the form of key-value pair.

       •  Learn to perform basic operations on Map such as add, delete, replace and clear all.

  • Handling Null Values8:23

    In this video, we will see how Kotlin has great support for Nullable types.

       •  Explore how to handle null values and avoid Null Pointer Exception.

       •  Implement Safe Calls, Safe Calls with Let and Non-null assertion operator.

  • Exploring Extension Functions3:33

    In this video, we will learn how Kotlin supports extensions which allow developers to add a function to an existing class without modifying the class itself.

       •  Understand Extension functions

  • Putting it all together: the Power of Kotlin3:38

    In this video we will summarise the course

       •  Course Summary

  • Test Your Knowledge

Requirements

  • No prior knowledge is required for this course, you will be learning Kotlin development from scratch.

Description

Kotlin is a statically typed language whose syntax is more expressive and concise than Java’s. Kotlin has been adopted by Google as a first-class language for developing Android apps. Since then, Kotlin has gained a huge popularity worldwide among developers due to its highly appreciable features therefore it also helps to build amazing applications in an easy and effective way. 

This course is an easy-to-follow guide with a step-by-step approach which will get you up and running with Kotlin basics and fundamentals such as variables, data types, string templates, expressions, null values, and loops. You will also learn to design application structures using functional programming concepts and implement business logic using tools provided by Arrow library. Next you will be introduced to using the Android Studio IDE which covers the concepts such as functions, lambdas, properties, object oriented code, safety aspects and type parameterization, Microservices, testing, concurrency which will guide you to write Kotlin’s code to production. Finally you will be mastering to integrate Kotlin in any existing Android project built using C++ or Java. 

By the end of the course, you’ll be able to write faster & cleaner code to build your own robust program in Kotlin to make your life easy as a Kotlin developer. Also you will be more proficient in using Kotlin for any kind of app development. 

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Learn Kotlin Programming starts by showing you how to set up the Kotlin environment and install Intellij IDEA to write Kotlin code. After that, the course dives into the Kotlin basics and fundamentals such as variables, data types, string templates, expressions, null values, and loops. Moving on, you’ll learn how to write functions in Kotlin. You’ll explore Kotlin as an Object-Oriented Language by exploring interfaces and various Kotlin classes . Next you’ll dive into Functional programming in Kotlin using Lambdas and higher-order functions . Finally, you’ll explore the collection framework and perform operations such as filtering and sorting using Predicates and FlatMaps in Kotlin. By the end of the course, you’ll be able to build your own robust program in Kotlin.

In the second course, Hands On Functional Kotlin demonstrates Kotlin language features and use-cases as well as popular functional programming concepts and techniques. You will learn to design application structures using functional programming concepts and implement business logic using tools provided by Arrow library.

In the third course, Kotlin – Tips, Tricks, and Techniques you will discover new possibilities with Kotlin and improve your app development process. In this course, you will work with interesting tools and techniques on examples which you can adopt straightaway. You will speed up your development with less coding and get faster results. By the end of this course, you will be able to write faster, cleaner code and make your life easy as a Kotlin developer.

In the fourth course, Mastering Kotlin for Android Development you will begin with exploring all the features of Kotlin language that make the language better alternative to Java. It will show you the environment setup, and the difficulty level will grow steadily with the features covered next. Moving on, we’ll introduce you to using the IntelliJ IDE, which plays an integral role in Kotlin development. We’ll cover Kotlin’s basic programming concepts such as functions, lambdas, properties, object-oriented code, safety aspects, type parameterization, and finally concurrency, which will guide you to write Kotlin’s code to production. By the end of the video, you will be proficient in using Kotlin for any kind of app development. 

About the Authors

  • Book of Brains creates and distributes high-quality technology training content. We aim to teach technology the way it is used in industry and the professional world. Our trained team of professionals delivers hands-on workshops and training content for mobile as well web development technologies. We constantly monitor current industry trends and keep our training materials and workshops up to date.


  • Stepan Goncharov lives in Singapore. He is involved in helping local developers to grow by sharing knowledge and organizing Kotlin Singapore User Group events. He has been engineering apps and games for Android since 2008. He has experience in QA, as a product manager, marketer, blogger, consultant, engineering manager, and much more. He has been involved in the development of apps that nobody uses and apps with millions of users worldwide. He currently works at Grab, actively uses Kotlin and Rx, and spends more and more time contributing to OSS. When he is not recording video courses or organizing events for developers, he travels around South East Asia skiing on a wakeboard. 


  • Nigel Henshaw is a mobile software developer who, as well as providing software development services, loves to share his knowledge through his YouTube channel and website. Nigel originates from New Zealand, where he started out as an electrician. After one too many electric shocks, he wisely decided on a career change. After completing a two-year diploma in Computer Science and Technology at the Auckland University of Technology, Nigel relocated to London for new opportunities. He landed a job as a test engineer with a pioneering tech company called Psion, who were one of the first to develop hand-held devices and mobile operating systems. Before too long, Nigel was transferred to the base porting team and found himself in the midst of porting operating systems and writing device drivers with Symbian OS using C++.


    Nigel has experienced many wonderful opportunities through the software industry, working in the UK, Scotland, and Japan. He has held jobs as a software engineer, consultant, project manager, and general manager of a remote development site. In his spare time, Nigel is currently learning Japanese, enjoys cycling and running, and likes to finish off the day by soaking in a Japanese hot spring. 


  • Marko Devcic is a Software Engineer currently working as an Android Developer for Austrian company mySugr in Vienna. He has a Master's degree in Engineering from University of Zagreb in Croatia. Over the years, he has worked with various technologies and languages, mostly C# and Java. He is passionate about technology and software development. He loves reading about programming languages and writing simple and clean code. In his spare time, he writes code for his personal projects, and contributes to open source projects. You can follow him on Github (username deva666). He also likes to write about Kotlin, C#, and programming in general on his web page.

Who this course is for:

  • This course is for programmers who are new to Kotlin. Professional developers and students who want to learn more about Kotlin and functional programming concepts. Moreover it is intended for all levels, and developers with prior knowledge can benefit because the course also covers advanced topics of Kotlin.