Web Teknolojileri ve Programlama Dersi
Bu derste dinlemek değil, üretmek var. Ders bir geliştirme stüdyosu olarak işlenir: planlı teori anlatımı ve öğretim elemanı tarafından canlı kodlama yoktur. Her öğrenci dönem boyunca kendi repository'sinde tek bir ürün geliştirir: Kampüs Etkinlikleri uygulaması.
Vize öncesindeki altı sprintte önce HTML, CSS ve JavaScript ile çalışan bir web prototipi kurulur; ardından prototip Vite, TypeScript ve React ile bütünleşik bir frontend'e taşınır. Vize sonrasındaki altı sprintte aynı repository'ye Express ile REST API, MongoDB ve Mongoose ile kalıcı veri, JWT ile kimlik doğrulama, Axios ile frontend–backend entegrasyonu eklenir ve uygulama canlıya alınır. Dönem sonunda canlı bir full-stack uygulama teslim edilir.
Her sprint aynı ritmi izler: dersten önce 2–3 saatlik kaynak paketi çalışılır ve küçük hazırlık görevi tamamlanır; sınıfta öğrenci kendi kodunu geliştirir, takıldığı yerde kodun üzerinden destek alır; sprint sonunda çalışan çıktıyı gösterir, commit, push ve sprint etiketi oluşturur.
3,5 saatlik ders şöyle akar: 10 dakika hedef ve kabul ölçütleri, 155 dakika bireysel geliştirme ve kod üzerinden danışmanlık, 30 dakika çalışan çıktıyı gösterme, 15 dakika commit, push ve teslim notu.
Teknoloji seti bilinçli olarak sınırlıdır; amaç çok araç görmek değil, seçilen araçlarla çalışan bir ürün geliştirmektir. İstemci: HTML, CSS, JavaScript, TypeScript (strict), Vite, React, React Router, Axios. Sunucu: Node.js, Express, REST API, JWT, MongoDB, Mongoose. Teslim: Git, GitHub ve deployment. Next.js/SSR, refresh token/OAuth ve ileri cloud mimarisi bu dersin kapsamında değildir.
Önkoşullar Temel programlama bilgisi. Sprint 0 (Node.js, npm, Git ve GitHub kurulumu) ilk dersten önce tamamlanmalıdır.
Bu dersi başarıyla tamamlayan öğrenci:
Rozet bonusu: Tam isabet (bir sprintten tam puan) +1, İlk adım (ilk puanın girildi) +1, Seri (art arda 2 tam puan) +2, İstikrar (her sprintte %75+) +3, Yarı yol (vize 50+) +3; en fazla +10, not en fazla tam puan.
Rozet bonusu: Tam isabet (bir sprintten tam puan) +1, İlk adım (ilk puanın girildi) +1, Seri (art arda 2 tam puan) +2, İstikrar (her sprintte %75+) +3, Yarı yol (final 50+) +3; en fazla +10, not en fazla tam puan.
Sprint puanlaması: Her sprint aynı oranla değerlendirilir: %40 çalışan temel işlev, %20 öğrenme hedefini gösteren kod, %20 commit, push, etiket ve teslim notu, %20 yapılan değişikliği açıklama. Ayrı bir “bütünleşik proje” puanı yoktur; teknik başarı geliştirildiği sprintte puanlanır. Puan arttıkça sorumluluk da birikir: her yeni sprint önceki özellikleri koruyarak ilerler.
Vize ve final haftaları: Vize ve final notunun büyük bölümü sprintlerden, kalanı o haftanın gösterim ve tesliminden gelir; puan dağılımı Değerlendirme bölümündedir. Vize haftasında çalışan React frontend canlı gösterilir (repository, README, production build ve domain). Final haftasında canlı full-stack uygulamada giriş yapma, etkinlik oluşturma, güncelleme, silme ve sahiplik kontrolü gösterilir.
Teslim: Her sprint sonunda commit, push ve sprint etiketi (ör. sprint-01) oluşturulur; teslim notunda bilinen eksikler belirtilir. Sprintler ayrı repository'ler değil, aynı ürünün kayıt altına alınmış sürümleridir.
Sprint 0: Notlandırılmaz; teknik sorunları Sprint 1'den önce görünür kılmak için ilk dersten önce tamamlanır.
Öğretim elemanının rolü: Öğretim elemanı sınıfta dolaşır, kodu yerinde inceler ve yönlendirir. Sorun çözülmüş kod verilmez; hatayı bulma yönü verilir. Her öğrenci kendi kodunu çalıştırır, gösterir ve açıklayabilir.
Yapay zekâ: Yapay zekâ araçları kullanılabilir; kullanılan yardım teslim notunda belirtilir ve eklenen kod açıklanabilmelidir. Anlamadığın kod teslim edilemez.