Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
WEB PROGRAMLAMA II Birinci Düzey BS 436 7 3.00 3.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri -
Eğitimin Dili Türkçe
Koordinatör DR. ÖĞR. ÜYESİ ÖMÜR ŞAHİN
Dersi Veren Öğretim Eleman(lar)ı DOÇ. DR. ÖMÜR ŞAHİN
Yardımcı Öğretim Eleman(lar)ı -
Dersin Veriliş Şekli Yüz yüze
Dersin Amacı Bu ders, öğrencilerin ekip çalışması içerisinde modern web teknolojilerini kullanarak tam işlevsel bir web uygulaması geliştirmelerini amaçlayan uygulama ağırlıklı bir derstir. Ders kapsamında öğrenciler dönem başında proje ekipleri oluşturur, geliştirecekleri uygulamanın ihtiyaç analizini ve tasarımını yapar, ardından Django ve React teknolojilerini kullanarak uygulamayı aşamalı olarak geliştirir. Süreç boyunca haftalık ekip toplantıları yapılır; proje yönetimi, sürüm kontrolü, Docker ile çalışma ortamı oluşturma, uygulama testi, hata takibi, sürekli entegrasyon ve deployment süreçleri ele alınır. Ders sonunda öğrenciler çalışan, test edilmiş ve sunuma hazır bir web uygulaması ortaya koyar.
Dersin Tanımı Bu dersin amacı, öğrencilerin gerçek bir web yazılımı geliştirme sürecini baştan sona deneyimlemelerini sağlamaktır. Öğrencilerin; ekip içinde görev paylaşımı yapabilmeleri, bir web uygulamasını analiz edip tasarlayabilmeleri, Django tabanlı backend ve React tabanlı frontend geliştirebilmeleri, Docker kullanarak uygulama ortamını yönetebilmeleri, test süreçlerini uygulayabilmeleri ve geliştirdikleri yazılımı sunulabilir/deploy edilebilir hale getirebilmeleri hedeflenmektedir.

Dersin İçeriği
1 Dersin amacı, kapsamı, değerlendirme ölçütleri ve dönem projesinin tanıtılması. Web Programlama I bilgileriyle ilişkilendirme. Django, React, Docker, test ve deployment süreçlerine genel bakış.
2 Öğrenci ekiplerinin oluşturulması. Proje fikirlerinin tartışılması. Problem alanı belirleme. Hedef kullanıcı, temel ihtiyaçlar ve proje kapsamının tanımlanması.
3 Fonksiyonel ve fonksiyonel olmayan gereksinimlerin belirlenmesi. Kullanıcı rolleri, kullanıcı senaryoları ve temel iş akışlarının çıkarılması. Görev paylaşımı ve haftalık çalışma planının hazırlanması.
4 Veritabanı tasarımı, temel veri modelleri, API yapısı ve sayfa akışlarının planlanması. Wireframe/mockup hazırlanması. Backend–frontend iletişim yapısının tasarlanması.
5 Django projesinin oluşturulması. Uygulama yapısı, modeller, veritabanı bağlantısı ve temel backend mimarisinin kurulması.
6 Django REST Framework kullanımı. Endpoint geliştirme. Kullanıcı kayıt/giriş işlemleri, yetkilendirme ve rol yapısının oluşturulması.
7 React proje yapısı, component mantığı, sayfa yapıları ve temel kullanıcı arayüzlerinin geliştirilmesi. API’den veri çekme süreçlerine giriş.
8 React arayüzünün Django API ile entegre edilmesi. Form işlemleri, listeleme, ekleme, güncelleme ve silme işlemlerinin uygulanması. Ara değerlendirme ve proje ilerleme sunumu.
9 Docker ve Docker Compose kullanımı. Backend, frontend ve veritabanı servislerinin container yapısında çalıştırılması. Ortak geliştirme ortamının oluşturulması.
10 Backend testleri, API testleri ve temel frontend test yaklaşımı. Test senaryolarının hazırlanması. Hata tespiti, hata düzeltme ve test sonuçlarının değerlendirilmesi.
11 GitHub/GitLab üzerinde proje yönetimi. Branch kullanımı, pull request süreci, otomatik test çalıştırma ve continuous integration mantığı. Kod gözden geçirme ve kalite iyileştirme.
12 Web uygulamalarında temel güvenlik konuları. Yetkilendirme kontrolleri, veri doğrulama, hata mesajları, loglama ve kullanıcı deneyimi iyileştirmeleri.
13 Uygulamanın canlı ortama veya sunum ortamına hazırlanması. Ortam değişkenleri, production ayarları, Docker tabanlı dağıtım ve son hata kontrolleri.
14 Ekiplerin geliştirdikleri uygulamaları sunması. Teknik yapı, kullanılan teknolojiler, testler, deployment süreci ve proje yönetimi açısından değerlendirme. Genel geri bildirim ve dersin kapanışı.
15
16
17
18
19
20

