Bilişim Sistemleri ve Teknolojileri (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: INF471
Ders İsmi: Asynchronous Programming
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 6
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm Seçmeli
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi YUSUF ALİ DANIŞ
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Javascript'de Asenkron İşlemlerin yürütülmesini sağlayan Callback, ES6 Promise ve ES7 Async Await yapısını detaylı bir şekilde incelemek, ES5, ES6 ve ES7 arasındaki farklılıkları öğrenerek NodeJs ile uygulama geliştirebilecek bir alt yapıya sahip olmak.
Dersin İçeriği: Node.JS, Module, NPM kavramı, Asenkron Çalışma mantığı, API kavramı, Node.JS Web Sunucu, veritabanı , Restful API, Middleware, Oturum ve Yetkilendirme islemleri, E-posta işlemleri (gönderme, onaylama, şifre sıfırlama), Sunucuya Dosya Yükleme.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Javascript'de Asenkron İşlemlerin yürütülmesini sağlayan Callback, ES6 Promise ve ES7 Async Await yapısını detaylı bir şekilde incelemek.
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) Node.JS'e giriş ve Module kavramı, NPM kavramı ve detayları, Projeksiyon, Bilgisayar
2) Asenkron Çalışma mantığı, Projeksiyon, Bilgisayar
3) API kavramı ve HTTP modülü, Projeksiyon, Bilgisayar
4) Node.JS Web Sunucu oluşturma ve Express modülü, Projeksiyon, Bilgisayar
5) MongoDB veritabanı ve Mongoose modülü, Projeksiyon, Bilgisayar
6) Restful API yapımı, Middleware, Projeksiyon, Bilgisayar
7) Hatalar, Doğrulama, Projeksiyon, Bilgisayar
8) Oturum ve Yetkilendirme İşlemleri, Projeksiyon, Bilgisayar
9) Node.JS Template Motoru Projeksiyon, Bilgisayar
10) EJS kullanımı, Passport JS, Tema Giydirme Projeksiyon, Bilgisayar
11) E-posta işlemleri (gönderme, onaylama, şifre sıfırlama), Projeksiyon, Bilgisayar
12) Multer ile Sunucuya Dosya Yükleme, Projeksiyon, Bilgisayar
13) Deploy işlemler, Heroku, Projeksiyon, Bilgisayar
14) Digital Ocean, Uygulamaların Hizmete Açılması. Projeksiyon, Bilgisayar

Kaynaklar

Ders Notları / Kitaplar: 1. https://www.coursera.org/learn/html-css-javascript-for-web-developers
2. https://www.w3schools.com/
3. https://css-tricks.com/
4. https://tr.reactjs.org/docs/getting-started.html
Diğer Kaynaklar: 1. https://www.coursera.org/learn/html-css-javascript-for-web-developers
2. https://www.w3schools.com/
3. https://css-tricks.com/
4. https://tr.reactjs.org/docs/getting-started.html

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

Ders Öğrenme Kazanımları

1

Program Kazanımları
1) Bilişim sistemlerinin temel bileşenlerini tanımlar ve işleyişlerini açıklar.
2) Bilgisayar donanımı, yazılımı ve ağ yapılarına ilişkin bilgileri yorumlar ve karşılaştırır.
3) Büyük veri, yapay zekâ ve veri analitiği gibi teknolojileri uygular ve projelere entegre eder.
4) Karmaşık bilişim problemleri için algoritmalar tasarlar ve yazılım çözümleri uygular.
5) Veritabanı sistemlerini tasarlar, kurar ve sorgularla işletir.
6) Yazılım projelerinde proje yönetimi tekniklerini uygular ve ekip çalışmasına katkı sağlar.
7) Bilgi güvenliği, etik ilkeler ve yasal çerçeveleri açıklar ve uygular.
8) Alanındaki teknolojik gelişmeleri takip eder ve bireysel gelişim için sürekli öğrenme yöntemlerini uygular.
9) Teknik konularda sözlü ve yazılı iletişim becerilerini kullanır, sunumlar gerçekleştirir.
10) Farklı disiplinlerle iş birliği içinde çalışır ve çok disiplinli projelerde çözüm önerileri üretir.
11) Farklı bilişim projelerinde yenilikçi fikirler geliştirir, liderlik rolleri üstlenir ve girişimcilik becerilerini uygular.

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) Bilişim sistemlerinin temel bileşenlerini tanımlar ve işleyişlerini açıklar.
2) Bilgisayar donanımı, yazılımı ve ağ yapılarına ilişkin bilgileri yorumlar ve karşılaştırır.
3) Büyük veri, yapay zekâ ve veri analitiği gibi teknolojileri uygular ve projelere entegre eder.
4) Karmaşık bilişim problemleri için algoritmalar tasarlar ve yazılım çözümleri uygular.
5) Veritabanı sistemlerini tasarlar, kurar ve sorgularla işletir.
6) Yazılım projelerinde proje yönetimi tekniklerini uygular ve ekip çalışmasına katkı sağlar.
7) Bilgi güvenliği, etik ilkeler ve yasal çerçeveleri açıklar ve uygular.
8) Alanındaki teknolojik gelişmeleri takip eder ve bireysel gelişim için sürekli öğrenme yöntemlerini uygular.
9) Teknik konularda sözlü ve yazılı iletişim becerilerini kullanır, sunumlar gerçekleştirir.
10) Farklı disiplinlerle iş birliği içinde çalışır ve çok disiplinli projelerde çözüm önerileri üretir.
11) Farklı bilişim projelerinde yenilikçi fikirler geliştirir, liderlik rolleri üstlenir ve girişimcilik becerilerini uygular.

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

Bireysel çalışma ve ödevi
Laboratuvar
Ödev
Soru cevap/ Tartışma
Örnek olay çalışması
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

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Kurul-Committee 42 % 0
Laboratuar 10 % 0
Küçük Sınavlar 5 % 0
Ara Sınavlar 1 % 40
Final 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 3 42
Laboratuvar 12 2 24
Uygulama 10 1 10
Sınıf Dışı Ders Çalışması 6 2 12
Proje 1 20 20
Ödevler 10 1 10
Küçük Sınavlar 6 1 6
Ara Sınavlar 1 3 3
Final 1 3 3
Toplam İş Yükü 130