| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| WTK-203 | İNTERNET PROGRAMCILIĞI-II | Ders | 2 | 3 | 4,00 |
Önlisans
Türkçe
Öğrencilere sunucu taraflı (backend) web programlama kavramlarını, veri tabanı etkileşimini, API tasarımını ve güvenlik temellerini kavratmaktır. PHP ve Node.js (JavaScript) teknolojileri üzerinden dinamik web uygulamaları geliştirebilme becerisi kazandırmayı hedefler.
Öğr.Gör. Hilmi BahadırTEMUR
| 1 | Sunucu taraflı (backend) web mimarisinin ve istemci-sunucu iletişiminin çalışma prensiplerini açıklar. |
| 2 | PHP dilini kullanarak ilişkisel veri tabanları (MySQL/MariaDB) ile entegre dinamik web sayfaları geliştirir. |
| 3 | Node.js ve Express.js ortamında olay tabanlı, ölçeklenebilir backend servisleri kurgular.Node.js ve Express.js ortamında olay tabanlı, ölçeklenebilir backend servisleri kurgular. |
| 4 | RESTful API standartlarına uygun web servisleri tasarlar ve sunar. |
| 5 | Web uygulamalarında oturum yönetimi (Session/Cookie, JWT) ve temel güvenlik zafiyetlerine (SQL Injection, XSS) karşı önlemleri uygular. |
Birinci Öğretim
Yok
Öğrencilerin "İnternet Programcılığı I" dersini almış ve temel HTML, CSS ile istemci taraflı JavaScript bilgisine sahip olması önerilir.
Sunucu taraflı kodlama ilkeleri; HTTP istek/yanıt mimarisi; PHP ile temel backend geliştirme, form işleme ve veri tabanı (MySQL) bağlantıları; Node.js ve Express.js ile olay güdümlü backend mimarisi; RESTful API tasarımı; oturum yönetimi, yetkilendirme ve web güvenliği ilkeleri.
| Hafta | Teorik | Uygulama | Laboratuvar |
|---|---|---|---|
| 1 | Backend Programlamaya Giriş: İstemci-Sunucu mimarisi, HTTP Protokolü (GET/POST) ve Yerel Sunucu Kurulumları (XAMPP/WAMP) | ||
| 2 | PHP Temelleri: Sözdizimi, Değişkenler, Veri Tipleri, Koşullu İfadeler ve Döngüler | ||
| 3 | PHP'de Fonksiyonlar, Diziler ve Form İşleme (Dinamik Veri Alma) | ||
| 4 | PHP ile Veri Tabanı Etkileşimi: PDO/MySQLi kullanımı, CRUD (Create, Read, Update, Delete) İşlemleri | ||
| 5 | PHP'de Oturum Yönetimi (Session ve Cookie) ile Kullanıcı Giriş/Kayıt Sistemleri | ||
| 6 | Web Güvenliği Temelleri: SQL Injection, XSS önleme ve Veri Doğrulama (Sanitization) | ||
| 7 | PHP ile Nesne Yönelimli Programlama (OOP) ve MVC Mimarisine Giriş | ||
| 8 | Ara Sınav | ||
| 9 | Node.js'e Giriş: Asenkron Programlama, Event Loop ve NPM Paket Yönetimi | ||
| 10 | Express.js Çatısı: Sunucu Oluşturma, Routing (Yönlendirme) ve Middleware Mantığı | ||
| 11 | Node.js ile Veri Tabanı Entegrasyonu (MongoDB / PostgreSQL) | ||
| 12 | RESTful API Tasarımı ve JSON Formatı ile Veri İletişimi | ||
| 13 | Modern Kimlik Doğrulama: Node.js/Express üzerinde JWT (JSON Web Token) Kullanımı | ||
| 14 | Dönem Sonu Backend Uygulamaların Canlıya Alınması (Deployment Temelleri) |
1-Modern PHP: New Features and Good Practices - Josh Lockhart 2-Learning Node.js Development - Andrew Mead 3-W3Schools, MDN Web Docs ve resmi PHP / Node.js dokümantasyonları.
Yüz yüze/Çevrim içi teorik anlatım, laboratuvarda canlı kodlama (live-coding), haftalık küçük kodlama görevleri, ara sınav ve final sınavı
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| 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 | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
Yok
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 4 | 56 |
| Bireysel Çalışma | 14 | 1 | 14 |
| Ara Sınav İçin Bireysel Çalışma | 6 | 4 | 24 |
| Final Sınavı içiin Bireysel Çalışma | 6 | 4 | 24 |
| Toplam İş Yükü (saat) | 120 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | |
| ÖÇ 1 | 4 | 4 | 1 | ||||||
| ÖÇ 2 | 5 | 4 | 5 | 2 | |||||
| ÖÇ 3 | 5 | 4 | 5 | ||||||
| ÖÇ 4 | 5 | 5 | |||||||
| ÖÇ 5 | 5 | 4 | 4 |