Course Highlights
  • Kotlin development
  • Kotlin coroutines
  • Functional programming
  • Object Oriented Programming
  • Kotlin language fundamentals
  • Kotlin extensions
  • Generics
  • Principles of software development
Curriculum

4 Topics
Course introduction
How this course is structured
Important message about Udemy reviews
Engage on social media

2 Topics
How to take this course
How to ask questions

13 Topics
Section objectives
Installation
Hello world
Run the code
Change the code
Explanation
Exercise: Build your own project
Solution: Build your own project
Quiz: First code
Comments
Quiz: Comments
BONUS: REPL
Section recap

17 Topics
Section objectives
Strings
Chars
Variables
Variable names
Practice: Variables and Strings
Exercise: Variables and Strings
Solution: Variables and Strings
String functions
Bonus: How to find all available string functions
Exercise: Discover a new function and use it
String templates
Practice: Strings
Exercise: Strings
Solution: Strings
Constants
Section recap

8 Topics
Section objectives
Getting user input
Input a number
Generating a random number
Practice: Getting user input
Exercise: Getting user input
Solution: Getting user input
Section recap

14 Topics
Section objectives
What are numbers in Kotlin
Types of numbers
Practice: Numbers
Exercise: Numbers
Solution: Numbers
Bonus: How are numbers stored in memory
Implicit and explicit values
Type conversions
Let's talk about Strings again
Practice: Type conversions
Exercise: Type conversions
Solution: Type conversions
Section recap

15 Topics
Section objectives
Arithmetic operators
Result types
Assignment operators
Augmented assignment operators
Practice: Operators
Exercise: Operators
Solution: Operators
Booleans
Logical operators
Comparison operators
Practice: Logical operators
Exercise: Logical operators
Solution: Logical operators
Section recap

13 Topics
Section objectives
Null value
Null safe calls
Arithmetic operators on null values
Practice: Null
Exercise: Null
Solution: Null
The Elvis operator
Non-null Assertions
Practice: Elvis and assertions
Exercise: Elvis and assertions
Solution: Elvis and assertions
Section recap

9 Topics
Section objectives
What are exceptions
Try catch
Finally
Throw
Practice: Try catch finally
Exercise: Try catch finally
Solution: Try catch finally
Section recap

8 Topics
Section objectives
Why are collections useful
What are collections
List
Set
Map
Iterators
Section recap

12 Topics
Section objectives
What is a List
ArrayList
Practice: List and ArrayList
Exercise: List and ArrayList
Solution: List and ArrayList
List functions
ArrayList functions
Practice: List functions
Exercise: List functions
Solution: List functions
Section recap

12 Topics
Section objectives
What is a Set
HashSet
Practice: Set and HashSet
Exercise: Set and HashSet
Solution: Set and HashSet
Set functions
HashSet functions
Practice: Set functions
Exercise: Set functions
Solution: Set functions
Section recap

8 Topics
Section objectives
What is a Map
HashMap
Map functions
Practice: Map and HashMap
Exercise: Map and HashMap
Solution: Map and HashMap
Section recap

7 Topics
Section objectives
What is flow control
If conditional
When conditional
For loop
While loop
Section recap

12 Topics
Section objectives
If statement
More if statements
Practice: If statement
Exercise: If statement
Solution: If statement
Shorthand if statement
Multiple branches
Practice: If conditional
Exercise: If conditional
Solution: If conditional
Section recap

8 Topics
Section objectives
Arithmetic and logical expressions
in keyword
Boolean returning functions
Practice: Expressions
Exercise: Expressions
Solution: Expressions
Section recap

8 Topics
Section objectives
When conditional
When as a statement
Capturing the subject
Practice: When conditional
Exercise: When conditional
Solution: When conditional
Section recap

11 Topics
Section objectives
For loop
Practice: For loops
Exercise: For loops
Solution: For loops
For loop with ranges
Nested for loops
Practice: Extended for loops
Exercise: Extended for loops
Solution: Extended for loops
Section recap

11 Topics
Section objectives
While loop
Practice: While loop
Exercise: While loop
Solution: While loop
Do while loop
Nested while loops
Practice: While loop
Exercise: Do while loop
Solution: Do while loop
Section recap

8 Topics
Section objectives
The break keyword
The continue keyword
Labels
Practice: Break and continue
Exercise: Break and continue
Solution: Break and continue
Section recap

11 Topics
Section objectives
What are functions
Practice: Functions
Exercise: Functions
Solution: Functions
Function parameters
Function return
Practice: More functions
Exercise: More functions
Solution: More functions
Section recap

18 Topics
Section objectives
Overloading
Practice: Overloading
Exercise: Overloading
Solution: Overloading
Scope
Practice: Scope
Exercise: Scope
Solution: Scope
Vararg
Practice: Vararg
Exercise: Vararg
Solution: Vararg
Local functions
Practice: Local functions
Exercise: Local functions
Solution: Local functions
Section recap

11 Topics
Section objectives
Lambdas
Higher order functions
Practice: Lambdas and Higher Order Functions
Exercise: Lambdas and Higher Order Functions
Solution: Lambdas and Higher Order Functions
Common Higher Order functions
Practice: Common Higher Order Functions
Exercise: Common Higher Order Functions
Solution: Common Higher Order Functions
Section recap

8 Topics
Section objectives
Packages
Naming convention
Imports
Practice: Packages
Exercise: Packages
Solution: Packages
Section recap

6 Topics
Intro
Creating the project
Game art
Starting position
Game algorithm
Completing the game

7 Topics
Intro
Create the board
Player move
Check winner
Check tie
Completing the game
Conclusion

17 Topics
Section objectives
What is OOP
Classes
Objects
Practice: Object Oriented Programming
Practice: Object Oriented Programming 2
Practice: Object Oriented Programming 3
Exercise: Object Oriented Programming
Solution: Object Oriented Programming
The "Object" construct
Classes and Objects
Inheritance
Practice: Inheritance
Practice: Inheritance2
Exercise: Inheritance
Solution: Inheritance
Section recap

23 Topics
Section objectives
Constructors
Practice: Constructors
Exercise: Constructors
Solution: Constructors
Getters and Setters
Practice: Getters and Setters
Exercise: Getters and Setters
Solution: Getters and Setters
The this keyword
Practice: The 'this' keyword
Exercise: The 'this' keyword
Solution: The 'this' keyword
The init block
Practice: The init block
Exercise: The init block
Solution: The init block
Companion object
Practice: Companion object
Practice: Companion object
Exercise: Companion object
Solution: Companion object
Section recap

19 Topics
Section objectives
The 4 principles of OOP
Inheritance
Practice: Inheritance
Exercise: Inheritance
Solution: Inheritance
Encapsulation and scope
Practice: Encapsulation and scope
Exercise: Encapsulation and scope
Solution: Encapsulation and scope
Abstraction
Practice: Abstraction
Exercise: Abstraction
Solution: Abstraction
Polymorphism
Practice: Polymorphism
Exercise: Polymorphism
Solution: Polymorphism
Section recap

12 Topics
Section objectives
What is an interface
Implementation
Practice: Interfaces
Practice: Interfaces2
Exercise: Interfaces
Solution: Interfaces
More interfaces
Practice: More interfaces
Exercise: More interfaces
Solution: More interfaces
Section recap

27 Topics
Section objectives
Standard functions
Let
Practice: Let
Exercise: Let
Solution: Let
With
Practice: With
Exercise: With
Solution: With
Run
Practice: Run
Exercise: Run
Solution: Run
Apply
Practice: Apply
Exercise: Apply
Solution: Apply
Also
Practice: Also
Exercise: Also
Solution: Also
takeIf and takeUnless
Practice: takeIf and takeUnless
Exercise: takeIf and takeUnless
Solution: takeIf and takeUnless
Section recap

19 Topics
Section objectives
Data classes
Data class methods
Practice: Data classes
Exercise: Data classes
Solution: Data classes
Enum classes
Practice: Enum classes
Exercise: Enum classes
Solution: Enum classes
Sealed classes
Practice: Sealed classes
Exercise: Sealed classes
Solution: Sealed classes
Nested classes
Practice: Nested classes
Exercise: Nested classes
Solution: Nested classes
Section recap

12 Topics
Section objectives
Extensions
Extension functions
Extension properties
Practice: Extension functions
Exercise: Extension functions
Solution: Extension functions
Companion object extensions
Practice: Companion object extensions
Exercise: Companion object extensions
Solution: Companion object extensions
Section recap

10 Topics
Section objectives
Generic type parameters
Practice: Generics
Exercise: Generics
Solution: Generics
Type constraints
Practice: Type constraints
Exercise: Type constraints
Solution: Type constraints
Section recap

14 Topics
Section objectives
Type casting (as)
Practice: type casting
Exercise: type casting
Solution: type casting
lateinit
Practice: lateinit
Exercise: lateinit
Solution: lateinit
lazy
Practice: lazy
Exercise: lazy
Solution: lazy
Section recap

8 Topics
Project description
Set up project
Building the GUI
Adding the CSS
CSS
Building the application and running the project
Operators
Adding the functionality

7 Topics
Section objectives
Installing Android Studio (short version)
Install Android Studio on a Mac
Install Android Studio on a PC
How to test the app on your phone
Create the project
App functionality

12 Topics
Section objectives
Multithreading (briefly)
Coroutines
Hello World
Scope
Context
Suspending functions
Jobs
Dispatchers
async
withContext
Exception Handling

6 Topics
Section objectives
Setting up the project
Gradle dependencies
Downloading an image
Challenge
Applying the filter

5 Topics
Intro
Setting up the project
Gradle dependencies
Setting up Retrofit
Creating the coroutines

4 Topics
Debugging
Finding keyboard shortcuts
Common shortcuts
Cleaning and rebuilding

3 Topics
Conclusion
Further resources
Thank you

  Write a Review

Complete Kotlin development masterclass

Go to Paid Course