Künye ve şubeler
| Şube | Teori | Laboratuvar |
|---|---|---|
| A | Cuma 09.15 | Çarşamba 13.15 |
| B | Cuma 13.15 | Perşembe 15.15 |
Laboratuvar oturumları aynı haftanın teori dersinden bir hafta sonra yapılır; ilgili haftanın sayfasında her iki şubenin lab tarihi ayrıca yazılıdır. Labları Arş. Gör. Ömer Miraç Kökçam yürütür.
- Ders kodu
- YMT1101
- Üniversite
- Fırat Üniversitesi
- Fakülte
- Teknoloji Fakültesi
- Bölüm
- Yazılım Mühendisliği
- Hedef kitle
- Yazılım Mühendisliği 1. sınıf (A ve B şubeleri)
- Düzey
- Lisans
- Dönem
- 2026–2027 Güz
- Öğretim dili
- Türkçe (programlama dili: Java)
- Programlama dili
- Java
- Ders saati
- Cuma 09.15 (A) · Cuma 13.15 (B)
- Saatler (T/U/L)
- 3 / 2 / 2
- Yerel kredi
- 4
- AKTS
- 6
- Ön koşul
- Yok. Bilgisayar bilimiyle ilk kez tanışan öğrenciler için tasarlanmıştır.
Dersin amacı
Bu dersin amacı, bilgisayar bilimiyle ilk kez tanışan öğrencilere algoritmik düşünmeyi ve Java ile programlamanın temellerini uygulamalı olarak kazandırmaktır. Öğrenciler ilk günden itibaren kod çalıştırır; bir problemi adımlara dökmeyi, akış diyagramı ve sözde kodla ifade etmeyi, seçim ve döngü yapılarıyla çözmeyi, metotlarla düzenlemeyi ve dizilerle veri işlemeyi öğrenir. Dönem boyunca GitHub'da büyüyen bir portfolyo uygulaması geliştirirler.
Öğrenim çıktıları
Dersi başarıyla tamamlayan öğrenci:
- Bir problemi algoritmik adımlara döker; akış diyagramı ve sözde kod ile ifade eder. H1H2H13
- Java programı yazar, derler, çalıştırır; sözdizimi, çalışma zamanı ve mantık hatalarını ayırt edip düzeltir. H1H2H3
- Değişken, veri tipi, operatör ve Scanner ile girdi alma yapılarını doğru kullanır. H3H4
- Seçim (if/else, switch) ve tekrar (while, do-while, for) yapılarıyla problem çözer; gözcü değerli ve iç içe döngüler kurar. H4H5H6H7
- Metot tanımlar, parametre ve dönüş değerini kullanır; programı artımlı geliştirir ve çağrı yığınını izler. H8H9
- Tek ve çok boyutlu diziler ile String üzerinde arama, sıralama ve sayma algoritmaları yazar; küçük bir uygulama geliştirip GitHub'da sunar. H10H11H12H13H14
Nasıl işlenir?
- Yüz yüze ders (slayt yok; ders sitesi yansıda açık)
- Kağıt üzerinde haftanın bulmacası
- Canlı kodlama ve "önce tahmin, sonra çalıştır"
- Hata avı (bilerek hatalı kodda hata sayma)
- Bilgisayar laboratuvarı (haftalık görevler)
- Portfolyo temelli dönem projesi (GitHub)
Derste ve labda Java kullanılır. Sayfalardaki kod blokları kopyalanıp kurulum gerektirmeyen Java Playground'da çalıştırılabilir; kendi bilgisayarınıza JDK ve bir editör kurmak için rehberlere bakın.
Değerlendirme
| Bileşen | Ağırlık | Not |
|---|---|---|
| Ara sınav | %40 | Kağıt üzerinde: kod izleme, boşluk doldurma ve portfolyodan 10 puanlık soru ("ilk sürümündeki seçim yapısını yaz"). Yapay zeka kullanılmaz. Tarih bölümce ilan edilecek (9. hafta civarı). |
| Yarıyıl sonu sınavı | %60 | Kağıt üzerinde. İçinde 15 puanlık portfolyo metot sorusu ("uygulamandaki ... metodunu yaz ve şu girdiyle izle / şu ek koşulla değiştir"). Portfolyosunu teslim etmeyen bu soruyu yapamaz. |
Portfolyo
Dönem boyunca büyüyen bir kod portfolyosu
Her öğrencinin GitHub'da tek bir deposu olur ve dönem boyunca küçük bir konsol uygulaması bu depoda büyür. Konunuz ve sizi aynı konudaki arkadaşlarınızdan ayıran kural öğrenci numaranıza göre dağıtılmıştır; ikisini de /proje sayfasında numaranızla bulursunuz. Her uygulama ortak sözleşmeye uyar, dört kilometre taşında (KT) teslim alınır ve vize ile final sorularının bir kısmı doğrudan sizin uygulamanızdan gelir. Dersi alttan alan arkadaşlar da projeyi yapar.
Depo, konu ve ilk karar: seçim yapıları
6 Kasım Cuma 23.59. Depo açılmış, README'de konunuz ve ayırt edici kuralınız yazılı. Uygulama Scanner ile girdi alıyor, en az bir if/else ile karar veriyor ve ayırt edici kural en basit haliyle kodda. Vizedeki 10 puanlık soru bu sürümden gelir.
Döngülü sürüm: gözcü değerle biten menü
27 Kasım Cuma 23.59. Ana akış gözcü değerle (ör. 0 veya 'q') biten bir menü döngüsünde çalışıyor; yanlış girdiyi doğru girdiye kadar soran bir girdi doğrulama döngüsü var.
Metotlu ve dizili sürüm
11 Aralık Cuma 23.59. Kod metotlara bölünmüş: dizi alıp tek değer döndüren bir metot ve girdi doğrulayan bir metot var; veriler dizide tutuluyor.
Son teslim ve üç dil
25 Aralık Cuma 23.59. README tam, AI-BEYANI.md dolu, çalışan son sürüm. Çekirdek algoritma yapay zeka yardımıyla Python ve C'ye çevrilmiş, üç dil arasındaki farklar bir paragrafta anlatılmış. Finaldeki 15 puanlık soru bu sürümden gelir.
Portfolyo kuralları
- Tek depo, tek uygulama; her kilometre taşı aynı deponun yeni sürümüdür (etiket veya klasör).
- Ana sınıfın adı her zaman Uygulama kalır ve menüde 0 her zaman çıkıştır; otomatik kontrol programa yalnızca 0 verip hatasız bitmesini bekler.
- Konu ve ayırt edici kural öğrenci numaranıza göre verilmiştir (/proje sayfasındaki tablo); konu değiştirilmez, ayırt edici kural uygulamanın içinde çalışır halde bulunur.
- Ortak sözleşme: dizi alıp tek değer döndüren bir metot, girdi doğrulayan bir metot, gözcü değerle biten bir döngü ve çalışan ayırt edici kural zorunludur.
- Her teslimde README.md ve AI-BEYANI.md bulunur (şablon: /rehber/ai-beyani); otomatik kontrol yalnızca iskelete bakar: derleniyor mu, bu iki dosya var mı.
- Kod yapay zeka ile yazılabilir (yeşil bölge) ama her satırını anlatabilmelisiniz; sınavda o kodu kağıda yazmanız istenir.
- Kilometre taşı teslimleri Cuma 23.59'da Classroom 50'nin o anda depoda ne varsa onu alması ile yapılır (KT1 6 Kasım, KT2 27 Kasım, KT3 11 Aralık, KT4 25 Aralık); ek bir işlem gerekmez, geç teslimde o kilometre taşına bağlı sınav sorusu için ek süre verilmez.
- Lab görevleri ve portfolyo, Classroom 50 üzerinden verilen bağlantılarla açılan depolarda yürütülür; depo adı değiştirilmez.
- Kopya bulunan iki depo için de kilometre taşı geçersiz sayılır.
Yapay zeka politikası
Yapay zeka kullanımı: trafik ışığı
Yapay zeka bu derste yasak değil; ama her yerde aynı kural geçerli değil. Trafik ışığı gibi düşünün: hangi bölgede olduğunuzu bilin, kuralı ve gerekçesini anlayın. Öğretim üyesi de şeffaf: ders materyali hazırlığında yapay zeka kullanılıyor, notlandırmada kullanılmıyor.
Kırmızı
Kırmızı
- Nerede
- Vize ve final
- Kural
- Yapay zeka yok. Sınav kağıt üzerinde; telefon ve bilgisayar kapalı.
- Neden
- Ölçtüğümüz şey sizin zihniniz. Bir kodu okuyup izleyebiliyor musunuz, bir döngüyü kafanızda çalıştırabiliyor musunuz; bunu sizin yerinize kimse yapamaz.
Sarı
Sarı
- Nerede
- Laboratuvar
- Kural
- Yapay zekaya soru sorulabilir, kavram açıklattırılabilir; ama kod kopyalanmaz. Lab sorumlu hocanız istediğinde ekranınızı görebilir.
- Neden
- Ustalaşma takılıp çözmekle olur. Hazır kodu yapıştıran, takıldığı yeri hiç görmemiş olur ve sınavda o yerde takılır.
Yeşil
Yeşil
- Nerede
- Portfolyo ve ev çalışması
- Kural
- Yapay zeka serbest. Ama her teslimde kısa bir AI beyanı: hangi araç, ne için, hangi kısmı kendiniz yazdınız, yapay zekanın hangi hatasını yakaladınız.
- Neden
- Meslekte böyle çalışacaksınız. Ama anlatamadığınız kod sizin değildir; vizede ve finalde portfolyonuzdan soru gelir.
İş yükü ve AKTS
| Etkinlik | Sayı | Süre (saat) | Toplam |
|---|---|---|---|
| Teori dersi | 14 | 3 | 42 |
| Laboratuvar | 14 | 2 | 28 |
| Sınıf dışı çalışma | 14 | 3 | 42 |
| Laboratuvar görevi tamamlama | 13 | 2 | 26 |
| Portfolyo kilometre taşları | 4 | 5 | 20 |
| Ara sınav hazırlığı | 1 | 10 | 10 |
| Final hazırlığı | 1 | 12 | 12 |
| Toplam iş yükü | 180 saat | ||
30 saatlik çalışma 1 AKTS kredisi sayılır. 180 / 30 ≈ 6 AKTS.
Kaynaklar ve ders kitapları
- Think Java: How to Think Like a Computer Scientist — Allen B. Downey, Chris Mayfield, 2. baskı · O'Reilly / Green Tea Press, 2019 · çevrimiçi (Açık erişimli; dersin ana kitabı. Bölüm 1-7 bu dönemin konularıdır.)
- Introduction to Java Programming and Data Structures — Y. Daniel Liang, 12. baskı · Pearson, 2019 (Bölüm 1-8 (giriş, temel tipler, seçim, döngü, metot, diziler). Bol alıştırmalı yardımcı kaynak.)
Yazılım, araçlar ve ek bağlantılar için Kaynaklar sayfasına bakın.
Öğretim üyesi ve lab sorumlu hocası
Doç. Dr. Ferhat Uçar · Dersin sorumlusu
fucar@firat.edu.tr
Arş. Gör. Ömer Miraç Kökçam · Laboratuvar sorumlu hocası
İletişim kanalları
Karekodu telefonunuzla okutun ya da bağlantıya tıklayın. WhatsApp kanalına katılmanız beklenir; duyurular ilk oraya düşer.
-
WhatsApp duyuru kanalı
Tüm derslerim için ortak duyuru kanalı. Hızlı duyurular ve hatırlatmalar; herkesin katılması beklenir.
Kanala katıl -
Instagram · dr.ferhatucar
Yapay zeka, yazılım ve kariyer üzerine kısa paylaşımlar.
Takip et -
Herkese açık iş takvimi
Haftalık programım; ders, toplantı ve müsait saatlerim.
Takvimi aç -
Ofis saati randevusu
Soru, proje veya danışma için uygun bir saat seçin.
Randevu al