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
Summary and Conclusion
Requirements
- Basic computer literacy
 - No prior programming experience required
 
Testimonials (1)
Alex is a very friendly, personable guy. He made everyone feel comfortable working through together and volunteering to give slutions.