Öppna kurser

Programming Kotlin with Dr. Venkat Subramaniam

Kotlin is a language that is gaining immense popularity for a few good reasons. It is a language that has been built from the strengths and powerful features of many different languages. This course has been designed to bring your team up to speed on Kotlin so they can be quickly productive in using the language.

The course has a good balance of interactive lectures and hands-on exercises. The attendees are expected to pair-up and work on the lab exercises. The instructor will assist the attendees as they work on the labs.

The objective of the course is for the attendees to gain an in depth practical knowledge of the concepts so they can put them to immediate use on their real projects.
The course content will be customized to meet your teams’ specific needs. Please review this detailed outline and suggest changes (additions, deletions, modifications) as you feel fit.

Målgrupp och förkunskaper

Erfarna javautvecklare.


Building Kotlin Code

• Compiling
• Bundling Kotlin
• Using the REPL
• Running as a Script
• Compiling to Java bytecode
• Compiling to JavaScript
• Exercises

Kotlin Essentials

• Defining variables and constants
• String Templates
• Raw Strings
• Expressions over statements
• Type Inference
• Exercises

Working with Functions

• Creating Functions
• Default and Named Arguments
• varargs and spread
• Destructuring
• Exercises


• Java Collections in Kotlin
• Pair and Triple
• Generics
• Variance
• Sequences
• Exercises

Imperative vs. Functional Style

• Creating Imperative Style code
• Creating Functional Stye code
• When does it make sense to use one vs. the other
• Exercises


• External Iterators
• Using Fluent Iteration
• Internal Iterators
• Exercises

Pattern Matching

• Benefits of using
• Matching different types
• Auto casting
• Exercises


• Types in Kotlin
• Type Safety
• Nullable
• Casting
• Exercises

Classes and OO Programming

• Creating Classes
• Inheritance
• Writing Constructors
• Overriding Methods
• Data Classes
• Exercises

Delegation and Extensions

• Extension Methods
• Delegation
• Lazy
• Creating custom delegations
• Exercises


• Asynchronous Programming

About the Instructor

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston.
He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.
Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You may read more about Venkat and Agile Developer, Inc. at http://agiledeveloper.com