Dersin Öğrenme Çıktıları
1 Bir web uygulaması için ihtiyaç analizi yapabilir.
2 Web tabanlı bir yazılım projesini ekip çalışmasıyla planlayabilir ve yönetebilir.
3 Django kullanarak backend servisleri ve API yapıları geliştirebilir.
4 React kullanarak kullanıcı arayüzü geliştirebilir.
5 Backend ve frontend bileşenlerini birlikte çalışacak şekilde entegre edebilir.
6 Docker kullanarak uygulama geliştirme ve çalıştırma ortamı oluşturabilir.
7 Web uygulamalarında temel yazılım testi süreçlerini uygulayabilir.
8 Sürüm kontrolü, haftalık toplantı, görev takibi ve proje raporlama süreçlerini yürütebilir.
9 Geliştirdiği web uygulamasını sunabilir, değerlendirebilir ve iyileştirebilir.
10 Deployment ve sürekli entegrasyon süreçlerinin temel mantığını açıklayabilir ve uygulayabilir.

*Dersin Program Yeterliliklerine Katkı Seviyesi
1 Temel Tasarım ve Biçimsel Kompozisyon
2 Tasarım Düşüncesi Becerisi
3 Kuramsal Bilgi Becerisi
4 Görsel İletişim ve Grafik Anlatım
5 Eleştirel Düşünme
6 Araştırma ve Yorumlama Becerileri
7 Kültürel Çeşitlilik ve Küresel Örnekler
8 Geniş Kapsamlı Tasarım
9 İletişim ve Disiplinlerarası Çalışma
10 Toplum ve Çevre Sorumluluğu
11 Yasal Sorumluluklar ve Mesleki Etik
12 Taşıyıcı Sistemler
13 Yapı Malzemeleri ve Uygulamaları
14 Proje ve Yapım Yönetimi
15 Çevre Kontrolü ve Servis Sistemleri
16 Sürdürülebilir Tasarım
17 Tarihi Çevre Koruma Bilinci
18 Tarihi Yapı ve Çevre Belgeleme
19 Mimari Çeşitlilik ve Yerel Mimarlıklar
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Yıldızların sayısı 1’den (en az) 5’e (en fazla) kadar katkı seviyesini ifade eder

Planlanan Öğretim Faaliyetleri, Öğretme Metodları ve AKTS İş Yükü
  Sayısı Süresi (saat) Sayı*Süre (saat)
Yüz yüze eğitim 14 2 28
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 14 2 28
Ödevler 0 0 0
Sunum / Seminer hazırlama 0 0 0
Kısa sınavlar 0 0 0
Ara sınavlara hazırlık 1 5 5
Ara sınavlar 1 1 1
Proje (Yarıyıl ödevi) 0 0 0
Laboratuvar 0 0 0
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 1 10 10
Yarıyıl sonu sınavı 1 1 1
Araştırma 0 0 0
Toplam iş yükü     73
AKTS     3.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 0 0
Kısa sınav 0 0
Ödev 3 100
Yarıyıl içi toplam   100
Yarıyıl içi değerlendirmelerin başarıya katkı oranı   40
Yarıyıl sonu sınavının başarıya katkı oranı   60
Genel toplam   100

Önerilen Veya Zorunlu Okuma Materyalleri
Ders kitabı -
Yardımcı Kaynaklar -

Ders İle İlgili Dosyalar