CEN322
Ders Bilgileri
Ders Kodu Yarıyıl T + U (Saat) Kredi AKTS
Ağ Programlama CEN322 VI 3+0 3 5
 
Ön Koşul Dersleri  
 
Dersin Dili İngilizce
Dersin Seviyesi Lisans
Dersin Türü Seçmeli
Dersi Veren Öğretim Üyesi Dr.Öğr.Üyesi Fatih ABUT
Dersin Yardımcıları  
Dersin Amacı Bu dersin amacı öğrencilere bilgisayar ağlarını kullanan uygulamaların çeşitli programlama arayüzleri (APIs) yardımıyla tasarımı ve geliştirilmesi konularında bilgi ve beceri kazandırmaktır.
Dersin İçeriği OSI referans modeli. IEEE 802.3 Ethernet ve libpcap ile çerçeve yakalama analizi. Subnetting (Alt Ağlara Bölme) ve Yönlendirme. UNIX soket ve winsock ile UDP ve TCP programlama. Uzaktan Yordam Çağrısı. NetSNMP ile SNMP programlama. Java uygulamaları ve servletler. Java sunucu sayfaları.  İşe yönelik yeniden kullanılabilir Java elemanları. POP3, IMAP and SMTP kullanarak e-posta istemcileri programlama. Ağ Simülasyonu ve OTcl Programlama.
 
Dersin Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1. Bilgisayar ağları, OSI referans modeli ve protokol analizörlerinin (paket koklayıcıları) temelleri hakkında bilgi sahibi olma 1,2,3,6,10,14 A,C,D
2. TCP bağlantısı yönetimi, yeniden iletim mekanizması, akış ve tıkanıklık kontrolü hakkında bilgi sahibi olma 1,2,3,6,10,14 A,C,D
3. UDP ve TCP protokollerini kullanarak istemci ve sunucu programları yazabilme yeteneğine sahip olma 1,2,3,6,10,14 A,C,D
4. RPC ve SNMP kullanarak dağıtılmış sistem yönetimi için uygulama yazabilme yeteneğine sahip olma 1,2,3,6,10,14 A,C,D
5. Java uygulamalarını, servletleri, sunucu sayfalarını ve işe yönelik yeniden kullanılabilir java elemanları kullanarak web uygulamaları yazabilme yeteneğine sahip olma 1,2,3,6,10,14 A,C,D
6. POP3, IMAP and SMTP kullanarak e-posta istemcilerini yazabilme yeteneğine sahip olma 1,2,3,6,10,14 A,C,D
7. OTcl kullanarak ağ simülasyon skriptleri yazabilme yeteneğine sahip olma 1,2,3,6,10,14 A,C,D
 
Öğretim Yöntemleri:  1: Anlatım, 2: Soru-Cevap, 3: Tartışma, 4: Alıştırma ve Uygulama, 5: Gösteri, 6: Gösterip Yaptırma,, 7: Rol Yapma, 8: Grup Çalışmas, 9: Benzetim, 10: Beyin Fırtıması, 11: Örnek Çalışmalar, 12: Deney/Laboratuvar, 13: Bireysel Çalışma, 14: Proje Çalışması, 15: Proje Temelli Öğrenme, 16: Tanımsız
Ölçme Yöntemleri:  A: Sınav , B: Sözlü Sınav, C: Ödev, D: Proje/Tasarım, E: Performans Görevi, F: Portfolyo, G: Tanımsız
 
