BST471 Asenkron Programlamaİstanbul Okan ÜniversitesiAkademik Programlar Bilişim Sistemleri ve TeknolojileriÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilişim Sistemleri ve Teknolojileri
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BST471
Ders İsmi: Asenkron Programlama
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 6
Öğretim Dili: TR
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 NURŞEN TOPÇUBAŞI
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) Farklı ortamlar için yazılım geliştirme, sistem yönetimi, ağ güvenliği, veritabanı, yönetim sistemleri gibi konularda temel bilgi ve becerilerine sahip olma.
2) Bilgi teknolojilerinin hızlı değişimi sonucu oluşan yeni bilişim sistemleri hakkında güncel konuları uzman olarak yakından takip etme.
3) Bilişim Sistemlerinin firmalardaki stratejik konumu ve yeni iş stratejileri oluşturulmasındaki rolünün öneminin farkında olma.
4) Bilişim Sistemleri alanında edindiği temel bilgi ve beceriler düzeyindeki fikirlerini ve görüşlerini ilgili kişilere yazılı ve sözlü olarak aktarabilme
5) Bilişim Sistemleri alanına ilişkin uzmanlık gerektiren konularda bir çalışmayı bağımsız olarak gerçekleştirebilme.

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) Farklı ortamlar için yazılım geliştirme, sistem yönetimi, ağ güvenliği, veritabanı, yönetim sistemleri gibi konularda temel bilgi ve becerilerine sahip olma. 5
2) Bilgi teknolojilerinin hızlı değişimi sonucu oluşan yeni bilişim sistemleri hakkında güncel konuları uzman olarak yakından takip etme. 4
3) Bilişim Sistemlerinin firmalardaki stratejik konumu ve yeni iş stratejileri oluşturulmasındaki rolünün öneminin farkında olma. 4
4) Bilişim Sistemleri alanında edindiği temel bilgi ve beceriler düzeyindeki fikirlerini ve görüşlerini ilgili kişilere yazılı ve sözlü olarak aktarabilme 4
5) Bilişim Sistemleri alanına ilişkin uzmanlık gerektiren konularda bir çalışmayı bağımsız olarak gerçekleştirebilme. 3

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