| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| WTK-102 | INTERNET PROGRAMCILIĞI-I | Ders | 1 | 2 | 6,00 |
Önlisans
Öğrencilere web tarayıcılarında çalışan istemci taraflı programlamanın temellerini öğretmektir. JavaScript dilinin sözdizimini, veri yapılarını, nesne yönelimli ve fonksiyonel yaklaşım ilkelerini kavratarak; DOM manipülasyonu, olay yönetimi ve asenkron veri iletişimi ile dinamik web uygulamaları geliştirebilme becerisi kazandırmayı hedefler.
Öğr.Gör.Hilmi Bahadır TEMUR
| 1 | JavaScript programlama dilinin temel sözdizimini, veri tiplerini ve değişken kapsamlarını (scope) açıklar. |
| 2 | Karar yapıları, döngüler ve fonksiyonları kullanarak istemci taraflı algoritmalar ve iş mantıkları kurgular. |
| 3 | Diziler ve nesneler üzerindeki yüksek seviyeli metotları (map, filter, reduce vb.) etkin bir şekilde kullanır. |
| 4 | DOM (Document Object Model) yapısını kullanarak web sayfasındaki bileşenleri dinamik olarak seçer, günceller ve yönetir. |
| 5 | Kullanıcı etkileşimlerini olay dinleyicileri (event listeners) ile yakalar ve uygun tepkileri üreten kod blokları yazar. |
| 6 | Tarayıcı hafızasını (LocalStorage / SessionStorage) kullanarak istemci taraflı geçici veri saklama çözümleri üretir. |
Birinci Öğretim
-
Öğrencilerin temel HTML/CSS bilgisine sahip olması veya eş zamanlı olarak web tasarımı dersi alması önerilir.
JavaScript dil yapısı, değişkenler ve veri tipleri; mantıksal operatörler, akış kontrol yapıları ve döngüler; fonksiyonlar ve kapsam (scope/closure); gelişmiş dizi (Array) ve nesne (Object) metotları; DOM (Document Object Model) mimarisi ve olay yönetimi (Event Handling); istemci taraflı veri saklama (Web Storage API); modern ES6+ özellikleri; Asenkron JavaScript (Promises, Async/Await) ve Fetch API ile harici veri iletişimi.
| Hafta | Teorik | Uygulama | Laboratuvar |
|---|---|---|---|
| 1 | JavaScript’e Giriş: Çalışma prensibi, tarayıcı konsolu (DevTools), betik çalıştırma yöntemleri, var, let, const kullanımı | ||
| 2 | Veri Tipleri ve Operatörler: İlkel (Primitive) ve Referans tipler, Tip Dönüşümleri, Aritmetik ve Mantıksal Operatörler | ||
| 3 | Akış Kontrol Yapıları: if-else, switch-case koşullu ifadeleri ve Ternary Operator kullanımı | ||
| 4 | Döngüler ve Tekrarlı Yapılar: for, while, do-while, for...of ve for...in döngüleri | ||
| 5 | Fonksiyonlar: Fonksiyon tanımlama yöntemleri, parametreler, return kullanımı ve Arrow Functions (Ok Fonksiyonları) | ||
| 6 | Kapsam (Scope) ve Bellek Yönetimi: Global, Function, Block Scope, Hoisting ve Closure kavramları | ||
| 7 | Diziler (Arrays) ve Dizi Metotları: push, pop, shift, unshift, splice, slice ve Yineleme (Iteration) teknikleri | ||
| 8 | Ara Sınav / Vize Haftası | ||
| 9 | İleri Dizi Metotları: forEach, map, filter, reduce, find ve some/every işlevleri | ||
| 10 | Nesneler (Objects) ve JSON: Nesne oluşturma, özellikler ve metotlar, Destructuring, Object Methods (keys, values, entries) | ||
| 11 | DOM (Document Object Model) Mimarisi: Eleman seçimi (querySelector, getElementById), içerik ve stil manipülasyonu | ||
| 12 | Olay Yönetimi (Event Handling): Olay dinleyicileri (addEventListener), Form Olayları, Klavyeden/Mousedan Veri Alma | ||
| 13 | İstemci Taraflı Veri Saklama: Web Storage API (localStorage, sessionStorage) ile veri tutma ve yönetme | ||
| 14 | Asenkron JavaScript ve Fetch API: Promises, Async/Await mimarisi ile harici API'lerden (JSON) veri çekip dinamik listeleme |
-JavaScript: The Definitive Guide - David Flanagan - Eloquent JavaScript - Marijn Haverbeke - MDN Web Docs (Mozilla Developer Network) ve JavaScript.info.
Yüz yüze/çevrim içi teorik anlatım, bilgisayar laboratuvarında canlı kodlama (live-coding) alıştırmaları, haftalık küçük JavaScript problemleri/ödevleri, ara sınav ve dönem sonu JS tabanlı proje.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| 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 | |
-
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 4 | 56 |
| Proje Hazırlama | 1 | 10 | 10 |
| Bireysel Çalışma | 14 | 4 | 56 |
| Ara Sınav İçin Bireysel Çalışma | 7 | 4 | 28 |
| Final Sınavı içiin Bireysel Çalışma | 7 | 4 | 28 |
| Toplam İş Yükü (saat) | 180 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | |
| ÖÇ 1 | 5 | 2 | 5 | 1 | |||||
| ÖÇ 2 | 5 | 2 | 5 | ||||||
| ÖÇ 3 | 3 | 5 | |||||||
| ÖÇ 4 | 4 | 5 | |||||||
| ÖÇ 5 | 4 | 5 | |||||||
| ÖÇ 6 | 4 | 5 | 1 |