DERS AKIŞI
Hafta Konular       Ön Hazırlık
1 OSI Referans Modeline Giriş  
2 Libpcap API ile Ethernet Çerçevelerini Yakalama, Filtreleme ve İşleme  
3 İnternet Protokolü, Subnetting (Alt Ağlara Bölme) ve Yönlendirme  
4 UDP, TCP Temelleri ve Bağlantı Yönetimi  
5 TCP Yeniden İletim Zamanaşımı Mekanizması ve Akış Kontrolü  
6 TCP Tıkanıklık Kontrolü  
7 Winsock ve Unix Soket API'leriyle UDP / TCP Programlama / Thread Yönetimi  
8 Uzaktan Yordam Çağrısı (RPC) Programlama  
9 SNMP and Abstract Syntax Notation 1 (ASN.1)  
10 Net-SNMP API ile Programlama  
11 Java Applets, Servlet ve Sunucu Sayfaları (JSP)  
12 İşe Yönelik Yeniden Kullanılabilir Java Elemanları (EJB)  
13 JavaMail API ve E-Mail Programlama: POP3, IMAP ve SMTP  
14 NS-3 ile Ağ Simülasyonu ve Otcl Programlama  
           
KAYNAKLAR
Ders Notu [1] Harold, E. R., “Java Network Programming”, 4th ed. O'Reilly, 2013
[2] Russell Bradford, “The Art of Computer Networking”, Pearson Prentice Hall, 2007
Diğer Kaynaklar  
 
 
           
           
MATERYAL PAYLAŞIMI 
Dökümanlar 1-8 hafta  
Sınav Soruları  
9-14 hafta  
Ödevler Ödevler  
Sınavlar Sınav Tarihleri  
ArasinavTarihleri  
 
DEĞERLENDİRME SİSTEMİ
YARIYIL İÇİ ÇALIŞMALARI SAYISI KATKI YÜZDESİ
Ara Sınav 1 70
Proje 1 30
Toplam 100
Yıliçinin Başarıya Oranı 50
Finalin Başarıya Oranı 50
Toplam 100
 
DERS KATEGORİSİ Mesleki
 
DERSİN PROGRAM ÇIKTILARINA KATKISI
No Program Öğrenme Çıktıları Katkı Düzeyi
1 Matematik, Fen Bilimleri ve temel mühendislik alanlarında bilgi birikimi ve bu birikimi uygulamaya dönüştürebilme yeteneğine sahip olma, 5
2 Bilgisayar Mühendisliği’nin temel prensipleri hakkında bilgiye sahip olma ve bu alandaki problemleri tanımlama, modelleme ve çözme yeteneğine sahip olma, 5
3 Bilişim teknolojileri bilgisi ve bu teknolojileri aktif olarak kullanabilme yeteneğine sahip olma, 5
4 Kendi alanında veri toplama, deney yapma, deney sonuçlarını analiz ve yorumlama yeteneğine sahip olma, 5
5 Problem çözümlerinde ve uygulamalarda modern mühendislik araçlarını ve yöntemlerini kullanabilme yeteneğine sahip olma, 4
6 Sistem ve sistem bileşenini veya süreci istenilen kriterlere uygun olarak tasarlama ve uygulama yeteneğine sahip olma, 4
7 Disiplin içi ve disiplinler arası takımlarda çalışabilme yeteneğine sahip olma, 4
8 Bilgi edinimi araştırması yapabilme, veri tabanlarına ve diğer bilgi kaynaklarına erişebilme becerisine sahip olma, 4
9 Yaşam boyu öğrenme gerekliliğinin farkındalığına sahip olma ve bu farkındalığı uygulayarak kendini yenileyebilme yeteneği sahip olma, 3
10 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi uygulamalar ile girişimcilik ve yenilikçilik hakkında bilgi sahibi olma, 3
11 İletişim de etkin olabilme yeteneğine sahip olma, 1
12 Mesleki özgüven, bağımsız davranma, yaratıcılık gibi özelliklere sahip olma, 4
13 Mesleki ve etik sorumluluk bilinçlerine sahip olma, 1
KATKI DÜZEYİ: 1:Çok-Düşük, 2: Düşük, 3: Orta, 4: Yüksek, 5: Çok-Yüksek
AKTS / İŞ YÜKÜ TABLOSU
Etkinlik SAYISI Süresi (saat) Toplam İş Yükü (saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, pekiştirme) 16 6 96
Proje 1 32 32
Ara sınav 1 2 2
Final sınavı 1 2 2
Toplam İş Yükü 180
Toplam İş Yükü / 30 (saat) 6
Dersin AKTS Kredisi 6