Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/me-moghadasian/kotlin-learners-package
This package offers a concise introduction to Kotlin (using JupyterLab), focusing only on the essential concepts and skills. It covers the fundamental topics necessary for understanding and practicing (or reviewing) Kotlin.
https://github.com/me-moghadasian/kotlin-learners-package
android async asynchronous concurrency concurrent coroutines java jupyter kotlin lambda oop summary
Last synced: about 1 month ago
JSON representation
This package offers a concise introduction to Kotlin (using JupyterLab), focusing only on the essential concepts and skills. It covers the fundamental topics necessary for understanding and practicing (or reviewing) Kotlin.
- Host: GitHub
- URL: https://github.com/me-moghadasian/kotlin-learners-package
- Owner: me-moghadasian
- License: mit
- Created: 2024-09-03T08:56:29.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-16T10:45:46.000Z (about 1 month ago)
- Last Synced: 2024-10-18T06:14:13.159Z (about 1 month ago)
- Topics: android, async, asynchronous, concurrency, concurrent, coroutines, java, jupyter, kotlin, lambda, oop, summary
- Language: Jupyter Notebook
- Homepage:
- Size: 303 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kotlin Learners Package
## Description
This package offers a concise introduction to Kotlin (using JupyterLab), focusing only on the essential concepts and skills. It covers the fundamental topics necessary for understanding and practicing (or reviewing) Kotlin, including:
- [Introduction](01-intro.ipynb)
- [Functions](02-functions.ipynb)
- [Lambdas](03-lambdas.ipynb)
- [Collections](04-collections.ipynb)
- [Objects](05-objects.ipynb)
- [Classes](06-classes.ipynb)
- [OOP: Introduction](07-oop-intro.ipynb)
- [Useful Kotlin Classes](08-useful-classes.ipynb)
- [OOP: interfaces](09-oop-interfaces.ipynb)
- [Equality check, `is` and `as` operators](10-equal-is-as.ipynb)
- [Async/Concurrent: Introduction](11-async-concurrent-intro.ipynb)
- [Async/Concurrent: Basics](12-async-concurrent-basics.ipynb)
- [Async/Concurrent: Coroutine Context](13-async-concurrent-context.ipynb)
- [Async/Concurrent: Cooperative Cancellation](14-async-concurrent-cancellation.ipynb)
- [Async/Concurrent: Best Practices](15-async-concurrent-best.ipynb)
- [Generics](16-generics-intro.ipynb)
- [Flows](17-flows.ipynb)
- [TBD]## Who should use this?
This project is designed for **intermediate-level** developers who are looking to deepen their understanding of *core concepts* in [Kotlin](https://kotlinlang.org/). It is particularly beneficial for those who want to expand their knowledge, **review general principles**, or gain a broader perspective on [Kotlin](https://kotlinlang.org/). If you are an **expert** in this field, you might find the material **NOT** directly applicable to advanced scenarios. However, if you are eager to refresh your foundational skills or explore different approaches, this resource may still offer valuable insights
## Active Development
Please note that this package is *actively being modified and updated*. We are continuously working to improve and expand the content based on feedback and new developments in [Kotlin](https://kotlinlang.org/). New features, topics, and enhancements will be added over time.
## Features
- **Introduction** and **Basics**
- **Collections**
- **Object** and **Classes**
- **Functions** and **Lambdas**
- **OOP**
- **Async/Concurrent** programming
- and more...To get started with this package, follow these steps:
1. **Install Python** (if not already installed):
- Refer to [Python](https://www.python.org/downloads/) to download and install Python.
2. **Install Kotlin and Java**:
- Ensure you have [Kotlin](https://kotlinlang.org/docs/command-line.html) and the [Java Development Kit (JDK)](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) installed. Kotlin runs on the JVM (Java Virtual Machine), so you'll need both.3. **Install the Kotlin Jupyter Kernel**:
- You need the [Kotlin Jupyter Kernel](https://github.com/Kotlin/kotlin-jupyter) for Jupyter to run Kotlin code. You can install it using the following commands:
```bash
pip install kotlin-jupyter-kernel
python -m kotlin_jupyter_kernel.install
```4. **Clone the Repository**:
```bash
git clone https://github.com/me-moghadasian/kotlin-learners-package.git
```5. **Navigate into the Project Directory**:
```bash
cd kotlin-learners-package
```6. **Install JupyterLab** (if not already installed):
- If you don't have JupyterLab installed, you'll need Python and JupyterLab. You can install JupyterLab using:
```bash
pip install jupyterlab
```7. **Start JupyterLab**:
```bash
jupyter lab
```8. **Open and Explore the Notebooks and Scripts**:
- Use JupyterLab to open and explore the notebooks and scripts provided in the package.## Note
This package is still under development. New features and improvements will be added over time.
## Useful References
- [Kotlinlang](https://kotlinlang.org/docs/home.html)
- [An article by Jim Steinberger](https://www.baeldung.com/kotlin/coroutines-runblocking-coroutinescope)## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Author
Mehdi Moghadasian