Genel Bilgi
Kod | CEN437 |
Ad | Network Programming |
Dönem | 2022-2023 Eğitim-Öğretim Yılı |
Yarıyıl | 7. Yarıyıl |
Süre (T+U) | 3-0 (T-U) (17 Hafta) |
AKTS | 6 AKTS |
Yerel Kredi | 3 Yerel Kredi |
Eğitim Dil | İngilizce |
Seviye | Lisans Dersi |
Tür | Normal |
Öğretim Şekli | Yüz Yüze Öğretim |
Bilgi Paketi Koordinatörü | Doç. Dr. FATİH ABUT |
Dersin Öğretim Elemanı |
Güncel dönem ders programı henüz yapılmamıştır. |
Dersin Amacı / Hedefi
Bu ders, internet üzerine odaklanarak, ağ programlamanın temellerini ve pratik yönlerini tanıtmaktadır. Ders kapsamında ağ tabanlı uygulamalar programlamak üzere çeşitli API'ler kullanılacaktır.
Dersin İçeriği
Wireshark'a giriş. IEEE 802.3 libpcap API ile trafik yakalama analizi. IP ve VLSM alt ağları oluşturma. Yönlendirme. ICMP programlama. UDP ve TCP programlama. Thread yönetimi. HTTP ve Java servlets. Java sunucusu sayfaları. JavaMail API ve E-Posta programlama. Java Servlets. JSP. Ağ simülasyonu ve OTcl programlama.
Dersin Ön Koşulu
Ön koşul bulunmamaktadır.
Kaynaklar
1. Harold, E. R., “Java Network Programming”, 4th ed. O'Reilly, 2013, ISBN: 978-1565928701
Notlar
2. Douglas Comer, David Stevens, Internetworking with TCP/IP : Client-Server Programming, Volume III (BSD Unix and ANSI C), 2nd edition, 1996, ISBN 0-13-260969-X 3. W. Richard Stevens, Network Programming : Networking API: Sockets and XTI, Volume 1, 2nd edition, 1997 (ISBN 0-13-490012-X)
Dersin Öğrenme Çıktıları
Sıra | Dersin Öğrenme Çıktıları |
---|---|
ÖÇ01 | Protokol analizörlerinin temelleri hakkında bilgi sahibi olur. |
ÖÇ02 | Yönlendirme tabloları oluşturmanın yanı sıra IP adresleme ve alt ağları anlama becerisine sahip olur. |
ÖÇ03 | UDP ve TCP protokollerini kullanarak istemci ve sunucu programları yazabilme yeteneğine sahibi olur. |
ÖÇ04 | Java servlets ve sunucu sayfalarını kullanarak web uygulamaları yazabilme yeteneğine sahibi olur. |
ÖÇ05 | POP3, IMAP ve SMTP kullanarak e-posta istemcilerini kodlama yeteneğine sahibi olur. |
ÖÇ06 | OTcl kullanarak ağ simülasyon skriptleri yazabilme yeteneğine sahibi olur |
Program Öğrenme Çıktıları ile İlişkisi
Sıra | Tür | Program Öğrenme Çıktıları | Duzey |
---|---|---|---|
PÖÇ01 | Bilgi - Kuramsal, Olgusal | 1. Matematik, fen bilimleri ve bilgisayarla ilgili mühendislik konularında yeterli altyapıya sahip olma; bu alanlardaki kuramsal bilgileri beraber kullanabilme | 3 |
PÖÇ02 | Bilgi - Kuramsal, Olgusal | 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analitik yöntemler ve modelleme tekniklerini seçme ve uygulama | 3 |
PÖÇ03 | Bilgi - Kuramsal, Olgusal | 3. Karmaşık bir sistemi, sistem bileşenini ya da süreci analiz etme ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlama becerisi; bu doğrultuda modern tasarım yöntemlerini uygulama becerisi | 4 |
PÖÇ04 | Bilgi - Kuramsal, Olgusal | 4. Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin kullanma becerisi | 3 |
PÖÇ05 | Bilgi - Kuramsal, Olgusal | 5. Karmaşık bilgisayar mühendisliği problemlerin çözümüne ilişkin deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | 4 |
PÖÇ06 | Bilgi - Kuramsal, Olgusal | Bireysel olarak ve disiplin içi/çok disiplinli takımlarda etkin çalışabilme becerisi, sorumluluk alma ve özgüven | 3 |
PÖÇ07 | Beceriler - Bilişsel, Uygulamalı | Bilgiye erişebilme, kaynak araştırması yapabilme ve bilgi kaynaklarını kullanabilme becerisi | 3 |
PÖÇ08 | Beceriler - Bilişsel, Uygulamalı | Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | 2 |
PÖÇ09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | 9. Türkçe sözlü ve yazılı etkin iletişim kurma, ve en az bir yabancı dilde teknik yayın okuyup anlayabilme, rapor hazırlama ve sunum yapma becerisi | 4 |
PÖÇ10 | Yetkinlikler - Öğrenme Yetkinliği | Mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | 4 |
PÖÇ11 | Yetkinlikler - Öğrenme Yetkinliği | 11. Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği, ve mühendislik uygulamalarının hukuksal sonuçları hakkında farkındalık | 5 |
PÖÇ12 | Yetkinlikler - Öğrenme Yetkinliği | 12. Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkileri, girişimcilik ve yenilikçilik, ve çağın sorunları hakkında bilgi sahibi olmak |
Haftalık Akış
Hafta | Konu | Ön Hazırlık | Yöntemler |
---|---|---|---|
1 | Wireshark'a Giriş | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
2 | Libpcap API ile Ethernet Çerçevelerini Yakalama, Filtreleme ve İşleme: Bölüm 1 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
3 | Libpcap API ile IP Paketlerini Yakalama, Filtreleme ve İşleme: Bölüm 2 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
4 | IP, Subnetting ve Yönlendirme | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
5 | ICMP Programlama | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
6 | Libpcap API ile UDP DatagramlarınıveTCP SegmentleriniYakalama, Filtreleme ve İşleme: Bölüm 3 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
7 | Winsock ve Unix Soket API'leri ile UDP /TCP Programlama ve Thread Yönetimi: Bölüm 1 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
8 | Ara Sınav | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
9 | Winsock ve Unix Soket API'leri ile UDP /TCP Programlama ve Thread Yönetimi: Bölüm 2 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
10 | OTcl ile UDP/TCP Simülasyonu | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
11 | HTTP ve Java Servlets: Bölüm 1 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
12 | HTTP ve Java Sunucu Sayfaları: Bölüm 2 | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
13 | JavaMail API ve E-Mail Programlama | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
14 | Java Servlets Programlama | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
15 | Java Sunucu Sayfaları Programlama | Kitaptan ilgili bölümü okuma | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
16 | Yarıyıl Sonu Sınavları | Kitaptan ilgili bölümü okuma | Ölçme Yöntemleri: Yazılı Sınav, Ödev |
17 | Yarıyıl Sonu Sınavları | Kitaptan ilgili bölümü okuma | Ölçme Yöntemleri: Yazılı Sınav, Ödev |
Öğrenci İş Yükü - AKTS
Çalışmalar | Sayısı | Süresi (Saat) | İş Yükü (Saat) |
---|---|---|---|
Ders ile İlgili Çalışmalar | |||
Ders (Sınav haftaları dahil değildir) | 14 | 3 | 42 |
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) | 14 | 5 | 70 |
Değerlendirmeler ile İlgili Çalışmalar | |||
Ödev, Proje, Diğer | 0 | 0 | 0 |
Ara Sınavlar (Yazılı, Sözlü, vs.) | 1 | 15 | 15 |
Yarıyıl/Yıl Sonu/Final Sınavı | 1 | 30 | 30 |
Toplam İş Yükü (Saat) | 157 | ||
Toplam İş Yükü / 25 (s) | 6,28 | ||
AKTS | 6 AKTS |