GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
BMH231 WEB PROGRAMLAMA Ders 2 3 4,00

Lisans


Türkçe


Bu dersin amacı, öğrencilere web'in temel mimarisini ve iletişim protokollerini kavratmak; HTML, CSS ve JavaScript ile istemci tarafı web uygulamaları geliştirme becerisi kazandırmak; asenkron programlama ve REST API'ler aracılığıyla istemci-sunucu iletişimini öğretmek; güncel önyüz ve arka yüz çatılarını, veritabanı, mimari, güvenlik ve yayına alma boyutlarıyla karşılaştırmalı olarak tanıtarak öğrencinin belirli bir teknolojiye bağımlı kalmadan bir web uygulaması için uygun teknolojiyi seçebilmesini sağlamaktır.


Dr. Öğr. Üyesi Çağrı ARISOY


1 Web’in temel mimarisini ve iletişim protokollerini (istemci-sunucu, URL, DNS, HTTP/HTTPS) açıklar.
2 Git/GitHub ve npm gibi geliştirme ekosistemi araçlarını sürüm kontrolü ve bağımlılık yönetimi için kullanır.
3 Semantik, erişilebilir HTML ve duyarlı CSS ile web sayfaları tasarlar.
4 JavaScript ile DOM’u ve olayları kullanarak etkileşimli istemci tarafı arayüzler geliştirir.
5 Asenkron programlama ile REST API’lerden veri alır ve gönderir; RESTful uç noktalar tasarlar.
6 Önyüz ve arka yüz çatılarını mimari, veri yönetimi, güvenlik ve dağıtım açısından karşılaştırarak bir uygulama için uygun teknolojiyi seçer.

Birinci Öğretim


Yok


Yok


İnternet ve web; istemci-sunucu mimarisi; URL, DNS, HTTP/HTTPS ve tarayıcının çalışma mantığı; Git/GitHub ile sürüm kontrolü ve npm ile paket yönetimi; semantik HTML, erişilebilirlik, CSS kutu modeli, Flexbox, Grid ve duyarlı tasarım; JavaScript temelleri, DOM ve olay yönetimi; asenkron programlama (Promise, async/await), JSON, Fetch API ve REST; önyüz çatıları (React, Vue, Angular) ve render stratejileri (CSR, SSR, SSG); arka yüz çatıları (Express, ASP.NET Core, Django, Laravel, Spring Boot); ilişkisel ve NoSQL veritabanları, ORM; API tasarımı ve mimari desenler (REST, GraphQL, monolit, mikroservis, serverless); web güvenliği, kimlik doğrulama, bulut ve yayına alma; güncel eğilimler.


Hafta Konular (Teorik) Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Derse giriş: internet ve web, web uygulamalarının katmanları, statik ve dinamik içerik, teknoloji yığınları (LAMP, MERN), web geliştirici rolleri Ders, Tartışma, Görsel Materyaller Yoktur
2 Web'in temelleri: istemci-sunucu mimarisi, URL yapısı, DNS çözümlemesi, HTTP istek/yanıt yapısı, yöntemler ve durum kodları, HTTPS/TLS, tarayıcının çalışma mantığı Uygulamalı Çalışma, Gösterim Yoktur
3 Geliştirme ekosistemi: Git ile sürüm kontrolü, dallanma ve birleştirme, GitHub, npm ile paket yönetimi, anlamsal sürümleme, geliştirme araçları Etkileşimli Örnekler, Proje Tabanlı Öğrenme Yoktur
4 HTML ve CSS: semantik yapı, formlar ve erişilebilirlik, seçiciler ve özgüllük, kutu modeli, Flexbox ve Grid, duyarlı tasarım Ders, Uygulamalı Çalışma Yoktur
5 JavaScript temelleri: veri türleri, değişkenler, fonksiyonlar, diziler ve nesneler, DOM işlemleri, olay yönetimi Ders, Uygulamalı Çalışma Yoktur
6 Asenkron programlama ve API'ler: olay döngüsü, Promise, async/await, JSON, Fetch API, REST kavramı ve CORS Gösterim, Etkileşimli Uygulama Yoktur
7 Önyüz çatıları ve kütüphaneleri: bileşen tabanlı yaklaşım, durum yönetimi; React, Vue ve Angular'ın karşılaştırılması Gösterim, Etkileşimli Uygulama Yoktur
8 Meta-çatılar ve render stratejileri: Next.js, istemci tarafı (CSR), sunucu tarafı (SSR) ve statik (SSG) render Ders, Proje Tabanlı Öğrenme Yoktur
9 Arka yüz ekosistemi I: Node.js ve Express, ASP.NET Core; yönlendirme, ara katman yazılımı ve istek işleme Uygulamalı Çalışma, Kodlama Oturumu Yoktur
10 Arka yüz ekosistemi II: Django, Laravel ve Spring Boot; arka yüz çatılarının karşılaştırılması Uygulamalı Çalışma, Kodlama Oturumu Yoktur
11 Veritabanı kavramları: ilişkisel ve NoSQL veritabanları, ORM, CRUD işlemleri Ders Yoktur
12 API tasarımı ve mimari desenler: REST ve GraphQL, monolit ve mikroservis mimarileri, sunucusuz (serverless) yaklaşım Ders Yoktur
13 Güvenlik, yayına alma ve güncel eğilimler: kimlik doğrulama ve yetkilendirme, yaygın web güvenlik açıkları, bulut platformları ve dağıtım, yapay zekâ destekli geliştirme araçları, WebAssembly Proje Tabanlı Öğrenme, Takım Çalışması Proje taslağını ve ilk planlamayı hazırlama
14 Proje Sunumu ve Final Değerlendirmesi: Geliştirilen projelerin sunumu ve değerlendirilmesi Sunum, Akran Değerlendirmesi, Geri Bildirim Oturumu Final projeyi ve sunum materyallerini hazırlama

Dersin sabit bir ders kitabı yoktur; öğretim elemanının haftalık ders notları ve sunuları esas alınır ancak aşağıdaki kaynaklar yardımcı olarak kullanılabilir. • Mozilla, MDN Web Docs — HTML, CSS, JavaScript ve Web API'leri başvuru kaynağı. https://developer.mozilla.org • Google, web.dev — Learn (HTML, CSS, JavaScript, erişilebilirlik, performans). https://web.dev/learn • M. Haverbeke, Eloquent JavaScript, 4th ed., No Starch Press, 2024. https://eloquentjavascript.net • J. Duckett, HTML and CSS: Design and Build Websites, Wiley, 2011. • E. Brown, Web Development with Node and Express, 2nd ed., O'Reilly, 2019. • S. Chacon, B. Straub, Pro Git, 2nd ed., Apress. https://git-scm.com/book • IETF, RFC 9110 — HTTP Semantics, 2022; WHATWG HTML, DOM ve Fetch Living Standards. • Web Programming | ASP.NET Core - Hans-Petter Halvorsen •. https://www.w3schools.com/php/ •. https://laravel.com/docs/8.x


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 50
Rapor Hazırlama 1 50
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 50
Yarıyıl (Yıl) Sonu Etkinlikleri 50

Yok


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 1 1
Final Sınavı 1 2 2
Derse Katılım 14 3 42
Rapor Hazırlama 1 12 12
Proje Hazırlama 1 14 14
Bireysel Çalışma 5 3 15
Final Sınavı içiin Bireysel Çalışma 1 14 14
Toplam İş Yükü (saat) 100

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11
ÖÇ 1 5 4 1 3
ÖÇ 2 3
ÖÇ 3 3 2
ÖÇ 4 3 4
ÖÇ 5 4
ÖÇ 6 5 4 2
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek