Skip to content

Bayt-al-Hikmah/Kotlin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kotlin Introduction Course

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.

Prerequisites

  • 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.

Setup Instructions

  1. Install Kotlin:

    • Download the Kotlin compiler from kotlinlang.org.

    • Alternatively, use IntelliJ IDEA with Kotlin plugin or an online tool like play.kotlinlang.org.

  2. Install an editor/IDE: IntelliJ IDEA Community Edition with Kotlin support is recommended for beginners.

  3. Test your setup: Run a "Hello, World!" program (example in Lecture 1)

Course Overview

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.

Practice and Projects

  • 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.

Contributing

We welcome contributions! Help expand these notes with:

  • Corrections or clarifications.

  • Additional examples or exercises.

  • Translations or adaptations.

License

This project is licensed under the MIT License – feel free to use, modify, and distribute.

Contact

Questions? Open an issue or reach out via:

Happy coding! 🚀 Let's build wisdom through Kotlin.

About

Introduction to Kotlin Programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages