Bilgisayar Mühendisliği Yüksek Lisans Programı Ders Kur Tanımları TBİL 105 - BİLGİSAYAR PROGRAMLAMA I Temel kavramlar, C programlama diline giriş, program denetimi, diziler, göstergeler, değişkenlerin adresi, gösterge aritmetiği, fonksiyonlar, fonksiyonun değer döndürmesi, fonksiyonlar arasında parametre geçirme, fonksiyon çağırma yöntemleri, yapılar ve birlikler, disk dosyaları ile çalışma, hazır fonksiyonlar, C önişlemcisi, #define ile makroların tanımlanması,#include emri, koşullu derleme. TBİL 106 - BİLGİSAYAR PROGRAMLAMA II Nesneye yönelik programlama, C++ temelleri, fonksiyonlar, C++ programlarının denetimi, karşılaştırma işlemleri, döngüler, diziler, göstergeler, fonksiyonlar, yapılar, birlikler, sınıf ve nesneler, nesne dizileri, göstergeler, başvurular ve bellek yönetimi, fonksiyonlara aşırı yükleme, işleçlere aşırı yükleme, kalıtım, C++ giriş/çıkış sistemi, C++ standart şablon kütüphanesi, algoritmalar, kablar, yineleyiciler. TBİL 206 - BİLGİSAYAR ORGANİZASYONU Sayısal lojik devrelerin özeti, sayısal bileşenler, tümdevrelerin tanımı, veri gösterilimi özeti, veri tipleri, komplement, hızlı bellek transferleri ve mikroişlemler, temel bilgisayar yapısı ve özellikleri, temel bilgisayar komutları, temel bilgisayarda assembler programlama, temel bilgisayarın mikroprogramlama ile kontrolü, mikroprogram ile kontrolde bellek yapısı, kontrol birimi tasarım detayları, merkezi işlem birimi (cpu). TBİL 303 - VERİ YAPILARI VE ALGORİTMALAR Veri yapıları ve algoritmalarına giriş, veri yapıları, veri modelleri, algoritmik program tasarımı, akış şemaları, program çalışma hızı ve bellek gereksinimi, asimtotik notasyonlar, bağlantılı listeler, ağaç veri modeli, ikili ağaçlar, yığın ve kuyruk yapısı, öncelikli kuyruk çözümleri, sıralama algoritmaları, arama algoritmaları, graf veri modeli, greedy yaklaşımı, graf üzerinde dolaşma, graf renklendirme, çeşitli graf algoritmaları. TBİL 307 - PROGRAMLAMA DİLLERİ Programlama dillerine genel bir bakış, dil tanımı, dil çevrimi, dil çevrim yöntemlerinin karşılaştırılması, temel programlama elemanları, temel programlama kavramları, bağlama kavramı, isim kapsamları, ilkel veri tipleri, yapısal veri tipleri, yapısal programlama ve akış denetimi, altprogramlar, program ayrıştırma, yazılım geliştirmede soyutlama ve modülerlik, nesneye yönelik programlama, nesneye yönelik programlama dilleri. TBİL 407 - İŞLETİM SİSTEMLERİ İşletim sistemlerine giriş, giriş / çıkış sistemi, seçmeli giriş / çıkış programlama, kesilme düzeneği, kesilmeli giriş / çıkış programlama, doğrudan bellek erişim düzeneği, görev yönetimi, yönetim algoritmaları, işletim dizileri, birlikte çalışan görevler, görevler arası kilitlenme, ana bellek yönetimi, kütük yönetimi, diskin fiziksel yapısı, güvenlik ve koruma, aygıt sürücüler, dağıtılmış işlem, socket sistem çağrı düzeneği, dağıtılmış kütük yönetim sistemi. TBİL 601 - BİLGİSAYAR MİMARİSİ CISC ve RISC merkezli işlem birimleri, güçlü bilgisayar yapısı, sıralamalı ve vektör işlemciler, bilgisayar aritmetiği, sayı gösterilimleri, hareketli nokta aritmetik işlemleri, giriş-çıkış organizasyonu, eş zamanlı olmayan veri transferi, giriş ve çıkışta kullanılan transfer modları, ana bellek organizasyonu, bellek hiyerarşisi, çoklu işlemci yapıları, aynı zamandaki işlemci isteklerinin sıralanması, çoklu işlemcilerin haberleşmesi ve eş zamanlamaları. TBİL 602 - İLERİ BİLGİSAYAR AĞLARI SONET, VT’ler, paket iletişim yöntemleri, ATM, PNNI, VPN, bazı tünelleme protokolleri, tüneller ve güvenlik duvarları, MPLS, çok protokollü iletişim, tümleşik çalışma, geleceğin bilgisayar ağları ve etiket anahtarlama, DWDM, DWDM sisteminin yapıtaşları, Ağ Sınıflandırması, DSL, kablosuz sistemler, SS7, GSM, kablosuz ağ, WLAN ve WAP, kablosuz iletişimde yeni gelişen standartlar, kablosuz ağlar ve XMLJAVA-güvenlik. TBİL 603 - YAZILIM MÜHENDİSLİĞİ Giriş, yazılım geliştirme süreci, yazılım yeterlilik olgunluk metodu, yazılım geliştirme yöntemleri, CASE sistemi, yazılım proje yönetimi, yazılım ölçümü, yazılım kalite yönetimi, yazılımı sınama teknikleri, yazılım bakımı ve konfigürasyon yönetimi, yazılım gereksinimleri, yazılım gereksinim analizi modelleri, yazılım tasarımı, nesne yönelimli yazılım geliştirme, Coad - Yourdon’ ın nesneye yönelik analiz yöntemi. TBİL 604 - İLERİ VERİ TABANI SİSTEMLERİ Veri tabanı sistemlerine ve SQL diline giriş, fonksiyonların kullanımı ve gruplama işlemleri, çoklu tablolar ve karmaşık sorgular, veri tabanı tablolarının yaratılması, DML işlemleri, hareket işleme, PL/SQL’ e giriş, program denetimi, PL/SQL tabloları ve kayıtları, imleçler, FOR döngüsü ile imleçlerin tanımlanması, parametrelerin kullanımı, kural dışı durumların denetlenmesi, yordamlar, altprogramlar, fonksiyonlar, paketler. TBİL 610 - YAPAY SİNİR AĞLARINA GİRİŞ Yapay zeka ve makine öğrenmesi, yapay sinir ağlarına giriş, yapay sinir ağlarının yapısı ve temel elemanları, ilk yapay sinir ağları, yapay sinir ağı modeli, çok katmanlı algılayıcı, yapay sinir ağı modeli (LVQ modeli), LVQ için bir örnek uygulama, yapay sinir ağı modeli, adaptif rezonans teori ağları, ART 1 için bir örnek uygulama, grup teknolojisine dayalı imalat uygulaması, geri dönüşümlü ağlar, elman ağı, yapay sinir ağlarının uygulamaları, diğer modeller ve son araştırmalar. TBİL 651 - BİLİŞİM SİSTEMLERİ GÜVENLİĞİ Kişiye özellik teknolojisi, Hashing algoritmaları, gizli ve anonim anahtar şifrelenmesi, kişilik belirleme ve yetkilendirme teknolojileri, ileti tümleştirme teknolojileri, VPN ve güvenlik teknolojileri, güvenlik duvarları, program güvenliği, işletim sisteminde koruma, güvenilir işletim sistemlerinin tasarımı, veritabanı güvenliği, ağ güvenliği, yönetimsel güvenlik, bilgisayar güvenliğinde hukuk, bilgisayar güvenliğinde ahlak. TBİL 653 - BİLİŞİM SİSTEMLERİ SEMİNERİ Seminer dersi, belirli bir konuyu veya problemi tanımlama, veri toplama, verileri analiz edip tartışma ve varılan sonuçların bilimsel yazım kurallarına uygun biçimde bir rapor olarak sunma amacına yöneliktir. TBİL 655 - KARAR DESTEK SİSTEMLERİ Temel kavramlar, yönetim karar ve verme süreci, karar vermede yönetim bilimi tekniklerinin kullanılması, yönetim bilişim sistemleri, elektronik veri hareketleri, uzman sistemler, karar destek sistemlerine giriş, karar verme süreci, karar destek sistemlerinin yapısı, karar destek model yönetim sistemi, karar destek sistemlerinin geliştirilmesi, yapay zekâ teknolojilerine dayalı karar destek sistemleri, bilginin modellenmesi ve yönetilmesi, bilginin kullanılması ve karar destek sistemi. TBİL 699 - DÖNEM PROJESİ Dönem projesi dersi,bilgisayar mühendisliği alanında akademik yazım kurallarına uygun olarak yazılacak bir akademik çalışma niteliğindedir. İçeriği kapsamlı bir deneme, eleştirel bir rapor, uygulamaya dönük bir proje, deneysel bir çalışma olabilir. Dönem Projesi dersi, dönem sonunda başarılı ya da başarısız olarak değerlendirilir. Proje raporunun bir örneği, projeyi yöneten öğretim üyesinin onayı ile birlikte Üniversite'ye teslim edilir. TYBS 601 - BİLİŞİM SİSTEMLERİNE GİRİŞ Bilişim sistemlerinin donanım ve yazılım bileşenleri, uziletişim ve bilgisayar ağları, bilişim sistemlerinin amacı ve gelişim süreci, yönetim bilişim sistemleri, karar destek sistemleri, iş dünyasındaki değişimler ve yeniden yapılanma, bilişim sistemi geliştirme nedenleri, yöntemleri ve etkileri, yapısal bilişim sistemi projesini tanımlama ve uygulanabilirlik çalışması, yapısal bilişim sistemi analizi, yapısal bilişim sistemi tasarımı, yapısal bilişim sistemi projesini gerçekleştirme, bilişim sistemlerinin organizasyonu ve yönetimi. TYBS 606 - ELEKTRONİK TİCARET Elektronik ticarete giriş, elektronik ticarette temel kavramlar ve yaklaşımlar, elektronik ticarette ağ altyapısı, satışa yönelik sistemler, desteğe yönelik e-ticaret sistemleri, kurumsal bilişim sistemleri, elektronik ticarette veri ve ağ güvenliği, elektronik ödeme sistemleri, akıllı kartlar, ağ üzerinde pazarlama ve reklam, veri madenciliği bölüm hedefi, veri madenciliği, elektronik ticaretin hukuksal boyutları, e-ticaretin geleceği ve politikalar. TYBS 610 - VERİ MADENCİLİĞİ Veri ambarı, veri madenciliğine giriş, veriyi bilgiye dönüştürmenin yolu, sınıflandırma, ID3 algoritması, C4.5 algoritması, karar ağaçlarının budanması, karar kuralları oluşturmak, Cart ile sınıflandırma, Twoing algoritması, Gini algoritması, bellek tabanlı sınıflandırma: en yakın k-komşu algoritması, ağırlıklı oylama, kümeleme, uzaklık ölçüleri, birliktelik kuralları, destek ve güven ölçütleri.