After taking the course you should be able to.
- Understand the strengths of Kotlin.
- Start working professionally as a Kotlin developer.
- Create your own DSL.
- Lead discussions on migrating to Kotlin with strong arguments.
- Write Kotlin code for applications running on desktop/backend/frontend/mobile.
- A passion for programming and to learn Kotlin
- Your own laptop
- IntelliJ Community Edition + the Kotlin plugin. (Free software)
OVERVIEW & PURPOSE
Curious about the new language that changed the entire Android world? That made Google take it under its own wings, that have Java Champions at Red Hat salute it.
Kotlin is the modern language to be aware of, it’s rapidly growing and constantly improving and first of all - seamlessly integrated with Java - makes it stand out as one of the top languages within a couple of years.
This course will attempt to show you why.
Kotlin is one of the fastest growing programming languages in the world. It’s ability to seamlessly co-exist with Java makes it compatible with probably the biggest code base available as well. In fact, one of the purposes of Kotlin was to build a better Java.
So you have a modern language that is easy to learn, concise, expressive, statically typed, minimal boilerplate that soon also will be multiplatform (experimental so far).
Every Android developer how isn’t already on the train thinks about how it will affect them. And many backend java-developers out there has a great opportunity to learn and use a new language in a familiar environment.
Last but not least, the IDEs is created by the same company as the language. So you know you will have solid tools that are up to date with all features, be it experimental or stable.
You should have programming experience in some language, preferably Java or similar. But any object-oriented (or OO featured) language will do. This is not an introductory course to programming, it’s a course on Kotlin, from an introduction to complex features. Although it will teach Kotlin from its fundamentals it won’t describe what an if-statement, lambda or immutables are more than briefly.
Knowledge of the following concepts in any general programming language:
- if, loops, class, instance, protocol/interface, functions, variable, null/nil, array/list, map/dictionary
Preferred knowledge of these concepts and one of these languages:
The course will keep a high tempo to slow down a bit during the second day when the complexity of the material increases. This is to be able to go through all the concepts of Kotlin and for the attendees to be able to try them all out in the time frame of the course.