GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
SGM253 İNTERNET PROGRAMLAMA Seçmeli Ders Grubu 2 3 5,00

Önlisans


Türkçe


Bu dersin amacı, web geliştirme teknolojilerini tanıtmak ve internet tabanlı uygulamaların tasarım ve programlama esaslarını öğretmektir. Derste HTML, CSS ve JavaScript kullanarak bir web sitesi tasarlamak için gerekli olan teknoloji ve programların öğretilmesinin yanı sıra dinamik web uygulamaları geliştirme yeteneğinin kazandırılması amaçlanmaktadır.


Öğr. Gör. Onat Tanrıöver


1 HTML5 semantik etiketlerini, form bileşenlerini, tablo ve multimedya öğelerini standartlara uygun biçimde yapılandırabilme; CSS seçicileri ve kutu modeli kurallarını kullanarak web sayfalarının görsel yerleşimini ve stillerini tasarlayabilme.
2 JavaScript'in temel veri yapıları, kontrol ve döngü yapıları ve fonksiyonları aracılığıyla Belge Nesne Modeli'ni (DOM) dinamik olarak manipüle edebilme; kullanıcı kaynaklı olayları (events) yakalayarak etkileşimli arayüzler kodlayabilme.
3 AJAX ve ilgili kütüphaneleri (jQuery vb.) kullanarak sayfayı yeniden yüklemeye gerek kalmadan istemci ile sunucu arasında arka planda asenkron veri transferi gerçekleştirebilme ve gelen yanıtları arayüze yansıtabilme.
4 Node.js çalışma ortamında HTTP protokolü prensiplerine uygun olarak Express.js çatısı ile yönlendirme (routing), ara yazılım (middleware) ve modüler sunucu mimarilerini inşa edebilme.
5 Sunucu taraflı şablon motorlarını (template engines) kullanabilme; veritabanı sistemleri ile bağlantı kurabilme; dinamik veri listeleme, ekleme, güncelleme ve silme (CRUD) işlevlerini uçtan uca çalıştırabilme.
6 Kullanıcı kimlik doğrulama (authentication) ve oturum/çerez (session/cookie) mekanizmalarını kurabilme; web uygulamalarında karşılaşılabilecek temel güvenlik zaafiyetlerini analiz ederek güvenli kodlama ilkelerini uygulayabilme.

Birinci Öğretim


Yok


Yok


HTML5 sayfa yapısı, Metin, Listeler, Linkler, HTML5 görselleri, tabloları ve formları, HTML5 extra markup elemanları, video ve ses, CSS’e (Cascading Style Sheets) giriş, Elemanların stillerini CSS ile yönetmek, JavaScript’e giriş, JavaScript’te fonksiyonlar, metotlar ve nesneler, JavaScript’te kontrol yapıları ve döngüler, Doküman Nesne Modeli (DOM), JavaScript olayları, jQuery’ye giriş, AJAX, Node.js’e giriş, Node.js'in yüklenmesi, Basit bir uygulamanın oluşturulması, Node.js modülleri, HTTP, Express.js, Template motorları, Veritabanlarının bağlanması, Kimlik doğrulama ve oturum yönetimi, Node.js uygulama güvenliği


Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Ders işleme şekli ile ilgili bilgilendirme, HTML5 sayfa yapısı, Metin, Listeler, Linkler Bu hafta öğretilen HTML elemanlarıyla basit bir web sayfasının yapılması Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2011) Böl. 1-4 s. 12-92
2 HTML5 görselleri, tabloları ve formları Şimdiye kadar öğretilen HTML elemanlarıyla basit bir web sayfasının yapılması Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2011) Böl. 5-7 s. 94-174
3 HTML5 extra markup elemanları, video ve ses Şimdiye kadar öğretilen HTML elemanlarıyla basit bir web sayfasının yapılması Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2011) Böl. 8-9 s. 176-223
4 CSS’e (Cascading Style Sheets) giriş CSS ile basit bir web sayfasına stil uygulanması Anlatım, Gösterme, Tartışma, Problem çözümü, Ev ödevi Duckett (2011) Böl. 10-12 s. 226-298
5 Elemanların stillerini CSS ile yönetmek CSS ile basit bir web sayfasına stil uygulanması Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2011) Böl. 13-16 s. 300-426
6 JavaScript’e giriş, JavaScript’te fonksiyonlar, metotlar ve nesneler Bu hafta öğretilen JavaScript konularıyla basit uygulamalar yapmak Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2013) Böl. 2-3 s. 53-144
7 JavaScript’te kontrol yapıları ve döngüler, Doküman Nesne Modeli (DOM) Şimdiye kadar öğretilen JavaScript konularıyla basit uygulamalar yapmak Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2013) Böl. 4-5 s. 145-242
8 Arasınav İlk 7 haftanın konuları
9 JavaScript olayları, jQuery’ye giriş JavaScript ve jQuery ile bir web sitesinin içeriğini ve stilini dinamik olarak değiştirme uygulaması Anlatım, Gösterme, Tartışma, Problem çözümü Duckett (2013) Böl. 6-7 s. 243-366
10 AJAX AJAX ile bir web sayfasının içeriğini asenkron olarak güncelleme uygulaması Anlatım, Gösterme, Tartışma, Problem çözümü, Ev ödevi Duckett (2013) Böl. 8 s. 367-408
11 Node.js’e giriş, Yükleme, Basit bir uygulamanın oluşturulması Node.js'in indirilmesi ve kurulumu, basit bir uygulamanın geliştirilmesi Anlatım, Gösterme, Tartışma, Problem çözümü Springer (2022) Böl. 1-3 s. 31-100
12 Node.js modülleri, HTTP, Express.js Express.js ile bir web uygulamasının geliştirilmesi Anlatım, Gösterme, Tartışma, Problem çözümü Springer (2022) Böl. 4-6 s. 101-212
13 Template motorları, Veritabanlarının bağlanması Ürün, stok ve sipariş verilerini saklayan basit bir web uygulamasının geliştirilmesi Anlatım, Gösterme, Tartışma, Problem çözümü Springer (2022) Böl. 7-8 s. 213-272
14 Kimlik doğrulama ve oturum yönetimi Daha önce geliştirilen web uygulamasını kimlik doğrulaması fonksiyonuyla genişletmek Anlatım, Gösterme, Tartışma, Problem çözümü Springer (2022) Böl. 9 s. 273-294
15 Node.js uygulama güvenliği Node.js uygulama güvenliğiyle ilgili lab çözülmesi Anlatım, Gösterme, Tartışma, Problem çözümü Springer (2022) Böl. 24 s. 683-712
16 Final sınavı Bütün dönemin konuları

Jon Duckett, HTML & CSS Design and Build Websites, Wiley (2011) Jon Duckett, JavaScript & JQuery Interactive Front-end Web Development, Wiley (2013) Julie C. Meloni, Jennifer Kyrnin, HTML, CSS, and JavaScript All in One Covering HTML5, CSS3, and ES6, Sams Teach Yourself, Pearson Education (2018) Sebastian Springer, Node.js: The Comprehensive Guide, Rheinwerk Computing (2022)


Anlatım, Gösterme, Tartışma, Problem çözme, Uygulama, Ev ödevi


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 70
Ev Ödevi 2 30
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 2 2
Final Sınavı 1 2 2
Derse Katılım 14 3 42
Uygulama/Pratik 14 2 28
Bireysel Çalışma 14 3 42
Ara Sınav İçin Bireysel Çalışma 1 8 8
Final Sınavı içiin Bireysel Çalışma 1 14 14
Ev Ödevi 2 4 8
Toplam İş Yükü (saat) 146

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12 PÇ 13 PÇ 14 PÇ 15
ÖÇ 1 2 1
ÖÇ 2 2 2 2 1
ÖÇ 3 3 2 2 2
ÖÇ 4 3 2 3 4
ÖÇ 5 3 3 3 3 2
ÖÇ 6 3 5 4 5 2
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek