Bilgisayar Mühendisliği Ana Bilim Dalı

Enstitümüzdeki Bilgisayar Mühendisliği Programı’nın amacı; bilgi çağı olarak adlandırılan 21. yüzyılda, bilgisayar ile enformasyon teknolojisini bilen ve çeşitli disiplinler arası bilgi akış yöntemlerini çok iyi kullanan, nitelikli insan kaynağını yetiştirmektir.

Lisansüstü programlarına, Bilgisayar Mühendisliği A.B.D.’nın belirlediği koşulları sağlayan Bilgisayar Mühendisliği Bölümü ve diğer disiplinlerden mezun olanlar kabul edilirler. Diğer disiplinlerden mezun olan adayların normalde bir lisans tamamlama programını bitirmeleri gerekir.


Ders Kodları

Ders Kodu Ders Adı
BM 501 Nesneye-Yönelik Programlama Dilleri ve Sistemleri
BM 502 Algoritma Analizi
BM 503 Programlama Dilleri
BM 504 Gerçek Zamanlı Programlama
BM 505 Yazılım Mühendisliğinde İleri Konular
BM 511 Ayrık Matematik
BM 512 Olasılık Teorisi ve Rassal Süreçler
BM 521 Veritabanı Yönetim Sistemleri
BM 522 Nesneye-Yönelik Veri Tabanı Sistemleri
BM 523 Dağıtılmış Veritabanı Sistemleri
BM 525 Dağıtılmış Sistemler
BM 527 Dağıtılmış Sistemlerde Özel Konular
BM 531 Bilgisayar Ağları ve Haberleşme
BM 532 Bilgisayar Ağlarında Temel Protokoller
BM 533 Bilgisayar Ağlarında Veri Güvenliği ve Koruma
BM 534 Kriptografi
BM 535 Mobil Ajan Sistemler
BM 541 Görüntü İşleme
BM 542 Bilgisayarla Görme
BM 543 Şekil Tanıma
BM 551 Paralel Bilgi İşleme ve Çok işlemcili Sistemler
BM 552 Paralel Programlama
BM 553 Dağıtılmış Veri İşleme
BM 554 Dağıtılmış İşletim Sistemleri
BM 561 Yapay Zeka
BM 562 Yapay Sinir Ağları
BM 564 İleri Bilgisayar Mimarisi
BM 565 İleri Bilgisayar Ağları
BM 566 Kablosuz Algılayıcı Ağlar
BM 571 Bilgi Sistemlerinin Nesneye-Yönelik Analiz ve Tasarımı
BM 581 Simülasyon, Modelleme ve Analiz
BM 500 Yüksek Lisans Tezi (Kredisiz)
BM 590 Yüksek Lisans Semineri (Kredisiz)
BM 591 Yüksek Lisans Uzmanlık Alan Dersi
BM 600 Doktora Tezi (Kredisiz)
BM 690 Doktora Semineri (Kredisiz)
BM 691 Doktora Uzmanlık Alan Dersi



Ders İçerikleri

BM 500 Yüksek Lisans Tezi: Yüksek Lisans derecesi alabilmek için öğrenci ve öğretim üyesi arasında düzenlenen araştırma programı. Öğrenciler bu derse üçüncü yarıyıldan itibaren tez araştırmasının ve yazımının gerçekleştirildiği bütün dönemler için kayıt olurlar.
BM 501 Nesneye-Yönelik Programlama Dilleri ve Sistemleri: Nesneye-Yönelimin avantajları, Nesneye-Yönelik programlama dillerine giriş, Sınıf, Nesne, Metot, Varlıklar, Çevreleme, Mesaj iletimi, Miras yapısı, Çoklu miras yapısı, ve Polimorfizm. Smalltalk ile programlama, C++ ile programlama, Java ile programlama
BM 502 Algoritma Analizi: Algoritmaların temel kavramları. Matematiksel gereksinimler. Rekürsif eşitlikler ve eşitsizlikler. Karmaşıklık ölçüleri; O, o ve diğer notasyonlar. Çeşitli alanlardaki klasik algoritmaların karmaşıklık analizleri. Sıralama, arama, çizgeler, eşleme, matris işlemleri, dönüşümler. NP-C Karmaşıklığına giriş.
BM 503 Programlama Dilleri: Tarihsel perspektifin özeti. Bağlama kavramı, Pascal benzeri dillerin çalışma-zamanı yapıları. Parametre aktarımı. Tip yapıcılar, Soyut veri tipleri, Çevreleme, Tip uyumluluğu, Tip kontrolü, Polimorfizm. Bildirim-seviyesi kontrol yapıları. Ünite-seviyesi kontrol yapıları. Korutineler, İstisnai durumlar, Eşzamanlı üniteler. Mevcut araştırma konuları.
BM 504 Gerçek Zamanlı Programlama: Gerçek zamanlı yazılımın doğası. Gerçek zamanlı işletim sistemleri. Gerçek zamanlı haberleşme. İş dağıtma ve Özkaynak yönetimi. Formel yöntemler. Programlama dilleri ve araçlan. Gerçek zamanlı çekirdekler: Tempo, PSOS+, RT kernel. Çekirdek kullanarak gerçek zamanda programlama. Tasarım çalışmaları.
BM 505 Yazılım Mühendisliğinde İleri Konular: Proje kavramı, Projenin tanımlaması, Proje işlemleri. Modelleme, Sistem mühendisliği prensipleri. Proje yönetim teknikleri; Planlama, Organizasyon, Kontrol, Değerlendirme, Raporlama ve Sonlandırma. Maliyet/fayda analizi, Risk analizi. Proje planlama yöntemleri; İş tanımlama ve planlama, Ağ planlama ve PERT, Kritik yol yöntemi, Kaynak analizi, Proje boyutunun takdir edilmesi, Takvim ve maliyet, Olasılık planlama. Proje kontrol yöntemleri; Kontrol noktaları, Teftiş, Kontrol değişikliği, Raporlama, Konu yönetimi. Yazılım için bakım kavramı; Düzeltici, Adapte edici, ve Tam bakım. Yaşam çevrimi bakımı. CASE araçları.
BM 511 Ayrık Matematik: Asallar. Göreli asallık. "mod" kongrüans bağıntısı. Fermat ve Çinli kalanlar teoremi. Üreteç Fonksiyonlar: Rekürans bağıntılan ve çözüm yöntemleri. Konvolüsyonlar.Üste1 üreteç fonksiyonlar. Cebirsel yapılar: Gruplar. Yapı benzerlikleri. Grup Kodlan. Polya sayma yöntemi. Halkalar. Moduler aritmetik. Galois cisimleri. Graflar ve Ağaçlar: Bağlantılılık. Euler ve Hamilton Çevreleri. Çevresiz graflar. Ağaçlarda arama ve sıralama. Minimal kapsayan ağaç algoritmaları. Ulaşım ağları. En yüksek akı- en küçük kesit teoremi. Eşleşme yöntemleri.
BM 512 Olasılık Teorisi ve Rassal Süreçler: Olasılık uzayı ve rassal süreçlerin sınıflandırılması. Ayrık ve sürekli parameter uzayında Markov ve yarı-Markov zincirleri. Yenilenme Teorisine giriş. Doğum ve ölüm süreçleri ve kuyruk teorisine uygulanması.
BM 521 Veri Tabanı Yönetim Sistemleri: Veri tabanı kavramına giriş, İlişkisel veri tabanı modelinin teorisi, Anlamsal veri tabanı modelleri. Genişletilmiş ilişkisel veri modeli, Öğretici veri tabanı sistemleri, Dağıtılmış veri tabanı sistemleri, Nesneye-Yönelik veri tabanı sistemleri  ve uzman veri tabanı sistemleri. Veri tabanı sistemlerinde belirsizlik. Diğer yeni çalışma konuları.
BM 522 Nesneye-Yönelik Veri Tabanı Sistemleri: Nesneye-Yönelik veri tabanı sistemlerine giriş. Nesneye-Yönelik veri tabanı sistemlerinin yapısı. Toplu depolama yöneticisi. ORION Nesneye-Yönelik veri tabanı yönetim sistemi. O2 Nesneye-Yönelik veri tabanı yönetim sistemi. R ağaçları, R+ ağaçları ve R* ağaçları. Nesneye-Yönelik veri tabanı sistemleri için gerçekleme konuları.
BM 523 Dağıtılmış Veri Tabanı Sistemleri: Veri tabanı sistemlerine genel bir bakış, Dağıtılmış veri tabanı sistemlerine genel bir bakış, Merkezi veri tabanı sistemlerinde eşzamanlılık kontrolü, Dağıtılmış veri tabanı sistemlerinde eşzamanlılık kontrolü, Serileştirilebilme teorisi, İki-fazlı kilitleme, Zaman-pulu atama serileştirmesi, graf kontrolü, Zaman-arası tekniği, İyimser yöntemler, Kopyalanmış verilerin halli, Çoklu-versiyonlu veri, Dağıtılmış veri tabanı tasarımı, Dağitilmiş veri tabanı yönetim sistemlerinde geri-kazanım sorgulama işlemi.
BM 525 Dağıtılmış Sistemler: Dağıtılmış sistemler bilgisayar ağları üzerinden sistem kaynaklarının ve bilginin paylaşımını sağlarlar. İnternet üzerinden veri paylaşımı gibi geniş alanlı uygulamaların geliştirilmesi için dağıtılmış sistemlerin genel yapısı, temel özellikleri ve mevcut bazı sistemlerin tanınması gerekmektedir. Bu ders öğrencilere internet ortamında dağıtılmış uygulamalar geliştirme için gerekli prensipleri kazandıracaktır.
BM 527 Dağıtılmış Sistemlerde Özel Konular: Dağıtılmış sistemlerde halen araştırma alanları arasında yer alan hata toleransı, güvenlik, nesneye yönelik dağıtılmış sistemler, dağıtılmış dosya sistemleri, doküman tabanlı sistemler gibi konuların detaylı incelenmesi. Bu ders öğrencilere dünya çapına yayılmış geniş-alanlı sistemlerdeki genel problemler ve araştırma alanları hakkında bir vizyon kazandıracaktır.
BM 531 Bilgisayar Ağları ve Haberleşme: İletişim Sistemleri, Anahtarlamalı İletişim, Paket İletişimi, Protokoller, Yerel Ağlar, Geniş alan ağları, Internet, Adresleme, TCP/IP, Güvenlik ve uygulamalar.
BM 532 Bilgisayar Ağlarında Temel Protokoller: Yünlendirme: Optimallik ilkesi, en kısa yol bulma. Taşkın yöntemi. Uzaklık vektörü; ve bağ durumu algoritmalan. Akış ve tıkanıklık denetimi: Kredili ve eşikli akış düzenleme. Trafık şekillendirme. Tıkanıklık önleme. Ağların birlikte hizmet vermeleri : Köprüler, yönlendirici geçitler, tünelleme. Internet'te yönlendirme: OSPF ve BGF protokolları. Uçtan uca ulaşım: Ulaşım hizmetleri. Bağlantı yönetimi ve akış denetimi. Çoğullama. TCP protokolu. Yönetim: OSI' de yönetim. ASNI notasyonu. CMIP protokolu. INTERNET'te yönetim, SNMP protokolu. Ağda Güvenlik: Kriptografı ilkeleri. Açık ve kapalı anahtar yöntemleri. Asıllama. Sayısal imza.
BM 533 Bilgisayar Ağlarında Veri Güvenliği ve Koruma: Klasik ve modern Simetrik şifreler, Veri Şifreleme Standardı (DES), Gerçekliğini doğrulama, Anahtar yönetimi, asimetrik (genel anahtar) şifreler, dijital imzalar.
BM 534 Kriptografi: Giriş, tarihçe, klasik yöntemler. Simetrik algoritmalar ve DES. Enformasyon teorik analiz. Sayılar teorisinden seçme konular. Aritmetik algoritmalar, RSA, El Gamal, dijital imza, DSS, protokollar. Uygulamalar
BM 535 Mobil Ajan Sistemleri: Ajan Nedir, Ajan Sistemlerine Giriş, Ajanların Uygulama Alanları ve Örnekleri, Ajan Tipleri, Ajan Altyapıları, Ajan Haberleşmesi ve Haberleşme Dilleri, JADE Ajan Sisteminin Kullanımı, Hareketlilik Mekanizmaları, Mobil Ajanlar, JADE Sisteminde Mobil Ajanlar, Ajanlarda Öğrenme, Ajanlarda Pazarlık.
BM 541 Görüntü İşleme: Giriş, Görüntü iyileştirme; Kontrast ve dinamik sınır değişimi, Yumuşatma; Görüntü onarma; Gürültü ve bulanıklaşmanın azaltılması; Görüntü kodlama; Nicemleme, Kayıpsız kodlama yöntemleri, Huffman kodlama, Öngörüsel kodlama, Kayıplı kodlama yöntemleri: Dönüşüm kodlama, Karma dönüşüm kodlama, Çerçeve arası kodlama, Modele dayalı kodlama, Piramit kodlama, Görüntü ayrıştırma: Eşikleme, Ayrıt saptama, Ayrıt bağlama, Bölgelere ayırma, Projeksiyonlardan görüntü kurma, Fourier-Dilim teoremi, Filtrelenip geri yansıtma yöntemi, Cebirsel görüntü kurma. İkili görüntü işleme ve paralel algoritmalar; Görüntü anlama, Fourier tanımlayıcıları, Momentler, Geometrik tanımlayıcılar, Model uydurma.
BM 542 Bilgisayarla Görme: Bilgisayarla görmeye giriş, Görüntü oluşumu, Görüntünün modellenmesi, Görüntü elde etme düzenleri, Alçak seviye problemeri: Yumuşatma, Ayrıt saptama, Ayrıt bağlama, Çok ölçekli yaklaşımlar, Orta seviye problemleri: Yüzey kurma, Tonlamadan, Hareketten, ve Stereo'dan şekil elde etme, Range görüntüleri, Yüksek seviye problemleri: Modele dayalı görü, Kavramsal ağlar, Genelleştirilmiş silindirler ve Hough dönüşümü.
BM 543 Şekil Tanıma: Makina tanımasına giriş, iki veya daha çok boyutlu şekiller. İstatistiksel ve dilsel yaklaşımlar. Uygulama alanlarının incelenmesi. Bayes karar teorisi, Karar sınırları, sınıflayıcılar ve diskriminant fonksiyonları. Parametrelerin atanması. Kümeleme. Özellik seçimi. PR için yapısal yaklaşımlar. Sinir ağı tanıyıcıları. Uygulamalar.
BM 551 Paralel Bilgi İşleme ve Çok İşlemcili Sistemler: Paralel işleme giriş. Flynn'in sınıflandırnıası. Başanm parametreleri. UMA, NUMA, COMA modelleri. Vektör süperbilgisayar ve SIMD modelleri. Pram ve VLSI modelleri. Sistem arabağlaşım mimarileri: Ortak yol, Çok kapılı bellek, Crossbar, Anahtar modülü, Çok katlı arabağlaşım ağı, Dönen ağ. Cep tutarlılığı problemi. Gözetlemeli yol protokolleri. Rehber tabanlı protokollar. Donanım tabanlı senkronizasyon mekanizmalan. Çok bilgisayarlı yapılar. Mesaj geçirme mekanizmalan. Programlardaki paralellik. Program bölmeleme ve iş sıralama. Program akış mekanizmaları. Vektör işlem ilkeleri. Çok vektörlü çoklu işlemciler. Zincirli vektör işlem. SIMD düzeni. Gecikme gizleme teknikleri. Çok lifli çalışma ilkeleri. İnce taneli çoklu bilgisayarlar. Ölçeklenebilir ve çok lifli mimariler. Veri akış mimarisi.
BM 552 Paralel Programlama: Paralel programlamanın tanıtımı. Uygulama alanları. Paralel algoritmalara ilişkin problemler: Senkronizasyon, Haberleşme, Kritik bölümler. Senkronizasyon mekanizmaları: Semaforlar, Monitörler ve diğerleri. Gerçekleme yollan ve uygulama örnekleri. Mesaj aktarımına dayalı haberleşme ilkelleri. Randezvous yapısı. İşletim sistemlerinde paralel programlama yöntemleri. Paralel programlama dilleri: CSP, OCCAM, ADA ve diğerleri. Klasik paralel programlama algoritma örneklerinin tasarımı ve incelenmesi.
BM 553 Dağıtılmış Veri İşleme: Dağıtılmış dosya hizmetleri, disk hizmeti, hareket hizmeti, adlandırma ve katalog hizmeti, OSI dosya hizmeti. Dağıtılmış sistemlerde ölümcül kilitlenme, merkezi ve dağıtılmış ölümcül kilitlenme sezme algoritmaları, ölümcül kilitlenme çözme. Özkaynak korurrıası, erişim denetleme yaklaşımları, erişim matrisi modeli, bilgi akışı modeli, güvenlik çekirdeği mekanizması, dağıtılmış matris erişim denetimi, dağıtılmış güvenlik çekirdeği gerçekleme. Haberleşme güvenliği ve kullanıcı asıllama, dağıtılmış bilgisayar sistemlerinde süreçler arası haberleşmede güvenlik konulan, sayısal imzalar, dağıtılmış sistemlerde güvenlik hizmetleri ve mekanizmalan, ISO/OSI modelinde güvenlik hizmetleri.
BM 554 Dağıtılmış İşletim Sistemleri: Dağıtılmış sistemlere giriş, dağıtılmış sistemlerde haberleşme, istekçi-hizmetli modeli, uzaktan yordam çağırma, dağıtılmış sistemlerde senkronizasyon, saat senkronizasyonu, dağıtılmış sistemlerde karşılıklı dışlama, Lamport algoritması, Ricart ve Agrawala algoritması, Goscinski dağıtılmış senkronizasyon algoritmaları, dağıtılmış sistem modelleri, adlandıı-ma hizmetleri, adlar, güzergahlar, adresler, dağıtılmış sistemlerde si.ireç yönetimi, süreçler üzerinde uzaktan işlemler, süreçlerin göç ettirilmesi, Demos/MP'de süreç göç ettirme mekanizması özkaynak atama, özkaynak yöneticileri, yük paylaşma algoritmaları, yük dengeleme algoritmaları, örnek dağıtılmış işletim sistemleri.
BM 561 Yapay Zeka: Giriş. Programlama Dili LISP: dizi, ağaç, küme, kuyruk ve tablo yapılan. Bilgi gösterimi: Üretim kuralları, içerme hiyeyarşileri, önermesel ve yargısal hesap, çıkarım kurallan, çerçeveler, anlamsal ağlar, kısıtlamalar ve dizgesel yaklaşımlar. Arama: Hipotez ve test etme, derinlik öncelikli arama, genişlik öncelikli arama, sezgisel arama, optimal arama, oyun ağaçlan ve dönüşüklü arama, minimax arama, alpha-beta indirgeme. Öğrenme: betimleme ağaçlara, yapay sinir ağlan, Perceptronlar, genetik algoritmalar. Uzman sistemler, Doğal dil işlem, Konuşma tanıma, Bilgisayarla görü.
BM 562 Uzman Sistemler: Temel kavramlar: çıkarsama makinesi, bilgi tabanı, bilgi edinimi, bilgi temsili ve kontrolü, otomatik muhakeme (uslamlama), belirsizlik temsili, pratik problem çözme. Uzman sistemlerinin pratik ve teorisinin gelişimi. Bilinen uzman sistem örnekleri. Uzman sistem tasarımı için yazılım araçları ve mimarileri. Bir uzman sistem tasarımı.
BM 563 Yapay Sinir Ağları: Yapay sinir ağlarının uygulama alanları, lineer algılayıcılar, çok-katmanlı algılayıcılar, vektör nicilendiriciler, Radyal-temelli fonksiyon ağları, Uzmanların karışımı, Çoklu öğrenicilerin birleştirilmesi, Sınıflandırıcı algoritmaların karşılaştırılması, Genetik algoritmalar.
BM 564 İleri Bilgisayar Mimarisi: Bilgisayar Mimarisine Giriş, Ardışık Düzende İşlem, Komut Kümeleri Prensipleri, Komut Kümeleri Mimarileri, Komut Kümesindeki İşlemler, Komut Seviyesinde Paralel İşleme, Komut Seviyesinde Paralel İşlemin Sınırları, Çoklu İşlemciler Ve İş Parçası Seviyesinde Paralel İşleme, Bellek Hiyerarşisi Tasarımı, Bellek teknolojisi ve eniyileme Teknikleri, Sanal Bellek Kavramı, Ön Bellek Tasarımı, Veri Saklama Sistemleri.
BM 565 İleri Bilgisayar Ağları: Bilgisayar Ağlarına Genel Bakış, Geniş Alan Ağlar ve Internet’te Yönlendirme, IP Router Mimarileri, Paket Sınıflandırması, Ağ İşlemcileri, Yüksek Hızlı Ağ İşlemcileri İçin Haberleşme Mimarileri, Öğrenme ile Yönlendirme Protokolü İçin Paket İşlemcisi, İstatistiğe Dayalı Az Güç Harcayan Ağ Arama Motorları, İkinci Katmanda Multimedya Paketlerinin Yönlendirilmesini Hızlandıran Sistem, Grid Bilişim İçin Ağ Temelli Kaynak Yönetimi, Ağ İçeriği Taramalı Yönlendirme İçin Ön Cihaz Tasarımı, Milimetre-Dalga (60 Ghz) Kablosuz Kişisel Ağlar.
BM 571 Bilgi Sistemlerinin Nesneye-Yönelik Analiz ve Tasarımı: Bilgi sistemlerinin analiz ve tasarımı. Nesneye-yönelim. Coad-Yourdon’ın nesneye-yönelik analiz ve tasarımı. OOD kriterinin uygulanması. Diğer yaklaşımların gözden geçirilmesi; Booch, Rumbaugh, Shlaer-Mellor ve Jacobsen yaklaşımları.
BM 581 Simülasyon, Modelleme ve Analiz: Ayrık simülasyonun teorik kavramı. Bir simülasyon dilinin yapısı. Analog bilgisayar simülasyonlarına genel bakış. Temel istatistik ve olasılık konularına genel bakış. Seçilen giriş olasılık dağılımı, rastgele sayı üreteçleri, tekil bir sistem için çıkış veri analizi, alternatif sistemlerin karşılaştırmaları için istatistiksel teknikler, imülasyon dilleri ve GPSS.
BM 590 Yüksek Lisans Semineri: Bu seminer, Bilgisayar Mühendisliği’nin farklı alanlarında araştırma yapma ilgilerini artırmak için düzenlenmiştir. Yüksek lisans öğrencileri bu dersi almak ve gereklerini yerine getirmek zorundadır.
BM 591 Yüksek Lisans Uzmanlık Alan Dersi: Danışmanın yönetimindeki tez seviyesinde olan tüm yüksek lisans öğrencilerinin çalışma konularının ve bu konulardaki yeni gelişmelerin değerlendirilmesi.
BM 600 Doktora Tezi: Doktor unvanı alabilmek için öğrenci ve öğretim üyesi arasında düzenlenen araştırma programı. Öğrenciler bu derse beşinci sömestirden itibaren tez araştırmasının ve yazımının gerçekleştirildiği bütün dönemler için kayıt olurlar.
BM 690 Doktora Semineri: Bu seminer, Bilgisayar Mühendisliği’nin farklı alanlarında araştırma yapma, ilgilerini artırmak için düzenlenmiştir. Doktora öğrencileri bu dersi almak ve gereklerini yerine getirmek zorundadır.
BM 691 Doktora Uzmanlık Alan Dersi: Danışmanın yönetimindeki tez seviyesinde olan tüm yüksek lisans öğrencilerinin çalışma konularının ve bu konulardaki yeni gelişmelerin değerlendirilmesi.