| 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 |