CENG 500 Sayısal Metotlar ve Optimizasyon (3-0-3)
Optimizasyon problemleri, n değişkenlerinin uç fonksiyonları, doğrusal programlama ve simpleks method, doğrusal olmayan programlama, optimizasyonun tanımı, optimizasyon problemlerinin uygulaması.
CENG 501 İşletim Sistemleri (3-0-3)
Eşzamanlı programlamanın temelleri;UNIX ağırlıklı, çok görevli işletim sistemleri; ortak dışlama problemi ve kritik alanlar; semaforlar; ADA randevusu; taşıyıcılar; UNIX yapısı.
CENG 502 Bilgisayar Ağları ve İletişimi (3-0-3)
Veri haberleşmesinin temelleri, bilgisayar ağları, ISO/OSI temel referans modeli, yönlendirme, akış kontrolu, tıkanıklık kontrolu, TCP/IP protokolleri, veri yolları, internet, üst seviye protokoller.
CENG 503 Görüntü İşleme (3-0-3)
Ayrık zamanlı sinyaller, yeniden oluşturma, nicemleme, sayısal görüntü gösterimi, görüntünün temelleri, görüntü dönüştürme, görüntü zenginleştirme, görüntü restorasyonu, ayrımlama, tanımlama, örnekleme.
CENG 505 Paralel Programlama I (3-0-3)
Paralel bilgisayarlar, paralel yedekleme, veri organizasyonu, paralel algoritmalar, paralellik ve veri işleme, bilgisayarların sınıflandırılması, uygulamalar.
CENG 506 Mikroişlemciler ve Gömülü Sistemler I (3-0-3)
Tek-kart-bilgisayarların temel bileşenleri. Mikroişlemciler ve mikrokontrolörler. Mikroişlemci tabanlı sistemler. Makina dili, assembly dili ile programlama ve yüksek seviyeli diller. Bilgisayar mimarisi ve assembly dili. Donanım-yazılım tasarımı. Sayısal elektroniğin tekrarı ve hafıza modelleri. Temel girdi/çıktı protokolleri, Kesmeler.
CENG 507 Nöral Programlama (3-0-3)
Sinir ağlarının temelleri. Algılama, çok katmanlı algılama ve geri-çoğalma algoritmaları. Denetsiz öğrenme ve kendi kendini organize etme yolları. Sinir dinamiği (Hofleid Modeli). Merkezcil taban fonksiyon ağları.
CENG 508 Yapay Zeka I (3-0-3)
Doğal olayları keşfetmek, hedef azaltmak, çözüm yolları bulmak, oyunlar, mantık, gelişmiş bilgi temsili, anlamanın doğal dili, eşleştirme, uygulamalar.
CENG 509 Örüntü Tanımlama (3-0-3)
Makina algılaması, parametre tahmini, öğrenme, lineer ayrıştırma fonksiyonları, öbekleme, mizansen analizi, Bayes karar verme teorisi, parametrik olmayan teknikler, örüntü tanımlama uygulamaları.
CENG 510 Paralel Programlama II (3-0-3)
Öbeklenmiş paralel bilgisayarları kullanarak bilimsel programlama.
CENG 511 Algoritmalar (3-0-3)
Algoritmaların karmaşıklığı, Alt ve Üst Sınır Teorisi. Bölme ve Yönetme Tasarımı, Greedy Yaklaşımı, Dinamik Programlama, Geri izleme, Dallanma ve Sınırlanma, NP Tamamlama ve NP Sert Problemleri, Belirleyici ve Belirleyici Olmayan Polinom Tipi Algoritmalar, Şifreleme Algoritmalarına Giriş, Public Key Şifreleme Sistemleri.
CENG 513 Nesne Yönelimli Analiz ve Tasarım (3-0-3)
Klasik ve modern metodlar, yazılım geliştirme metodlarının karşılaştırmalı analizi. Nesneyle bağlantı. Coad-Yourdon ve Rumbaugh dizaynları ve nesneye dayalı analiz. Nesneye Dayalı Dizayn(NDD) kriterlerinin uygulanması. UML(Unified Modelling Lang.) ye giriş. Parça tabanlı geliştirme ve dizayna giriş.
CENG 514 Bilgisayar Grafik Bilimi (3-0-3)
Grafik programlamada kullanılan yazılım ve donanımlar. OpenGL ile programlamaya giriş. Grafiğin temelleri. 2B ve 3B geometrik dönüşümler. İki boyutlu gösterim : gösterim çalışma hattı, kesmeler ve pencerelemeler. Üç boyutlu gösterim : gösterim çalışma hattı, gösterim parametreleri, projeksiyonlar, görünüm dönüşümleri, kesmeler. Görünür yüzey tesbiti. Aydınlatma modeli ve yüzey sunumuna giriş. Işın izlemeye giriş.
CENG 516 Mikroişlemciler ve Gömülü Sistemler II (3-0-3)
Mikroişlemci ve mikrokontrolör kullanan sistemlerin yazılım ve donanımsal dizaynı. Hafıza arayüzleme. Temel giriş/çıkış arayüzleri. İc mimari. Adres, veri ve kontrol hatları. Tokalaşma protokolleri ile giriş/çıkış arayüzleri. Sayısaldan Analoga dönüştürücüler. Dalga şekli üretme deneyimi. Analogtan sayısala dönüştürücüler. Sayısal voltmeter deneyi. Temel giriş/çıkış işletimi. Zamanlayıcılar ve zamanlayıcı tabanlı kesmeler.
CENG 517 Doğal Dil İşlemenin Bilişsel Yönleri (3-0-3)
Prolog'un gözden geçirilmesi. DCG gramer ve DCG ayrıştırıcı. Ayrıştırıcı algoritmaları. Anlambilim ve mantık. Bilişimsel dilbilim özellikleri. Cümle yapılarının incelenmesi. Sonuç çıkarma. Bilişsel yapı. Anlam belirsizliği çözümü. Çok-bileşenli gramer yapılarında etkileşim.
CENG 519 Yapay Zeka II (3-0-3)
Bilgi temsil etme. Belirsiz bilgi ve sebeplenme. Sinir ve inanç ağlarında öğrenme. Doğal dil işleme.
CENG 520 Bilgi Güvenliği (3-0-3)
Bilgi güvenliğinin temelleri, IT-güvenlik risklerinin tespiti, güvenlik amaçları ve politikasının tanımlanması. Ağ paketlerinin yakalanması ve analizi, protokol çözümlemesi, güvenlik taraması ve saldırılar. Sızma testlerinde teknikler ve araçlar. Derse katılanlar, güvenlik risk analizini, IT-güvenlik mekanizmalarının testini, IP ağlarının taranmasını, sızma girişimlerinin tespiti ve gözlenmesini öğrenecektir.
CENG 521 İleri Veritabanı Kavramları (3-0-3)
Veri tabanı işletme sistemlerinin uygulamaları, temelleri ve olanakları. Bağlantısal veri modeli: İlişki işlemleri, ilişkisel cebir, ilişkisel analiz, ilişkisel veritabanı tasarımı, fonksiyonel bağımlılıklar, normal formlar. Dağıtık veritabanları, dağıtıl veritabanı dizaynı, dağıtık sorgu işleme, rastlantısal kontrollu türetim veritabanları: yazım ve mantık sorgu işleme. Nesneye dayalı veri modeli, karmaşık değerler, ilave işlemler. Pratik sorgu dilleri.
CENG 522 İleri Nesne-Yönelimli Programlama (3-0-3)
Nesne-Yönelimli Programlama ve Yapısal Programlama, Sınıflar ve Soyut Veri Tipleri, Kalıtım ve Çoklu Benzeşme. Arayüzler ve Bileşenler, Nesne-Yönelimli Programlama ve UML. Grafik ve Görsel Programlama.
CENG 525 Fonksiyonel Programlamaya Giriş (3-0-3)
Bu derste fonksiyonel programlamanın teorisi ve uygulaması başlangıç seviyesinde anlatılır. İncelenecek konular şu şekildedir: lambda-hesap, indirgemeler, Church-Rosser teoremleri, yinelemeli fonksiyonlar, uygulama detayları, yazım ve fonksiyon dillerinin programcılıkta kullanımı. Fonksiyonel yöntemle programlama yapmak için gerekli analiz, tasarım ve optimizasyon teknikleri üzerinde durulacak.
CENG 526 Yazılım Mimarisi (3-0-3)
Yazılım mimarilerinin gereksinimi, yazılım geliştirme ve üretimi arasındaki farklar, işlevsel olmayan gereksinimler ve mimarinin temelleri, yazılım mimarilerinin modellenmesi, yazılım mimarilerinin değerlendirilmesi ve çözümlenmesi, çelişen mimari alternatiflerinin çözümlenmesi, mimari gösterim dilleri, atik yöntemlerin mimarideki rolü, şablon temelli geliştirme, arayüz temelli geliştirme, servis temelli mimari ve yazılım üretim bantları.
CENG 537 İleri Düzeyde Nesne Tabanlı Programlama (3-0-3)
Nesne tabanlı programlamada ve dizaynda ileri düzeyde bilgi ve güvenilir, yüksek kalitede programlar yazabilmek için gerekli becerileri öğrencilere kazandırmak dersin hedefleri arasındadır. Vurgu modüler programlama üzerine olacaktır. C++ ve Java programlama dilleri kullanılacaktır. Programlama becerileri laboratuvar ortamında geliştirilecektir.
CENG 550 Internet Mimarisi (Yapıları) (3-0-3)
Internet: Internet servisleri, iletişim protokolleri.Çeşitli internet servis ve sistemleri tarafından kullanılan iletişim sistemlerinin temel yapıları: veri iletişiminin içeriği (mekanizmalar, teknikler, prosedürler, yapılar, mimariler ve bilgi paketi analizleri). Ders, Uygulamalı Ağ Güvenliği, Tüm Ağ Güvenliği ve Bilgi Güvenlik Testi gibi derslere bir giriş olarak verilir.
CENG 557 Yazılım Kalite Güvencesi ve Testi (3-0-3)
Yürütme modelleri. Yazılım kalitesi. Kalite güvencesi. Kalite metriği. SQA yapılanması. SQA planlaması. Kalite standartları, CMM, IEEE, ISO(9001). Yazılım test teknikleri. Kara kutu ve beyaz kutu testi. Test stratejileri, birleşme testleri ve sistem testleri.
CENG 558 Dağınık Nesne Hesaplama (3-0-3)
Dağıtık nesne programlamanın genel yapısı, dağıtık nesne mimarisi ve ortaseviye teknolojiler, CORBA, nesne canlandırma, uzkatan nesne canlandırmak için iletişim protokolleri, IIOP, dağıtık istemci/sunucu sistemleri geliştirme. Ana programlama dili olarak özellikle istemci/sunucu kısmı için Java kullanılacaktır fakat sunucu uygulaması geliştirmek için C++ da kullanılacaktır.
CENG 567 Veri Madenciliği (3-0-3)
Veri madenciliği nedir? Veri madenciliğinin strateji ve teknikleri, karar ağaçları, bağlama kuralları, K-Means algoritması ve istatistiksel modeller, Veri madencilği için kullanılan araçlar, veri tabanlarında bilgi keşfi, değerlendirme metodları, gelişmiş Veri madencilği teknikleri ve akıllı sistemler.
CENG 568 Bilgi Mühendisliği (3-0-3)
Yapay zekaya ve bilgi tabanlı sistemlere genel bakış, bilgi elde etme metotları, bilgi ifade teknikleri, üretken sistemlerde geri, ileri ve karışık zincir kuralı, çelişki çözümlemesi, şüphe giderme, tümevarım kuralları ve karar ağacı, Örnekler.
CENG 581 Yapısal Yazılım Mühendisliği (3-0-3)
Ticari işlem modellemesi, işakış tabanlı sistemler, dinamik nesne modellemesi, adapte olan nesne modellemesi, görünüş yönelmesi, kural tabanlı sistemler, dağınık yapılar ve GRID teknolojileri, Yazılım işleme modelleme ile yazılım üretim hattı birleşimi.
CENG 590 Y. Lisans Semineri (kredisiz)
Öğrenciler araştırma projeleri konusunda bir rapor hazırlayıp seminer verirler.
CENG 591 Özel Çalışmalar (0-4- 0)
Tezle ilgili yapılan diğer çalışmalar.
CENG 595 Bilgisayar Mühendisliğinde Seçme Konular (3-0-3)
Ders notları içeriği, seminer, bilgisayar mühendisliğinde ki, simülasyon, haberleşme, sinyal işleme, bilgisayar yazılım ve donanımı konularındaki son gelişmeler.
CENG 599 Yüksek Lisans Tezi (kredisiz)
Öğrenciler bir araştırma projesi yapmak zorundadır. Bu projenin süresi en az iki dönemdir. Araştırmanın sonuç kısmında öğrenciler bir tez sunarlar. Tez, Fen Bilimleri Enstitüsü'nün Tez Yazım Kılavuzuna uygun yazılmalıdır.