Kotlin Bespoke Certificate for Reynan Belen
Certificate ID:
690087
Authentication Code:
1b695
Certified Person Name:
Reynan Belen
Trainer Name:
Uditha bandara
Duration Days:
5
Duration Hours:
35
Course Name:
Kotlin Bespoke
Course Date:
13 September 2022 13:30 to 26 September 2022 17:30
Course Outline:
Introduction
Overview of Kotlin
Setting Up the Tools
- Using the Command Line Tools
- Installing the JDK for Kotlin
- Installing and Setting Up the IDE: IntelliJ
- Installing the Plugins
Getting Started with Kotlin
- Introduction to Basic Coding with Kotlin
- Learning the Kotlin Architecture
- Interacting with Kotlin Using the REPL
- Creating Variables in Kotlin
- Understanding the Different Data Types in Kotlin
- Using Strings in Kotlin
- Understanding Immutability in Kotlin
- Implementing Expressions, Statements, and Assignments
- Using Nullable Variables in Kotlin for Null Safety
- Creating Your First Stand-Alone Kotlin Application
Implementing Conditional Statements in Kotlin
- Handling Conditional Program Flow with "if" Statements
- Handling Options Using "when" Statements
- Exploring Kotlin's Advanced Capabilities for Conditional Statements
- Generating Random Numbers Using Conditional Statements
Using Arrays and Lists in Kotlin
Implementing Looping Constructs in Kotlin
- Coding "for" Loops
- Coding "while" Loops
- Implementing "break" Statements
- Implementing "continue" Statements
- Using "return" Statements
- Using Loop Labels
- Calculating Summation of Numbers Using Loops
Using Functions in Kotlin
- Creating Functions
- Declaring Functions
- Using Parameters and Returning a Value
- Using Extension Functions
- Using Inline Functions
- Using Higher-order Functions
Object-Oriented Programming with Kotlin
- Overview of Programming with Objects
- Creating a Class
- Adding Methods to Classes
- Defining Basic Constructors
- Using Named Parameters and Default Values
- Using Open Classes to Allow Inheritance
- Using Abstract Classes
- Creating and Using Interfaces
- Handling Overriding
- Creating Data Classes
- Using Singletons and Companion Objects
- Using Enumerations
- Grouping Classes into Packages
- Using Imports
- Implementing Information Hiding
- Using Getters and Setters
- Implementing Visibility Modifiers
- Understanding Generics
- Implementing a Generic Stack
- Using Generic Functions
Using Different Number Systems
- Using Hexadecimal Numbers
- Using Binary Numbers
- Using Bitwise Operators
Implementing Input and Output Functionalities
Using Java from Kotlin
Using Kotlin from Java
Using Spek for Testing
Troubleshooting
Using Advanced Functions in Kotlin
- Using Nested Functions to Reuse Functionality in Kotlin
- Using the Infix Notation to Call Functions in Kotlin
- Declaring Anonymous Functions in Kotlin
- Using the Inline Modifier for Efficiency in Kotlin
- Implementing Returns and Local Returns When Working with Advanced Functions in Kotlin
- Implementing Tail Recursion for Optimization in Kotlin
- Using Operator Overloading in Kotlin
- Using Lambdas with Receivers to Create Restrictions on DSL's in Kotlin
- Invoking Instances in Kotlin
- Using Functional Constructs in Kotlin
- Function Composition
- Currying
- Other Constructs
- Summary of Advanced Functional Aspects of Kotlin
Exploring Class Scenarios in Kotlin
- Implementing Fields in Kotlin
- Using the "lateinit" Modifier in Kotlin
- Understanding Nested and Inner Classes in Kotlin
- Defining "Static Methods" in Kotlin Using Companion Objects
- Hiding Class Constructors in Kotlin
- Marking Classes as Sealed in Kotlin
- Using Type Aliases in Kotlin
- Summary of Advanced Features of Kotlin for Classes
Implementing Delegation in Kotlin
- Understanding the Concept of Member Delegation in Kotlin
- Delegating Member Functions to Another Class in Kotlin
- Delegating Properties in Kotlin for Code Reuse Efficiency
- Using Built-in Delegated Properties in Kotlin
- Delegating Local Properties in Kotlin for Code Reuse
- Implementing Extension Properties in Classes in Kotlin
- Summary of the Different Aspects of Delegation in Kotlin
Gaining an In-Depth Understanding of Generics in Kotlin
- Understanding Generic Constraints
- Understanding Variance and Invariance in Generics
- Using the "out" Modifier to Express Covariance in Generics in Kotlin
- Expressing Contravariance in Kotlin
- Exploring the Concept of Type Projections and Star Projections in Kotlin
- Summary of Advanced Generics in Kotlin
Metaprogramming in Kotlin
- Overview of Reflection
- Using Java Reflection with Kotlin Using the Reflection API
- Using Kotlin's Reflection API
- Handling Type Erasure in Kotlin
- Using Reified Generics in Kotlin
- Defining Custom Annotations in Kotlin
- Summary of Metaprogramming and Introspection Techniques in Kotlin
Performing Asynchronous Programming in Kotlin
- Understanding the Problem of Asynchronous Programming
- Implementing Asynchronous Programming and Coroutines in Kotlin
- Implementing Async and Await in Kotlin Using Coroutines
- Implementing Yield in Kotlin
- Understanding the Advantages of Coroutines Over Reactive Extensions
- Summary of Coroutines in Kotlin
Additional Topic
Creating Restful API using Kotlin
Course Name Eng:
Kotlin Bespoke