Welcome to the Kotlin Introduction Course repository by Bayt-al-Hikmah! This collection of lecture notes is designed for beginners and intermediate learners aiming to master Kotlin programming fundamentals. Whether you're new to coding or refreshing your skills, these notes provide structured, step-by-step guidance through core concepts.
Bayt-al-Hikmah (House of Wisdom) is dedicated to preserving and disseminating knowledge, inspired by the historic intellectual center of the Islamic Golden Age. These lectures emphasize clear explanations, practical examples, and hands-on exercises to build a strong foundation in the Kotlin language.
-
Basic familiarity with computers and file management.
-
No prior programming experience required (though helpful).
-
Kotlin SDK and an IDE like IntelliJ IDEA or Android Studio.
-
Install Kotlin:
-
Download the Kotlin compiler from kotlinlang.org.
-
Alternatively, use IntelliJ IDEA with Kotlin plugin or an online tool like play.kotlinlang.org.
-
-
Install an editor/IDE: IntelliJ IDEA Community Edition with Kotlin support is recommended for beginners.
-
Test your setup: Run a "Hello, World!" program (example in Lecture 1)
This 5-lecture series covers essential Kotlin topics progressively. Each lecture includes:
-
Theoretical explanations.
-
Code examples and snippets.
-
Exercises for practice.
-
References for further reading.
| Lecture | Topic | Key Concepts Covered |
|---|---|---|
| Lecture 1 | Variables and Input-Output | Variables, data types (Int, String, List, etc.), user input/output with readLine()/println(). |
| Lecture 2 | Control Flow | Logical/comparison operators, if-else statements, when expressions, for/while loops. |
| Lecture 3 | Functional Programming, Modules, and External Libraries | Lambda expressions, higher-order functions, module creation, using external libraries. |
| Lecture 4 | Object-Oriented Programming and Error Handling | Classes, objects, inheritance, try-catch for exception handling. |
| Lecture 5 | File Handling | File I/O with java.io and Kotlin-specific APIs, reading/writing files. |
Recommended Pace: 1-2 lectures per week, with time for coding practice. Total estimated time: 15-25 hours.
-
Exercises: Each lecture ends with coding challenges. Solutions can be added in a separate /exercises folder.
-
Mini-Project Ideas:
-
Lecture 2: Command-line calculator using control flow.
-
Lecture 3: Task manager using functional programming and external libraries.
-
Lecture 5: File-based note-taking app with read/write operations.
-
-
Resources: kotlinlang.org for documentation, Maven Central for libraries, and Exercism Kotlin track for problems.
We welcome contributions! Help expand these notes with:
-
Corrections or clarifications.
-
Additional examples or exercises.
-
Translations or adaptations.
This project is licensed under the MIT License – feel free to use, modify, and distribute.
Questions? Open an issue or reach out via:
-
GitHub: @Bayt-al-Hikmah
-
Email: alitighiouart2001@gmail.com
Happy coding! 🚀 Let's build wisdom through Kotlin.