<?xml version="1.0" encoding="UTF-8"?>
<ders kod="BLP205">
  <ad>WEB PROGRAMLAMA II</ad>
  <program>Bilgisayar Programcılığı</program>
  <genelBilgiler>
    <bilgi ad="Yarıyıl">3</bilgi>
    <bilgi ad="Türü">Zorunlu</bilgi>
    <bilgi ad="Teori / Uygulama / Lab.">3 / 1 / 0</bilgi>
    <bilgi ad="AKTS">5</bilgi>
    <bilgi ad="Öğretim düzeyi">Ön Lisans</bilgi>
    <bilgi ad="Öğretim türü">Birinci Öğretim</bilgi>
    <bilgi ad="Öğretim elemanı">Öğr. Gör. Osman Doğuş GÜLGÜN</bilgi>
    <bilgi ad="Ön koşul dersleri">Web Programlama I</bilgi>
    <bilgi ad="Staj durumu">Yok</bilgi>
  </genelBilgiler>
  <metin baslik="Dersin amacı">Bu dersin amacı, öğrencilere dinamik web uygulamaları geliştirme konusunda gerekli olan sunucu taraflı programlama becerilerini kazandırmaktır. Öğrencilerin PHP dili ile dinamik içerik üretmeleri, veritabanı bağlantısı kurarak veri işleyebilmeleri ve kullanıcı etkileşimli, güvenli web sistemleri tasarlayabilmeleri hedeflenmektedir. Ayrıca, oturum yönetimi, form doğrulama ve veritabanı işlemleri gibi ileri düzey web geliştirme konularının uygulamalı olarak öğrenilmesi amaçlanmaktadır.</metin>
  <metin baslik="Dersin içeriği">Bu derste dinamik web sayfalarının geliştirilmesine yönelik sunucu taraflı programlama konuları ele alınmaktadır. PHP programlama dili ile değişkenler, diziler, fonksiyonlar, dosya işlemleri, form verilerinin işlenmesi ve oturum yönetimi gibi konular uygulamalı olarak işlenmektedir. Ayrıca, MySQL veritabanı bağlantısı kurma, veri ekleme, silme, güncelleme ve listeleme işlemleri detaylı biçimde ele alınır. Kullanıcı doğrulama sistemleri (login-register), güvenlik önlemleri (SQL Injection, XSS'e karşı korunma), form validasyonu, basit içerik yönetim sistemleri (CMS) ve küçük ölçekli proje geliştirme konularına da yer verilir.</metin>
  <metin baslik="Kaynaklar">Web Tasarımı ve Web Programlama - A'dan Z'ye Yeni Nesil Tekniklerle
Her Yönüyle Html
Javascript Programlama
Css 3
Başlangıçtan İleri Seviye Php
Kobiler İçin Php İle Online Satış Sitesi
Beyaz Şapkalı Seo</metin>
  <metin baslik="Önerilen diğer hususlar">Öğrencilerin Web Programlama I dersini başarıyla tamamlamış olmaları beklenmektedir.

Derste aktif olarak kod yazılacağından, öğrencilerin kendi bilgisayarlarında XAMPP, WAMP, Laragon gibi bir yerel sunucu yazılımı kurmaları önerilir.

PHP, MySQL ve veritabanı mantığı hakkında temel düzey bilgi sahibi olmak öğrenme sürecini hızlandıracaktır.

Uygulama ve proje temelli ilerleyen bu ders için düzenli pratik yapmak büyük önem taşır.

Öğrencilerin, PHP dökümantasyonları (https://www.php.net/) ve MySQL belgeleri gibi çevrimiçi kaynaklardan da faydalanmaları tavsiye edilir.</metin>
  <ogrenmeCiktilari>
    <cikti no="1">Öğrenci, PHP programlama dili ile dinamik web sayfaları geliştirebilir.</cikti>
    <cikti no="2">Öğrenci, MySQL veritabanı ile bağlantı kurarak veri ekleme, güncelleme, silme ve listeleme işlemlerini gerçekleştirebilir.</cikti>
    <cikti no="3">Öğrenci, kullanıcı giriş/doğrulama sistemleri (login/register) gibi temel oturum yönetimi uygulamalarını geliştirebilir.</cikti>
    <cikti no="4">Öğrenci, form verilerini güvenli bir şekilde işleyerek veri bütünlüğünü ve güvenliğini sağlayabilir.</cikti>
    <cikti no="5">Öğrenci, sunucu taraflı programlama tekniklerini kullanarak küçük ölçekli bir web uygulaması (mini proje) geliştirebilir.</cikti>
  </ogrenmeCiktilari>
  <haftalikKonular>
    <hafta no="1">Dersin tanıtımı, dinamik web kavramı, sunucu-istemci ilişkisi</hafta>
    <hafta no="2">PHP’ye giriş: Değişkenler, veri türleri, operatörler</hafta>
    <hafta no="3">PHP’de kontrol yapıları (if-else, switch), döngüler (for, while)</hafta>
    <hafta no="4">PHP fonksiyonları, dizi işlemleri ve form verisi alma (GET-POST)</hafta>
    <hafta no="5">Form işlemleri, input kontrolü ve form validasyonu</hafta>
    <hafta no="6">Dosya işlemleri (okuma-yazma), include/require kullanımı</hafta>
    <hafta no="7">Veritabanı kavramı, MySQL’e giriş, tablo oluşturma</hafta>
    <hafta no="8">PHP ile MySQL bağlantısı: Veri ekleme, güncelleme, silme, listeleme</hafta>
    <hafta no="9">Kullanıcı giriş sistemi (login-register), oturum (session) yönetimi</hafta>
    <hafta no="10">Cookie kullanımı ve kullanıcı bilgilerinin saklanması</hafta>
    <hafta no="11">Basit içerik yönetim sistemi (CMS) geliştirme temelleri</hafta>
    <hafta no="12">Güvenlik: SQL Injection, XSS, form güvenliği önlemleri</hafta>
    <hafta no="13">Mini proje geliştirme: Bireysel veya grup çalışması</hafta>
    <hafta no="14">Proje sunumları ve genel değerlendirme</hafta>
  </haftalikKonular>
  <degerlendirme>
    <grup baslik="Yarıyıl (Yıl) İçi Etkinlikleri">
      <etkinlik sayi="1" yuzde="100">Ara Sınav</etkinlik>
    </grup>
    <grup baslik="Yarıyıl (Yıl) Sonu Etkinlikleri">
      <etkinlik sayi="1" yuzde="100">Yarıyıl Sonu Sınavı</etkinlik>
    </grup>
    <grup baslik="Yarıyıl(yıl) içi etkinliklerin ve yarıyıl(yıl) sonu sınavının başarı notuna katkısı">
      <etkinlik sayi="0" yuzde="40">Yarıyıl (Yıl) İçi Etkinlikleri</etkinlik>
      <etkinlik sayi="0" yuzde="60">Yarıyıl (Yıl) Sonu Etkinlikleri</etkinlik>
    </grup>
  </degerlendirme>
  <isYuku toplamSaat="152" akts="5.07">
    <etkinlik sayi="1" sureSaat="1" toplamSaat="1">Ara Sınav</etkinlik>
    <etkinlik sayi="1" sureSaat="14" toplamSaat="14">Ara Sınav İçin Bireysel Çalışma</etkinlik>
    <etkinlik sayi="14" sureSaat="5" toplamSaat="70">Bireysel Çalışma</etkinlik>
    <etkinlik sayi="14" sureSaat="3" toplamSaat="42">Derse Katılım</etkinlik>
    <etkinlik sayi="1" sureSaat="1" toplamSaat="1">Final Sınavı</etkinlik>
    <etkinlik sayi="1" sureSaat="24" toplamSaat="24">Final Sınavı içiin Bireysel Çalışma</etkinlik>
  </isYuku>
</ders>
