FUNCTIONAL PROGRAMMING WITH KOTLIN EĞİTİMİ

Kotlin'de fonksiyonel düşün

Saf fonksiyon, değişmezlik, lambda, Sequence, Flow ve Arrow ile fonksiyonel Kotlin

Functional Programming with Kotlin Eğitimi, Kotlin dilini fonksiyonel paradigma ile kullanmayı öğretir. Program saf fonksiyon ve değişmezlik ilkeleri, lambda ve yüksek dereceli fonksiyonlar, map, filter ve fold ile koleksiyon dönüşümleri, Sequence ile tembel…

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Yüksek dereceli fonksiyonlardan değişmezliğe, Sequence'ten Flow ve Arrow ile Either'a kadar

Functional Programming with Kotlin Eğitimi, Kotlin dilini fonksiyonel paradigma ile kullanmayı öğretir. Katılımcılar saf fonksiyon ve değişmezlik ilkelerini, lambda ve yüksek dereceli fonksiyonları, kapanış ve fonksiyon tiplerini uygular. Ardından map, filter, fold dönüşümleri, Sequence ile tembel değerlendirme, scope fonksiyonları ve Flow ile fonksiyonel akış işlenir. Program Arrow kütüphanesiyle Option, Either ve hata yönetimini fonksiyonel biçimde ele alarak tamamlanır.

Süre ve Format

3 Gün. Her gün dört modül; kısa anlatımın ardından her kavram küçük ve çalıştırılabilir Kotlin örnekleriyle doğrudan kodda uygulanır.

Seviye

Orta Seviye — Kotlin'de saf fonksiyon, değişmezlik, yüksek dereceli fonksiyon ve Arrow ile fonksiyonel programlama

Öğrenme Metodu

Her fonksiyonel kavram önce küçük örneklerle gösterilir, ardından aynı problem zorunlu ve fonksiyonel biçimde karşılaştırmalı çözülür.

Neden Bu Eğitim?

🧠Öngörülebilir kod

Saf fonksiyon ve değişmezlikle yan etkileri azaltarak akıl yürütmesi kolay, test edilebilir ve daha az hatalı kod yazarsınız.

🔗Güçlü dönüşümler

map, filter, fold ve Sequence zincirleriyle veri dönüşümlerini okunabilir, kısa ve verimli biçimde ifade etmeyi öğrenirsiniz.

🛡️Güvenli hata yönetimi

Arrow ile Option ve Either kullanarak null ve istisna yerine tipli, açık ve bileşenlerarası taşınabilir hata akışı kurarsınız.

Anahtar Konular

kotlin fonksiyonel programlama eğitimifunctional programming kotlinkotlin kursuyüksek dereceli fonksiyonkotlin flow eğitimiarrow kotlindeğişmezlik kotlinkotlin lambdafonksiyonel programlama kursukotlin sequence
“Fonksiyonel programlama kodu kısaltmaktan çok; durumu, yan etkiyi ve hatayı açıkça görünür kılarak akıl yürütmeyi kolaylaştırır.”

Ön Koşullar

Eğitime başlamadan önce faydalı olacak bilgi ve kurulum

1
Kotlin temeli

Kotlin'de değişken, fonksiyon, sınıf ve koleksiyon kullanabilmek eğitimi takip etmek için temel gerekliliktir.

2
Programlama deneyimi

Herhangi bir dilde pratik yazılım deneyimi, fonksiyonel ve zorunlu yaklaşımı karşılaştırmayı kolaylaştırır.

3
Soyut düşünme

Fonksiyonu değer gibi düşünebilme ve soyutlama isteği, paradigmayı kavramayı belirgin biçimde hızlandırır.

4
Geliştirme ortamı

IntelliJ IDEA veya Android Studio'nun kurulu olması ve Kotlin kodunu çalıştırabilmek gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı saf fonksiyon ve değişmezlik ilkelerini kavrar, lambda ve fonksiyon tiplerini yazar ve fonksiyonu parametre veya dönüş değeri olarak kullanan yüksek dereceli fonksiyonları uygular.
Modül 1
Fonksiyonel Paradigmaya Giriş
  • Zorunlu ve fonksiyonel yaklaşımın karşılaştırması
  • Saf fonksiyon ve referans saydamlığı kavramı
  • Yan etki nedir ve neden sınırlandırılır
  • Bildirimsel ifade ile zorunlu akış farkı
  • Fonksiyonel kodun test edilebilirlik avantajı
  • Kotlin'in fonksiyonel özelliklere yaklaşımı
Modül 2
Değişmezlik ve Veri
  • val ile değişmez referans ve yeniden atama yasağı
  • data class ve copy ile değişmez güncelleme
  • Değişmez koleksiyon ile değişebilir koleksiyon farkı
  • Paylaşılan durumun değişmezlikle güvenliği
  • Kalıcı veri yapısı ve yapısal paylaşım fikri
  • Değişmezliğin eşzamanlılıkta sağladığı güven
Modül 3
Lambda ve Fonksiyon Tipleri
  • Lambda söz dizimi ve it örtük parametresi
  • Fonksiyon tipi tanımı ve değişkende tutma
  • Fonksiyon referansı ve çift iki nokta söz dizimi
  • Kapanış ile dış değişkenlerin yakalanması
  • Son lambda argümanı ve süslü parantez biçimi
  • inline fonksiyonlarla lambda maliyetini azaltma
Modül 4
Yüksek Dereceli Fonksiyonlar
  • Fonksiyonu parametre olarak alan fonksiyonlar
  • Fonksiyon döndüren fonksiyon ve üretici kalıbı
  • Fonksiyon kompozisyonu ve zincirleme
  • Currying ve kısmi uygulama yaklaşımı
  • Alıcılı lambda ile tip güvenli DSL kurma
  • Yeniden kullanılabilir davranış soyutlama
Günün hedefiKatılımcı koleksiyonları map, filter, fold gibi dönüşümlerle işler, Sequence ile tembel değerlendirmeyi uygular ve scope fonksiyonlarıyla akıcı ve yan etkisi kontrollü kod yazar.
Modül 1
Dönüşüm Operatörleri
  • map ile eleman dönüştürme ve flatMap ile düzleştirme
  • filter, filterNot ve take ile eleman seçme
  • groupBy ve associate ile yapılandırma
  • zip ve partition ile çoklu veri birleştirme
  • distinct ve sorted ile düzenleme
  • Zincirleme ile okunabilir dönüşüm hattı kurma
Modül 2
fold, reduce ve Katlama
  • reduce ile koleksiyonu tek değere indirme
  • fold ile başlangıç değerli birikim
  • runningFold ve scan ile ara sonuçlar
  • Toplam, çarpım ve özel birikim örnekleri
  • Boş koleksiyonda reduce ve fold farkı
  • Katlamanın özyinelemeli özetlemeyle ilişkisi
Modül 3
Sequence ve Tembel Değerlendirme
  • Sequence ile tembel ve List ile hevesli işleme farkı
  • asSequence ile zincirde ara liste oluşmaması
  • generateSequence ile sonsuz dizi üretimi
  • take ve first ile kısa devre değerlendirme
  • Büyük veride Sequence'in bellek avantajı
  • Sequence ile List arasında seçim ölçütleri
Modül 4
Scope Fonksiyonları
  • let ile null güvenli dönüşüm ve kapsam
  • run ve with ile nesne üzerinde işlem
  • apply ile nesne yapılandırma ve kurucu kalıbı
  • also ile yan etki ve günlükleme
  • this ve it bağlamının fonksiyona göre değişimi
  • Zincirde doğru scope fonksiyonu seçimi
Günün hedefiKatılımcı Flow ile fonksiyonel eşzamansız akış kurar, sealed class ile cebirsel veri modeller ve Arrow kütüphanesiyle Option ve Either kullanarak hata yönetimini fonksiyonel biçimde uygular.
Modül 1
Flow ile Fonksiyonel Akış
  • Flow ile tembel ve soğuk akış oluşturma
  • map, filter ve transform ile akış dönüşümü
  • collect ile akışı toplayarak tüketme
  • flatMapConcat ve flatMapMerge ile birleştirme
  • catch ve onEach ile akışta yan etki ve hata
  • Flow ve Sequence arasındaki benzerlik ve fark
Modül 2
Cebirsel Veri Tipleri
  • sealed class ile kapalı tip hiyerarşisi
  • when ile ayrıntılı ve eksiksiz eşleştirme
  • Toplam tip ve çarpım tipi ayrımı
  • Durumu geçersiz yapılamaz biçimde modelleme
  • enum ile sealed class arasında seçim
  • Veri modelini türle sınırlandırma avantajı
Modül 3
Arrow ile Option ve Either
  • Arrow kütüphanesinin kurulumu ve kapsamı
  • Option ile null yerine açık yokluk
  • Either ile başarı ve hata değerini tipleme
  • map ve flatMap ile Either zincirleme
  • Raise ve bind ile fonksiyonel hata akışı
  • Validated ile hataları biriktirme
Modül 4
Fonksiyonel Tasarım ve Uygulama
  • Saf çekirdek ve kabuk mimarisi yaklaşımı
  • Yan etkileri kenara itme ve test kolaylığı
  • Fonksiyonel ve nesne yönelimli kodu birleştirme
  • Örnek bir iş kuralının fonksiyonel çözümü
  • Hata yönetiminde istisna yerine tip kullanımı
  • Okunabilirlik ve performans arasında denge

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Saf fonksiyon yazma

Yan etkisiz, referans saydam ve test edilebilir saf fonksiyonlar yazıp zorunlu çözümden ne zaman ayrılacağınızı bilirsiniz.

✅
Değişmez tasarım

val, data class ve copy ile değişmez veri yapıları kurup paylaşılan durumu güvenli biçimde yönetebilirsiniz.

