Course description

If you have ever wondered how computer programs work, how machine understand the code we write or if you already know that but you want to become more advanced programmer and Kotlin developer? This course is for you!

In this course we will start from scratch, assuming you have no prior knowledge at all, then we will learn basic concepts of programming and deep dive into the Kotlin world!

The main goal of this course is to teach you how to program computers using kotlin programming language. You will become a programmer as well as an advanced Kotlin developer by the end of this course.

Kotlin is new programming language sponsored by JetBrains and Google through the Kotlin Foundation. Kotlin is general purpose programming language know for its conciseness, safety and interoperability with other programming languages such as Java. You will discover the power of Modern Programming in Kotlin and obtain the skills to dramatically increase your career prospects as an Android developer and programmer.

You will master the Android's number one programming language (Kotlin is Google’s preferred language for Android app development).

My name is Morteza Kordi, senior mobile app developer and online instructor with over 50,000 satisfied students, and I’ve designed The Complete Programming + Kotlin Developer Course for android developers with one thing in mind: you should learn by practicing your skills and building apps. 

I’ll personally be answering any questions you might have and I’ll be happy to provide links, resources and any help I can offer to help you master programming and Kotlin development. All of your questions will be answered in no time!

 

Who this course is for:

  • Beginners who are new to programming and kotlin
  • Intermediate developers who want to master modern programming and kotlin programming language
  • Advanced developers who want to enhance their programming skills and learn the best practices in modern programming
  • People who want to get employed as a Software Developer in app development companies
  • People who want to become a Freelancer and work from the comfort of their homes
  • People who want to program computers just for fun
  • Android developers who want to become an advanced Kotlin developers

 

Requirements:

  • No programming experience is required
  • A windows or a mac or a linux computer
  • Passion and Commitment to become a professional programmer

 

What you'll learn:

  • Master Kotlin Programming and best practices behind professional Kotlin and Android apps
  • Modern kotlin programming from scratch
  • Kotlin functional and Object Oriented Programming
  • Collections and Lambda expressions
  • Kotlin coroutines
  • How to harness the full power of computers via programming in Kotlin
  • Master the principles behind popular programming languages such as PHP, Java, Javascript, Swift, C#, C++ or Scala
  • Sharpen your skills in android development by learning the popular java based programming language Kotlin
  • Kotlin Generics
  • Exceptions handling and creating custom Exceptions

Course curriculum

  • 2
    Introduction to Kotlin
    • Why Kotlin
    • What Kotlin really is?
    • How to master Kotlin
    • Let's take Action Now!
  • 3
    Getting the softwares
    • Download JDK
    • Download IntelliJ IDEA
    • Set up IDE
    • How to Create a new kotlin file
  • 4
    Basics of Programming
    • Chapter Intro
    • Computers, how do they really work
    • Representing numbers in programming
    • Binary numbers in programming
    • More about binary numbers in programming
    • Converting base 10 to base 2
    • Hexadecimal numbers
    • How code works
    • Comments in programming
    • Printing out in kotlin
    • Arithmetic operations
    • Simple operations in programming
    • Decimal numbers
    • The remainder operation
    • Shift operations in programming
    • Order of operations
    • Math functions
    • Naming data in programming
    • Constants in programming
    • Variables in programming
    • Meaningful naming
    • Increment & Decrement
    • Key points & Exercises
    • What's up Kotlin!
  • 5
    Types and operations in Kotlin
    • Chapter Intro
    • Type conversion in kotlin
    • Operators with mixed types
    • Type inference
    • Strings in programming
    • Representing strings
    • Unicode
    • Strings in kotlin - Characters & Strings
    • Concatenation
    • String templates
    • Multi-line Strings in Kotlin
    • Pairs & Triples in Kotlin
    • Numeric types in kotlin
    • Any, Unit and Nothing
    • Key points & Exercises
    • What's up Kotlin!
  • 6
    Control Flow
    • Chapter Intro
    • Comparison Operators
    • Boolean operators
    • Boolean Logic
    • String equality
    • If expression
    • Short circuiting
    • Encapsulating variables
    • Loops
    • While Loops
    • Repeat-while Loops
    • Breaking out of a Loop
    • Key points of the chapter
    • Exercises
    • What's up Kotlin!
  • 7
    Advanced Control flow
    • Chapter Intro
    • Ranges in Kotlin
    • For Loop
    • Labeled Statements
    • When Expression
    • Returning Values in Kotlin
    • Advanced When Expressions
    • Key points of the Chapter
    • Exercises
  • 8
    Functions
    • Chapter Intro
    • Function basics
    • Function Parameters
    • Returning Values from Functions
    • Parameters as Constants
    • Function Overloading
    • Function Variables
    • Lack of Return
    • Function writing Tips
    • Key points of the Chapter
    • Exercises
    • Functions resources
  • 9
    Nullability
    • Chapter Intro
    • Introduction to Null
    • Sentinel values
    • Introduction to Nullable Types
    • Null Checking
    • Not null assertion Operator
    • Smart casts
    • Safe calls
    • The Let in Kotlin
    • Elvis operator
    • Key points of the Chapter
    • Exercises
    • Nullability Resources
  • 10
    Arrays and Lists
    • Chapter Intro
    • Arrays in Kotlin
    • Why Arrays Useful
    • Creating Arrays
    • Arrays of Primitive Types
    • Lists in Kotlin
    • Creating Lists
    • Mutable Lists
    • Using properties and Methods
    • Indexing
    • Slice by Ranges
    • Checking for an Array element
    • Appending Elements
    • Inserting Elements FREE PREVIEW
    • Removing Elements
    • Updating Elements
    • Iterating over a List
    • Nullability and Collection types
    • Key points of the Chapter
    • Exercises
    • Arrays and Lists Resources
  • 11
    Maps and Sets
    • Chapter Intro
    • Creating Maps
    • Adding Elements
    • Using properties and functions on Maps
    • Updating map Elements
    • Removing Elements
    • Iterating through map
    • Key points of the Maps
    • Sets in Kotlin
    • Creating Sets
    • Converting Array to Set
    • Getting Elements from Sets
    • Adding and removing Elements from Sets
    • Key points of the Chapter
    • Exercises
    • Maps and Sets Resources
  • 12
    Lambdas
    • Chapter Intro
    • Basics of Lambdas
    • Lambda shorthand
    • It keyword in Lambda
    • Lambda as argument
    • Meaningless Return Value
    • Capturing Lambda Expressions
    • Lambda sorting
    • Lambdas Iteration
    • Key points of the Chapter
    • Exercises
    • Lambdas Resources
  • 13
    Classes
    • Chapter Intro
    • Creating Classes
    • Reference Types
    • Working with References
    • Object Identity
    • Methods and Mutability
    • Mutability and Constants
    • State and side effects
    • Data Classes
    • Destructuring declaration
    • Key points of the Chapter
    • Exercises
    • Classes Resources
  • 14
    Objects
    • Chapter Intro
    • Singletons
    • Named Objects
    • Processing Singleton Pattern
    • Using Singleton
    • Objects vs Classes
    • Static members
    • Creating companion Objects
    • Anonymous Objects
    • Key points of the Chapter
    • Exercises
    • Objects Resources
  • 15
    Properties
    • Chapter Intro
    • Constructor Properties
    • Default Values
    • Property Initializers
    • Custom Accessors
    • Custom Getters
    • Custom Setters
    • Companion Object Properties
    • Delegated Properties
    • Observable Properties
    • Keypoints
    • Exercises
    • ExtensionProperties
    • Variable Limitation
    • Properties Resources
    • Lazy Properties
  • 16
    Methods
    • Chapter Intro
    • Intro To Methods
    • Methods vs Getters and Setters
    • Function Conversion To Method
    • Introduction To This keyword
    • Object Methods
    • Extension Methods
    • Companion Object Extensions
    • Keypoints
    • Exercises
    • Methods Resources
  • 17
    Advanced classes
    • Chapter Intro
    • Intro To Inheritance
    • Polymorphism
    • Checking Runtime Hierarchy
    • Inheritance VS Methods And Overrides
    • Introduction To Super
    • Inheritance Prevention
    • Abstract Classes
    • Sealed Classes
    • Secondary Constructors
    • Nested And Inner Classes
    • Visibility Modifiers
    • Why Inheritance
    • Keypoints
    • Advanced Classes Resources
  • 18
    Enum classes
    • ChapterIntro
    • Creating enums
    • Updating Case Order
    • Enum Properties And Functions
    • Enum VS When
    • Enum Vs Sealed Classes
    • Sealed Class Creation
    • Enumeration And State Machine
    • Nullables And Enums
    • Key Points
    • Exercises
    • Enum Classes Resources
  • 19
    Interfaces
    • Chapter Intro
    • Intro To Interface
    • Interface Syntax
    • Interface Methods
    • Default Method Implementation
    • Interface Properties
    • Interface Inheritance
    • Implementing Multiple Interfaces
    • Iterator Interface
    • Comparable Interface
    • Key points
    • Exercises
    • Interfaces Resources
  • 20
    Generics
    • Chapter Intro
    • Lists
    • Maps
    • Extension Functions VS Generic Constraints
    • Creating Generic Constraints - Part 1
    • Creating Generic Constraints - Part 2
    • Creating Generic Constraints - Part 3
    • Creating Generic Constraints - Part 4
    • Creating Generic Constraints - Part 5
    • Creating Generic Constraints - Part 6
    • Generic Interfaces - Part 1
    • Generic Interfaces - Part 2
    • Generic Interfaces - Part 3
    • Generic Interfaces - Part 4
    • Generic Interfaces - Part 5
    • Generic Interfaces - Part 6
    • Generic Interfaces - Part 7
    • In And Out Declarations - Part 1
    • In And Out Declarations - Part 2
    • In And Out Declarations - Part 3
    • In And Out Declarations - Part 4
    • In And Out Declarations - Part 5
    • Key points
    • Exercises
  • 21
    Exceptions
    • What Is Exception - Part 1
    • What Is Exception - Part 2
    • Handling Exceptions
    • Throwing Exceptions
    • Checked Exceptions
    • Try Catch Expression
    • Creating Custom Exception - Part 1
    • Creating Custom Exception - Part 2
    • Key Points
    • Exercises
  • 22
    Functional Programming
    • Chapter Intro
    • What Is Functional Programming
    • Coding In Functional Programming - Part 1
    • Coding In Functional Programming - Part 2
    • CodingIn Functional Programming - Part 3
    • First Class And Higher Order Functions
    • Function As Argument
    • Returning Functions
    • Lambdas In Functional Programming

Meet your instructor!

Morteza Kordi
Developer, Programmer, Designer and Teacher


Bestselling Instructor, 4 Courses, Serving over 60,000 Students, Senior Developer 

Why are 60,000+ students enrolled in my online courses?

1) I teach with passion and purpose! Every course is delivered with my students in mind. We are in the same team. We work until we get results.

2) My courses will help you achieve real results and change your life today!

3) I'll answer every question that my students ask.

4) Most of my students have already published their Android Apps to Google Play.

5) My courses are project based. Students learn each concepts by working on real world projects.

► Try enrolling in a course with me and see for yourself ◄

Take this course today!

"Kotlin in Action - Kotlin programming for Android developers"

Bundle including this course!