| 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 |