✅
Yüksek dereceli fonksiyon

Fonksiyonu parametre ve dönüş değeri olarak kullanıp kompozisyon ve kapanışla yeniden kullanılabilir davranış kurarsınız.

✅
Koleksiyon dönüşümü

map, filter, fold ve groupBy zincirleriyle veri dönüşümlerini okunabilir ve kısa biçimde ifade edebilirsiniz.

✅
Tembel değerlendirme

Sequence ile ara liste oluşturmadan büyük veriyi tembel ve bellek dostu biçimde işlemeyi uygulayabilirsiniz.

✅
Scope fonksiyonları

let, run, apply, also ve with arasında doğru seçim yaparak akıcı ve bağlamı net kod yazabilirsiniz.

✅
Flow ile akış

Flow operatörleriyle eşzamansız veriyi fonksiyonel biçimde dönüştürüp hata ve yan etkiyi kontrollü yönetebilirsiniz.

✅
Tipli hata yönetimi

Arrow ile Option ve Either kullanarak null ve istisna yerine açık, tipli ve taşınabilir hata akışı kurabilirsiniz.

Kimler İçin Uygundur?

  • Kotlin'i temel düzeyde bilen ve kodunu daha öngörülebilir
  • test edilebilir ve değişmez hale getirmek isteyen yazılımcılar
  • Android
  • backend geliştiricileri ile fonksiyonel paradigmayı öğrenmek isteyen öğrenciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Kotlin'i temel düzeyde bilen ve kodunu daha öngörülebilir, test edilebilir ve değişmez hale getirmek isteyen yazılımcılar, Android ve backend geliştiricileri ile fonksiyonel paradigmayı öğrenmek isteyen öğrenciler için uygundur. Önceden fonksiyonel programlama deneyimi gerekmez.
Eğitimin süresi ve formatı nedir?
Eğitim üç gün sürer ve her gün dört modülden oluşur. Her kavram önce küçük örneklerle gösterilir, ardından aynı problem zorunlu ve fonksiyonel biçimde karşılaştırmalı çözülür. Yüz yüze veya online yapılabilir ve kuruma göre uyarlanabilir.
Kotlin bilmeden katılabilir miyim?
Eğitim Kotlin'in temel söz dizimini bildiğinizi varsayar; değişken, fonksiyon, sınıf ve koleksiyon kullanabilmeniz beklenir. Fonksiyonel kavramlar sıfırdan anlatılır ancak dilin kendisi için temel bir Kotlin bilgisi önerilir.
Arrow kütüphanesi işleniyor mu?
Evet. Son günde Arrow kütüphanesi kurulur ve Option, Either, Validated ile Raise gibi yapılarla fonksiyonel hata yönetimi uygulanır. Böylece null ve istisna yerine tipli ve açık hata akışını gerçek örneklerle kullanırsınız.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve uygulanan örnekleri belgeler; kurumsal gruplara özel uyarlama yapılabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Functional Programming with Kotlin Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Android ve KotlinAdvanced Appium Techniques & Practical Scenarios in Android Automation Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Advanced Appium Techniques & Practical Scenarios in Android Automation Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Appium ile ileri Android test otomasyonu eğitimi: UiAutomator2, Page Object Model, paralel çalıştırma, CI entegrasyonu ve raporlama. Uygulamalı.

Detayları Gör →
Android ve KotlinAdvanced Design, Build, & Android Wear Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Advanced Design, Build, & Android Wear Eğitimi

5 günİleriOnline / Yüz Yüze / Hibrit

İleri Android eğitimi: özel arayüz ve animasyon, çok modüllü Gradle build, R8 ve Compose for Wear OS ile giyilebilir uygulama geliştirme.

Detayları Gör →
Android ve KotlinAdvanced Gestures Automation with Key Events in Android Using Appium Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Advanced Gestures Automation with Key Events in Android Using Appium Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Appium ile ileri jest ve tuş olayı otomasyonu eğitimi: W3C Actions, swipe, sürükle-bırak, pinch, KeyEvent ve donanım tuşları. Uygulamalı.

Detayları Gör →
Android ve KotlinAndroid Activities, Connectivity, & Services Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android Activities, Connectivity, & Services Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Android bileşen, bağlantı ve servis eğitimi: Activity yaşam döngüsü, Intent, ConnectivityManager, servisler, WorkManager ve bildirimler. Uygulamalı.

Detayları Gör →
Android ve KotlinAndroid App Layout Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android App Layout Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

ConstraintLayout, Material 3 ve Jetpack Compose ile duyarlı Android arayüz yerleşimi eğitimi. View sisteminden Compose'a uygulamalı ve kurumsal.

Detayları Gör →
Android ve KotlinAndroid App Structure & Formatting Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android App Structure & Formatting Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Gradle, modülerleştirme, ktlint, detekt ve katmanlı mimari ile düzenli Android proje yapısı ve tutarlı kod biçimi eğitimi. Uygulamalı ve kurumsal.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn