Bu eğitim serisi; tek bir satır kod bilmeyen, teknik terimlere yabancı fakat bir fikri çalışan bir yazılıma, web sitesine veya veri analizi aracına dönüştürmek isteyenler için hazırlanmıştır. Gemini, yalnızca hazır kod yazan bir araç değil; mimariyi planlayan, hata ayıklayan ve süreci öğreten interaktif bir yazılım ortağıdır.
Modül 1: Temel Mantık ve Zihniyet Değişimi (Prompt Mühendisliği ile Kodlama)
Geleneksel programlamada sözdizimini (syntax) ezberlemek gerekirken, Gemini ile kodlamada asıl beceri problemi parçalara ayırma ve net şartname (spesifikasyon) yazma yeteneğidir.
1. Rol ve Çerçeve Tanımlama Kuralı
Gemini’a “bana bir kod yaz” demek yerine her zaman üç unsuru içeren bir çerçeve sunulmalıdır:
- Rol: Gemini’ın kimliği (ör. Kıdemli Python Geliştiricisi, Web Tasarımcısı).
- Görev: Yapılacak işin net tanımı.
- Kısıtlar & Format: Hangi dilde yazılacağı, kütüphaneler, kodun çalışma ortamı ve açıklamaların detay seviyesi.
İdeal İstemi Kalıbı:
“Sen deneyimli bir Python eğitmenisin. Hiç kodlama bilmeyen biri için [Görev] işlemini yapan bir script yazmanı istiyorum. Kodu blok blok açıkla, teknik terimleri günlük hayattan benzetmelerle aktar ve kodu bilgisayarımda nasıl çalıştıracağımı adım adım listele.”
Modül 2: Çalışma Ortamının Kurulumu
Yazılan kodların çalışabilmesi için bilgisayarda veya bulutta bir çalışma ortamına ihtiyaç vardır. En pratik iki yol:
- Kurulumsuz Yol (Google Colab):
- Tarayıcıdan
colab.research.google.comadresine gidilir. - “Yeni Not Defteri” açılır.
- Gemini’ın verdiği Python kodları hücreye yapıştırılır ve solundaki “Oynat (Play)” butonuna basılır.
- Tarayıcıdan
- Yerel Kurulum (VS Code + Python):
- Bilgisayara
python.orgüzerinden Python yüklenir (“Add Python to PATH” kutucuğu mutlaka işaretlenmelidir). - Kod editörü olarak Visual Studio Code kurulur.
- Bilgisayara
Modül 3: Adım Adım Uygulamalı Kodlama Dersleri
Ders 1: Değişkenler, Döngüler ve Şartlar (Harcama Takip Konsolu)
Senaryo: Günlük harcamalarımızı kaydeden ve bütçeyi aştığımızda bizi uyaran bir program yazmak.
Gemini’a Verilecek İstemi:
“Ben hiç kod bilmiyorum. Python dilinde konsoldan çalışan basit bir ‘Kişisel Harcama Takipçisi’ yapmak istiyorum. Kullanıcıdan harcama tutarını ve kategorisini alsın, toplam bütçe 5000 TL’yi aşarsa uyarı versin. Lütfen değişkenlerin, if-else bloklarının ne işe yaradığını yorum satırlarıyla anlat.”.
Gemini’ın Üreteceği Kod:
HARCAMA TAKİP PROGRAMI
1. Başlangıç değişkenleri (Hafızada tutulan kutular)
aylik_butce = 5000.0
toplam_harcama = 0.0
print("--- Harcama Takip Sistemine Hoş Geldiniz ---")
print(f"Tanımlı Bütçeniz: {aylik_butce} TL\n")
while True:
# Kullanıcıdan girdi alma
harcama_input = input("Harcama tutarını girin (Çıkmak için 'q'): ")
# Döngüden çıkış kontrolü
if harcama_input.lower() == 'q':
break
# Girilen metni ondalıklı sayıya dönüştürme (Type Casting)
tutar = float(harcama_input)
toplam_harcama += tutar
print(f"Eklenen: {tutar} TL | Güncel Toplam Harcama: {toplam_harcama} TL")
# Karar yapısı (Şart bloğu)
if toplam_harcama > aylik_butce:
fark = toplam_harcama - aylik_butce
print(f"DİKKAT: Bütçenizi {fark} TL aştınız!")
else:
kalan = aylik_butce - toplam_harcama
print(f"Kalan Bütçeniz: {kalan} TL")
print("-" * 30)
print("\nProgram sonlandırıldı. Toplam harcamanız:", toplam_harcama)
Ders 2: Fonksiyonlar ve Modüler Kodlama (Otomatik Veri Dönüştürücü)
Fonksiyonlar, tekrar eden işleri tek bir komut altına toplayan fabrikalardır.
Gemini’a Verilecek İstemi:
Python’da fonksiyon (def) kavramını anlamak istiyorum. Bana farklı para birimlerini (USD, EUR) güncel sabit kurlar üzerinden TL’ye çeviren fonksiyonel bir yapı kur ve her satırın mantığını izah et.
Gemini’ın Üreteceği Kod:
Kurların tanımlanması
KUR_DOLAR = 34.50
KUR_EURO = 37.80
def para_cevir(miktar, birim):
"""
Bu fonksiyon verilen döviz miktarını TL'ye dönüştürür.
"""
birim = birim.upper() # Küçük harf girilse bile büyütür
if birim == "USD":
sonuc = miktar * KUR_DOLAR
return f"{miktar} USD = {sonuc:.2f} TL"
elif birim == "EUR":
sonuc = miktar * KUR_EURO
return f"{miktar} EUR = {sonuc:.2f} TL"
else:
return "Desteklenmeyen para birimi!"
Fonksiyonun çağrılması (Kullanımı)
print(para_cevir(100, "USD"))
print(para_cevir(50, "EUR"))
Ders 3: Görsel ve Etkileşimli Arayüz Yapma (HTML/CSS/JS ile Hesap Makinesi)
Yalnızca konsol ekranında kalmayıp tıklanabilir web arayüzleri inşa etmek için Gemini ideal bir yardımcıdır.
Gemini’a Verilecek İstemi:
Bana tek bir HTML dosyası içinde çalışan, modern ve şık tasarıma sahip bir indirim hesaplayıcı yap.
Ürün fiyatını ve yüzde indirim oranını yazınca indirimli tutarı anlık göstersin. HTML, CSS ve JavaScript kodlarının hepsini tek bir dosya (index.html) içinde birleştir.
Gemini Çıktısı (index.html):
Modern İndirim Hesaplayıcı
İndirim Hesapla
Ürün Fiyatı (TL):
<label>İndirim Oranı (%):</label>
<input type="number" id="oran" placeholder="Örn: 20">
<button onclick="hesapla()">Hesapla</button>
<div class="result" id="sonucAlani"></div>
Bu kodu bir metin belgesine yapıştırıp adını index.html olarak kaydedip çift tıkladığınızda doğrudan tarayıcınızda çalışan bir web uygulaması elde edilir.
Modül 4: Hata Ayıklama (Debugging) ve Sorun Çözme Stratejisi
Kod yazarken en sık karşılaşılan durum hatalardır (bugs). Gemini ile hata ayıklarken şu adımlar izlenmelidir:
- Hata Metnini Bütünüyle Kopyalayın: Terminaldeki veya derleyicideki kırmızı hata satırını değiştirmeden alın.
- Kodu ve Hatayı Birlikte İletin:“Aşağıdaki kodda şu hatayı alıyorum:
IndexError: list index out of range. Bu hata tam olarak hangi satırda neden kaynaklanıyor ve nasıl düzeltirim?” - Ek Açıklama İsteyin: Sadece düzeltilmiş kodu almak yerine “Bu hatayı bir daha yapmamak için neye dikkat etmeliyim?” sorusu yöneltilmelidir.
Modül 5: Kendi Projenizi Geliştirmek İçin 4 Aşamalı Yol Haritası
- Kapsamı Tanımlayın: Ne yapmak istediğinizi maddeler halinde Gemini’a anlatın (Örnek: “Bir Excel dosyasını okuyup sütunlardaki eksik verileri temizleyen bir araç istiyorum”).
- Adım Adım İlerleyin: Tüm projeyi tek bir istemde istemek yerine; önce veri okumayı, sonra temizlemeyi, en son raporlamayı yazdırın.
- Kodunuzu Yorumlatın: Anlamadığınız her satır için “Şu satırdaki
lambdaifadesini bir ilkokul öğrencisine anlatır gibi açıkla” şeklinde sorgulama yapın. - Güvenlik ve Test: “Bu kod hangi senaryolarda çökebilir? Hatalı veri girişine karşı nasıl dayanıklı hale getirebiliriz?” diyerek kodunuzu güçlendirin.
Yorumlar (0)