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

Ders Genel Tanıtım Bilgileri

Ders Kodu: 2021002001
Ders İsmi: İnternet Programlama-II
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 3
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm Seçmeli
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Öğr.Gör. Yunus KURAL
Dersi Veren(ler): Öğr.Gör. Yunus KURAL
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: İki katmanlı istemci sunucu mimarisi; Model-Sunum-Kontrol (MVC) mimarisine sahip üç katmanlı mimarlar; PHP Laravel sunucu uygulamaları; Servis odaklı mimari ve bileşenler, web servisleri, anlamsal web; İnternet protokolleri (HTTP, HTTPS, SOAP); Bulut Bilişim konularında bilgi sahibi olma.
Dersin İçeriği: PHP içerisinde kullanılan hazır fonksiyonlar ve kullanıcı tanımlı fonksiyonlar konuların bahsedilecektir. MYSQL Veri Tabanı, SQL cümleleri, tablolar arası ilişkiler, PHP – MYSQL İlişkisi, PHP veri güvenliği konuları anlatılacaktır. Ders içerisinde MVC tasarım deseni detaylı olarak ele alınacaktır. Laravel MVC yapısı anlatılacaktır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Model-Sunum-Kontrol (MVC) mimarisine sahip üç katmanlı mimarlar
2 - Beceriler
Bilişsel - Uygulamalı
1) PHP Laravel sunucu uygulamaları
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) İnternet Programlama yapısı, Web Teknolojilerine genel bakış,HTML, CSS ve Framework kavramı Uygulama ve Sözel Anlatım
2) PHP çalışma ortamında, değişken yapılarından bahsedilecek, şartlı ifadeler ve döngüler konusu işlenecektir. Uygulama ve Sözel Anlatım
3) PHP içerisinde kullanılan hazır fonksiyonlar ve kullanıcı tanımlı fonksiyonlar konuların bahsedilecektir. Uygulama ve Sözel Anlatım
4) HTML Formlar üzerinden sayfalar arası veri alışverişi konuları, istek türleri (GET, POST), oturum değişkenler (SESSION) ve çerez değişkenleri (COOKIE) anlatılacaktır. Uygulama ve Sözel Anlatım
5) MYSQL Veri Tabanı, SQL cümleleri, tablolar arası ilişkiler, PHP – MYSQL İlişkisi, PHP veri güvenliği konuları anlatılacaktır. Uygulama ve Sözel Anlatım
6) Laravel kütüphanesi çalışma ortamı kurulacak, uygulama klasör yapısı tanıtılacak ve .env dosyası detaylı incelenecektir. Uygulama ve Sözel Anlatım
7) Ders içerisinde MVC tasarım deseni detaylı olarak ele alınacaktır. Laravel MVC yapısı anlatılacaktır. Uygulama ve Sözel Anlatım
8) Ara sınav
9) Laravel kütüphanesi içerisinde kullanılan yönlendiriciler detaylı bir şekilde incelenecektir. Ders içerisinde konuların pekişebilmesi için uygulamalar geliştirilecektir. Uygulama ve Sözel Anlatım
10) Laravel kütüphanesi içerisinde kullanılan controller sınıfları detaylı bir şekilde incelenecektir. Ders içerisinde konuların pekişebilmesi için uygulamalar geliştirilecektir. Uygulama ve Sözel Anlatım
10) Laravel kütüphanesi içerisinde kullanılan controller sınıfları detaylı bir şekilde incelenecektir. Ders içerisinde konuların pekişebilmesi için uygulamalar geliştirilecektir. Uygulama ve Sözel Anlatım
11) HTML Blade motoru detaylı bir şekilde anlatılacaktır. Ders içerisinde konuların pekişebilmesi için uygulamalar geliştirilecektir. Uygulama ve Sözel Anlatım
12) Model sınıfları detaylı bir şekilde anlatılacak ve tablolar arası ilişki yapıları tanımlanacaktır. Ders içerisinde konuların pekişebilmesi için uygulamalar geliştirilecektir. Uygulama ve Sözel Anlatım
13) Laravel içerisinde veritabanı işlemleri ve Eloquent yapıları detaylı bir şekilde anlatılacaktır. Ders içerisinde konuların pekişebilmesi için uygulamalar geliştirilecektir. Uygulama ve Sözel Anlatım
14) Restful API konusu detaylandırılacak ve Laravel ile API geliştirme konularından bahsedilecektir. Uygulama ve Sözel Anlatım
15) Uygulama Uygulama ve Sözel Anlatım

Kaynaklar

Ders Notları / Kitaplar: Learning PHP, MySQL, JavaScript, and CSS: A Step-by-Step Guide to Creating Dynamic Websites by Robin Nixon (Sep 3, 2012)
Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics by Jennifer Niederst Robbins (Aug 24, 2012)
Laravel: Up and Running: A Framework for Building Modern PHP Apps 2nd Edition
Diğer Kaynaklar: Learning PHP, MySQL, JavaScript, and CSS: A Step-by-Step Guide to Creating Dynamic Websites by Robin Nixon (Sep 3, 2012)
Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics by Jennifer Niederst Robbins (Aug 24, 2012)
Laravel: Up and Running: A Framework for Building Modern PHP Apps 2nd Edition

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

Ders Öğrenme Kazanımları

1

2

Program Kazanımları
1) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak.
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak.
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak.
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak.
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak.
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak.
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak.

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) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak. 3
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak. 4
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak. 3
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak. 4
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak. 3
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak. 2
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak. 2

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

Anlatım
Ders
Laboratuvar
Uygulama (Modelleme, Tasarım, Maket, Simülasyon, Deney vs.)

Ö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
Bilgisayar Destekli Sunum

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ara Sınavlar 1 % 40
Yarıyıl/Yıl Sonu Sınavı 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

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