A Kotlin workshop intended to be taught in two days.
NOTE: Upgraded to Kotlin 1.3.21, Gradle 5.2.1, JUnit 5.4.0. Removed coroutines section (will require more work now that the API is no longer experimental).
This workshop is divided into two parts
- Introduction to Kotlin
- Advanced Kotlin
It consists of
- Instructor Project: Used to explain concepts, with existing code samples
- Student Project: For students to complete
- Presentations: For the instructor to use
- Questions: For students to complete
Both the Instructor Project and the slides have Introduction and Advanced modules included. While the Introduction has a lot of pre-built examples, it also serves as a canvas to show more code while teaching. However, please make sure that if you're a contributing author to this project, that you do not check-in any ad-hoc code. It's also recommended to use Scratch files in IntelliJ IDEA for this purpose.
Slides for the workshop lead by Hadi Hariri can be found here.
Presentations used for the workshop at KotlinConf:
- Intro
- Nullable Types
- Object-Oriented Programming in Kotlin
- Kotlin Types
- Functional Programming in Kotlin
- The Power of inline
- Lambda With Receiver
- Conventions
- Intro to Coroutines
Questions can be found here. The keys to the questions are in the module instructor/quizzes
.
This workshop includes material from the following authors:
The material provided in this repository, including but not limited to source code, presentations, notes and exercises is Copyright (c) 2017 JetBrains, and is provided as-is.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
JetBrains and Kotlin are Registered Trademarks of their respective trademark holders.
We welcome all contributions to this workshop. If you feel you'd like to contribute something, create a fork and make a pull request. Bug fixes, comments, suggestions, all welcome.
If you're contributing code or samples, please send a pull request. If you'd like to update the slides or questions, please contact Hadi Hariri.
You are welcome to use the material in this workshop provided you abide by the corresponding license agreement. Additionally
- By using this material, with or without any modification, JetBrains does not endorse any workshop or training that you may offer.
- By using this material, with or without any modification, you may not use JetBrain's name to promote your workshop or training without prior written consent.
- By using this material, provided there are no modifications, you may indicate that you are using JetBrains Kotlin Workshop Material.
If you're interested in becoming an official JetBrains Training Partner, please contact us