BİLGİSAYAR PROGRAMCILIĞI PROGRAMI
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BPR 104
Ders İsmi: Arka Yüz Programlama
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 0 3 4
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli:
Dersin Koordinatörü: Öğr.Gör. SEVİM PİLAVCI
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, dinamik web uygulamaları geliştirme süreçleri ve temel web programlama teknolojileri hakkında bilgi ve beceriler kazandırmaktır. Sunucu taraflı programlama yapıları, değişkenler, sabitler, diziler, karar mekanizmaları ve döngüler gibi temel konulara odaklanarak, veritabanı bağlantıları, form işlemleri ve oturum yönetimi gibi web geliştirme süreçleri anlaşılır ve etkili web çözümleri üretme yetkinliği kazandırılır. Ayrıca, karar yapıları ve döngüler gibi temel programlama akışları üzerinde pratik deneyim edinilir.
Dersin İçeriği: Web programlamaya dair temel kavramlar ve yapı taşları ele alınır. Sunucu taraflı programlamanın temel unsurları olan değişkenler, sabitler, diziler, karar mekanizmaları ve döngüler gibi konular işlenir. Dinamik web sayfalarının nasıl oluşturulduğu, form verilerinin nasıl işlendiği ve veritabanı bağlantıları incelenir. Oturum yönetimi, kullanıcı doğrulama ve güvenlik gibi önemli konuların yanı sıra, temel web uygulama mimarileri ve yapılandırmaları üzerinde durulur. Ders boyunca, pratik uygulamalar yapılarak sunucu taraflı programlama becerileri geliştirilir ve dinamik web sitelerinin oluşturulması sağlanır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Değişkenler, sabitler ve diziler gibi temel programlama yapıları tanımlanır.
2) Karar mekanizmaları ve döngüler gibi kontrol yapıları açıklanır.
3) Form verilerinin sunucu tarafında nasıl işlendiği gösterilir.
4) Veritabanı bağlantıları kurulup, verilerin yönetimi gerçekleştirilir.
5) Oturum yönetimi ve kullanıcı doğrulama süreçleri uygulanır.
6) Web uygulamalarında güvenlik önlemleri tanımlanır ve uygulanır.
2 - Beceriler
Bilişsel - Uygulamalı
1) Sunucu taraflı programlama ile dinamik web sayfaları oluşturulur.
2) Web uygulamalarında kullanılan yapılar ve performans üzerindeki etkileri analiz edilir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Dinamik Web Uygulamalarına Giriş ve Temel Kavramlar
2) Sunucu Taraflı Programlama Yapıları: Değişkenler ve Sabitler
3) Diziler ve Veri Yapıları
4) Karar Mekanizmaları: If, Switch Yapıları
5) Döngüler: For, While ve Do-While Döngüleri
6) Form İşlemleri ve Sunucu Tarafında Veri İşleme
7) Veritabanı Bağlantıları ve Veri Yönetimi
8) Veritabanı Bağlantıları ve Veri Yönetimi
9) Oturum Yönetimi ve Kullanıcı Doğrulama
10) Web Uygulamalarında Güvenlik Önlemleri
11) Sunucu Taraflı Programlama ile Dinamik Web Sayfaları Oluşturma
12) Web Uygulamalarında Performans ve Optimizasyon
13) Web Uygulamalarında Yapılar ve Mimariler
14) Genel Tekrar ve Uygulama

Kaynaklar

Ders Notları / Kitaplar:
Diğer Kaynaklar: Ek notlar

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

7

8

Program Kazanımları
1) Yazılım geliştirme: Güncel yazılım geliştirme araçlarını ve programlama dillerini kullanarak istekleri analiz etme, algoritma oluşturma, kodlama, test etme ve programı devreye alma becerisi.
2) Programlama dillerinde yeterlilik: Birden fazla programlama dilinin kullanım amacını kavrama, sözdizimini hatırlama, o dilleri kullanarak yazılım geliştirme.
3) Analiz ve problem çözme: Bilgisayar programı geliştirirken kullanıcı isterlerini ve ihtiyaçlarını anlama, onları kullanarak yazılımı tasarlama.
4) Programda saklanacak veri yapıları tasarlama. Veri tabanı yönetim sistemlerini kullanarak, verilerin depolanmasını, yönetilmesini ve işlenmesini sağlama.
5) Kullanıcı arayüzü ve kullanıcı deneyimi ile ilgili temel tanımları öğrenme. Kullanıcı dostu arayüz tasarlama. Kullanıcı deneyimini iyileştirmek için teknikler uygulama.
6) Ağ donanımları, ağ protokolleri ve ağ güvenliği konularında temel bilgiye sahip olarak, güvenli ağ sistemleri kurma ve yönetme.
7) Bilgisayar donanımı hakkında temel bilgiye sahip olma ve bunları uygulama.
8) İşletim sistemleri hakkında temel bilgiye sahip olma ve bunları uygulama.
9) Yapay zekanın temel kavramlarını anlama. Yapay zeka araçlarını etkin kullanma. Veri analizi ve makine öğrenmesi tekniklerini uygulama.
10) Yazılım geliştirme projelerinde ekip çalışması ve işbirliği yapabilme.
11) Mesleki etik ve sorumluluk bilinci kazanma. Bilgisayar programcılığı mesleğinin gerektirdiği etik kurallara uyarak çalışmalarını yürütme.
12) Teknolojideki yenilikleri takip ederek bilgi ve becerilerini sürekli güncelleme.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Yazılım geliştirme: Güncel yazılım geliştirme araçlarını ve programlama dillerini kullanarak istekleri analiz etme, algoritma oluşturma, kodlama, test etme ve programı devreye alma becerisi. 5
2) Programlama dillerinde yeterlilik: Birden fazla programlama dilinin kullanım amacını kavrama, sözdizimini hatırlama, o dilleri kullanarak yazılım geliştirme. 5
3) Analiz ve problem çözme: Bilgisayar programı geliştirirken kullanıcı isterlerini ve ihtiyaçlarını anlama, onları kullanarak yazılımı tasarlama. 5
4) Programda saklanacak veri yapıları tasarlama. Veri tabanı yönetim sistemlerini kullanarak, verilerin depolanmasını, yönetilmesini ve işlenmesini sağlama. 5
5) Kullanıcı arayüzü ve kullanıcı deneyimi ile ilgili temel tanımları öğrenme. Kullanıcı dostu arayüz tasarlama. Kullanıcı deneyimini iyileştirmek için teknikler uygulama. 5
6) Ağ donanımları, ağ protokolleri ve ağ güvenliği konularında temel bilgiye sahip olarak, güvenli ağ sistemleri kurma ve yönetme.
7) Bilgisayar donanımı hakkında temel bilgiye sahip olma ve bunları uygulama.
8) İşletim sistemleri hakkında temel bilgiye sahip olma ve bunları uygulama.
9) Yapay zekanın temel kavramlarını anlama. Yapay zeka araçlarını etkin kullanma. Veri analizi ve makine öğrenmesi tekniklerini uygulama. 5
10) Yazılım geliştirme projelerinde ekip çalışması ve işbirliği yapabilme. 5
11) Mesleki etik ve sorumluluk bilinci kazanma. Bilgisayar programcılığı mesleğinin gerektirdiği etik kurallara uyarak çalışmalarını yürütme. 5
12) Teknolojideki yenilikleri takip ederek bilgi ve becerilerini sürekli güncelleme. 5

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Bireysel çalışma ve ödevi
Ders
Ödev
Problem Çözme
Proje Hazırlama
Uygulama (Modelleme, Tasarım, Maket, Simülasyon, Deney vs.)
Web Tabanlı Öğrenme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Uygulama
Bireysel Proje
Sunum

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Toplam %
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 0
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI %
Toplam %

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Uygulama 14 2 28
Sınıf Dışı Ders Çalışması 14 2 28
Sunum / Seminer 1 1 1
Proje 1 10 10
Ara Sınavlar 1 4 4
Final 14 2 28
Toplam İş Yükü 127