TR    EN

Yazılım Mühendisliği Tezli Y.Lisans Programı Ders Listesi

Zorunlu Bölüm Dersleri

Yazılım Mühendisliği Seçmeli Dersleri

Bilgisayar Mühendisliği Seçmeli Dersleri

Bilimsel Hazırlık

Bilişim Sistemleri Mühendisliği Seçmeli Dersleri



Zorunlu Bölüm Dersleri

SE 554 - Yazılım Kalite Yönetimi
Yazılım kalite ve güvencesine giriş; yazılım kalite metrikleri; yazılım kalite güvencesi oluşturmak; konfigürasyon yönetimi; yazılım onaylama ve doğrulama; gözden geçirme, denetim ve kontrol; yazılım süreçlerinin geliştirme modelleri; yazılım test stratejileri ve test teknikleri; yazılım süreç geliştirme ve kalite metrikleri üzerine örnek çalışmalar

SE 556 - Yazılım İnşası ve Evrimi
Yazılım inşası temelleri; yazılım karmaşıklığı; yazılım inşası yönetimi; yazılım inşası modelleri; yazılım inşası dilleri; kodlama; yazılım inşası testi; tekrar kullanma; doğrulama ve standart inşa; yazılım inşası kalitesi; entegrasyon

SE 589 - Mezuniyet Semineri
Yazılım tasarım ve geliştirme. Proje belgeleme. Literatür taraması ve yazılım geliştirme süreçlerini gerçekleştirme. Her bir yüksek lisans öğrencisi, tez sunumundan en az 1 dönem önce tez çalışması ile ilgili bir seminer vermek durumundadır.

SE 598 - Tez Konusu Üzerine Çalışma
Araştırma metodolojileri; research methodologies; alana yönelik alt yapı bilgi tarama; akademik okuma

SE 599-1 - TEZ
Problem tanımı ve analizi. Araştırma metodolojileri. Literatür tarama. Sistem geliştirme yaşam döngüsü. Gelişim Raporu

SE 599-2 - TEZ
Araştırma metodolojileri. Gereksinim analizi. Tasarım. Sistem geliştirme yaşam döngüsü. Gelişim raporu.

SE 599-3 - TEZ
Araştırma metodolojileri. Geliştirme. Test. Sistem geliştirme yaşam döngüsü. Tez belgeleme

SE 600 - Yazılım Mühendisliğinde Araştırma Yöntemleri
Titiz, bilimsel araştırma, özellikle tez veya doktora tezleri; literatür taraması; anketler; meta-analizler; deneysel araştırma tasarımı; araştırma sorularının hazırlanması; teori tasarlanması; nitel ve nicel verilerin toplanması ve analiz metotları; geçerlilik; güvenilirlilik; nirengi; bulguların tasarımı; araştırma önerisinin yazılması ve yayınlanması

Yazılım Mühendisliği Seçmeli Dersleri

SE 503 - Bilgi Sistemleri Tasarımı
Modern notasyon ve çizimler kullanarak yazılım mimarisine giriş; tasarım desenleri; nesneye yönelik modelleme ve mimari tasarım; tasarımda deney yürütmek; prototip tasarımı; tasarım ekibiyle çalışma ve nesneye yöneli projelerde yönetim; detaylı tasarım ve gerçekleştirim; tasarımın gözden geçirilmesi; programlamak için tasarım belgesinin kullanılması

SE 546 - Sağlık Bilişiminde Karar Destek
Sağlık bilişimi alanındaki farklı kararlar için doğru bilginin nasıl seçileceği ve bunun kullanıcı için anlamının ne olacağı; istatistiksel ve diğer analiz metotları ve araçlarının değerlendirilmesi; nicel sağlık hizmetleri verilerinin etkin bir şekilde analizi amacıyla farklı araştırma veritabanlarının ve operasyonel veritabanlarının kullanımı ve gösterimi; doğru ortamların seçilmesi için gerekli metotların derinlemesine incelenmesi

SE 550 - Yazılım Mühendisliği
Yazılım mühendisliğine ve ilgili konulara giriş; yazılım süreç ve proje metrikleri; proje planlama; zamanlama ve takip etme; konfigürasyon yönetimi; yazılım kalite güvence; gereksinim analizi; veri akış diyagramları ve ilgili konular; tasarım kavramları ve yöntemleri; geliştirme; test yöntemleri ve stratejileri; nesneye yönelik kavramlar ve prensipler

SE 552 - İleri Yazılım Proje Yönetimi
Proje yönetimine giriş; algoritmik maliyet tahmin modelleri; gelişmiş maliyet tahmin modelleri; fonksiyon noktaları tahmini; risk değerlendirmesi; yaşam döngüsü modelleri; ön ürün geliştirme; yazılımların yeniden kullanımının yönetimi; yazılım yönetimi; yazılım olgunluk çerçeveleri; durum çalışmaları

SE 555 - Model Güdümlü Yazılım Geliştirme
Model güdümlü geliştirmeye giriş; modelleme dilleri; yazılımın yeniden kullanılabilirliği; alana özgü modelleme; metamodelleme; model dönüşümleri; metamodelleme araçları; kod oluşturma; MOF (meta object facility); yazılım bileşenleri

SE 558 - Yazılım Mimarisi
Yazılım mimarisine giriş; mimari iş çevrimi; mimari yaratma; durum çalışması; kaliteyi anlama ve ulaşma; yazılım mimarisini tasarlama, dökümante etme ve tekrar inşa etme; yazılım mimarisi değerlendirme metodları; yazılım mimarisine sayısal olarak karar verme yöntemleri; yazılım üretim hattı; aracı yazılım, servis-tabanlı, anlamsal ağlar, durum tabanlı; uygulamalı mimari ve tarzlar; fonksiyonel olmayan özellikler için tasarım; güvenlik ve güven; mimari adaptasyon

SE 560 - Gereksinim Mühendisliği
Alan araştırması ve gereksinim temini; gereksinim değerlendirmesi; gereksinim spesifikasyonu ve dökümantasyonu; yazılım kalite güvencesi; gereksinim evrimi; hedef diyagramları ile sistem objektiflerinin modellenmesi; hedef modellerinde risk analizi; sistem aracılarının ve görevlerinin modellenmesi; sistem davranışlarının modellenmesi; değişik sistem görüşlerinin entegrasyonu; hedefe yönelik model kurma methodu aksiyonu; sistem modellerinin formal spesifikasyonu

SE 562 - Yazılım Mühendisliğinde Biçimsel Yöntemler
Biçimsel yöntemlere giriş; kurallı belirtimin temel yönleri; matematiksel anlambilim ile yazılım şartnamesi ve gelişimi; yazılım tabanlı sistemler için biçimsel şartnamenin inşa edilmesi; biçimsel şartname dilleri, Z, Nesne Z ve OCL; şartnamaler ile gerçekleştirmenin ilişkilendirilmesi; sistemin yaşam çevriminde kurallı belirtimin rolü; biçimsel yöntemlerin sınıflandırılması; biçimsel doğrulama ve geçerleme

SE 564 - Servis Yönelimli Mimari ve İş Süreç Yönetimi
SOA temelleri; SOA tasarım prensipleri; SOA standartları, temeller, BPEL, SOAP, WSDL ve UDDI; yönetişim; iş süreç modelleri; iş ve içerik yönetiminden işbirliği ve analitiğe iş süreç modelleri yönetimi; SOA etkin iş süreç yönetimi

SE 570 - Mobil Yazılım Mühendisliği
Mobil platformlara genel bakış. Android ile uygulama geliştirme. Uygulama temelleri. Kullanıcı Arayüzüne genel bakış, Etkinlikler, Uygulama süreçleri. Intents, Intent Filtreleri, Broadcasts, BroadcastReceivers. Shared Preferences, Dosyalar, SQLite DB, Content Provider. Otomatik test, Test tabanlı geliştirme. Google Haritalar, MapView, MapActivity. Threadler, Servisler, Durum çubuğu bildirimleri.

SE 571 - Çevik Yazılım Geliştirme Yaklaşımları
Çevik yöntemlere giriş; extreme programlama (XP); Lean; Scrum; Crystal; feature-driven development (FDD); Kanban; dinamik sistemler geliştime yöntemi (DSDM); çevik yazılım yöntemlerinde mimari ve tasarım konuları

SE 577 - Yazılım Ölçümü
Ölçüm teorisi; ölçü tasarımı ve geçerlemesi; ölçüm gereksinimleri; ölçüm süreci; yazılım ölçüm teknikleri ve araçları; ölçüm çerçeveleri; ölçüm yönetimi; proje, ürün, hizmet, süreç ve kalite ölçümü; ISO ölçüm standartları; yazılım kestirimi; yazılım ölçüm verikümeleri

Bilgisayar Mühendisliği Seçmeli Dersleri

COMPE 501 - Nesneye Yönelik Tasarım ve Programlama
Nesne Yönelimli düşünme. Soyutlama. Nesneye Yönelik Analiz ve tasarım kavramları ve tasarım kalıpları. Tümleşik Modelleme Dili (TMD): giriş, modellemin rolü, modeller ve görünümler, temel diyagramlar, temel elementler (yapısal elementler, Java'dan bağımsız olgular, Java'ya bağımlı olgular). Sıralama, sınıf ve paket diyagramlarına giriş. Geliştirme Yaşamdöngüsü ve TMD (Gereksinim Analizi ve Tasarım, Yapılanma, Test, Uygulama). Yaşamdöngüsi. Java ve TMD : Sorumluluk Güdümlü Tasarım metodu ve CRC kart kullanımı. Sınıflar ve Metodlar. Mesjlaşma, nesne yaratma ve ön değer tanımlama. Kalıtım, alt sınıf ve alt tür. Static and dynamic behavior. Statik ve dinamik davranış. Yerine geçme. Çoklu Kalıtım ve Çokbiçimlilik.

COMPE 502 - İleri Veritabanları
Veritabanı Sistemleri kavramları. Hareket İşleme, Eşzamanlılık Kontrolü ve Veritabanı Kurtarma, Nesneye Yönelik ve Nesne-İlişkisel Veritabanları, Yarı Yapısal Veri ve XML, Paralel ve Dağıtık Veritabanları, İleri Dağıtık Veritabanları Kavramları, Büyük Veri’ye Giriş, Geçici Veritabanları

COMPE 511 - Internet Programlama
Internet Programlama ortamları. HTML ve DTHML ile Ana Sayfa tasarımı. JavaScript Betik dili, istemci-sunumcu modeli, istemci tarafı betikler, sunucu tarafı betikler. Web Sunucuları. CGI, SSI, SSL, sertifika, çerez ve oturumlar. Veritabanı entegrasyonu. Web güvenliği. XML. Etkileşimli uygulama tasarımı.

COMPE 512 - e-Ticaret - Bir Yönetimsel Perspektif
E-iş ve e- ticarete Giriş. Elektronik pazar yerleri. E-ticaretin teknik bakış açıları ve altyapısı. E-ticaret iş modelleri. Şuanki teknolojik durum. Çevrimiçi pazarlama, e-ticarette yasal çevre, e-ticarette mali çevre. Fırsat veren teknoloji ve standartlara giriş. E-ticaret için iş-akış sitemleri. Şuanki B2B e-ticaret çatıları: Açık İnternetten alım (Open buying on the Internet: OBI), Yaygın iş kütüphanesi (Common business library: CBL), CommerceNet's eCo çatısı ve ağ servisleri. İnternette bireyselleştirme. İnternette tedarik zinciri bütünleştirmesi. Örnek olay çalımaları ve sunumları

COMPE 513 - Bilgisayar ve Ağ Güvenliği
Kripto teknikleri ve algoritmaları. Açık anahtar kriptolaması. Özet fonksiyonları. Sayısal imzalar. Yetkilendirme. Ağ güvenliği. işletim sistemleri güvenliği(Unix ve Windows). Bell-LaPadulla modeli. Yazılım ve veri tabanı güvenliği. Anahtar oluşturma. Web güvenliği

COMPE 514 - İleri Görsel Programlama
Nesne Yönelimli programlaya tekrar bakış. Görsel programlamanın temel taşları : değer türleri, operatör yeniden tanımlama, olağandışı durum ve olay işleme. Grafiksel Kullanıcı Arayüzü çerçeve yapılarını kullanım. Dosya ve XML tabanlı verilerle çalışma.

COMPE 515 - İleri Java Programlama
JDK belgeleme. Java hata ayıklama. Java belgeleme stili. IDE aracı ile Java geliştirme. Java 2D uygulama geliştirme arayüzü. İleri Java SWING bileşenleri. Java izlek sınıfı. İzlek yaşam döngüsü. Soket programlama. Web sunucu ile Java entegrasyonu. Servlet’ler. Veritabanı uygulamları. Java yansıtırlık uygulama geliştirme arayüzü. Java Özgül Arayürü (JNI). Java Server & Enterprise Java Beans. Nesne ilişki haritalama.

COMPE 518 - Web Tasarımı ve Geliştirme
Web sitesi tasarım ve geliştirme süreci. İhtiyaç analizi. Arayüz tasarımı. Site tasarımı. Sayfa tasarımı. Grafikler ve çoklu ortam. Üretim. İdame ettirme ve değerlendirme.

COMPE 521 - Çoklu Ortam Sistemleri
Çoklu ortam sistemlerinin yazılım ve donanım gereksinimleri. Çoklu ortam veri türleri (sayısal ses, video, resim). Resim ve video sıkıştırma teknikleri. Çoklu ortam haberleşme sistemleri. İçerik tabanlı çoklu ortam erişimi. Mobil çoklu ortam uygulamaları.

COMPE 523 - Ağ ve Sistem Yönetimi
OSI sistem yönetimi. Sistem yönetim terimleri. Sistem yönetim destek fonksiyonları. Yönetim bilgisi mimarisi. Internet ağ yönetimi: SNMPv2. IEEE LAN ve WAN ağ yönetimi. SNA sistem yönetimi ve sistem bakış açısı. Konfigürasyon yönetimi. Hata yönetimi. Ağ yönetimi konuları, son eğilimler.

COMPE 562 - Çok Erkinli Sistemler
Erkin paradigması, Soyut erkin mimarileri, Akıllı erkinlerin tasarımı, Erkin işbirliği, İhale sistemleri, Müzakere, Tartışma, Etkileşim dilleri ve protokolleri, Dağıtık problem Çözme, Koordinasyon, Çok Erkinli sistem uygulamaları.

COMPE 564 - Doğal Hesaplama
Tarama Yoluyla Problem Çözme: Tepe Tırmanma, Tavlam Benzetimi; Yapay Sinir Ağları; Genetik Algoritmalar; Sürü Zekası (örn. Karınca Kolonileri, Parçacık Sürü Optimizasyonu) ve Yapay Bağışıklık Sistemleri

COMPE 568 - İleri Yapay Zeka
Zeki erkinler. Arama yolu ile problem çözme. Yönlendirilmiş/yönlendirilmemiş arama metodları. Keşifetme. Kural doyumu. Bilgi ve çıkarım. Birinci seviye mantık ve çıkarım. Makina öğrenmesi. Seçimli konular: sinir ağları, doğal hesaplama.

COMPE 572 - Hesaplama Teorisi
Hesaplama modelleri, Church-Turing Tezi, Kararverilebilirlik ve kararverilemezlik, Özyineli numaralandırılabilirlik, Zaman karmaşıklığı, P ve NP sınıfları, Uzay karmaşıklığı, LOGSPACE, PSPACE-Tamlık

COMPE 573 - Biçimsel Diller ve Özdevinirler
Diller ve gösterimleri. Sonlu özdevinirler ve düzenli gramerler. Bağlamdanbağımsız gramerler. Soyut makine kavramı ve dil kabulu. Belirlenimci ve belirlenimci olmayan sonlu durumlu makinalar. Son giren ilk çıkar özdeviniri. Turing makinaları ve hesaplama kuramına giriş.

COMPE 574 - İleri Algoritma
Algoritma Dizaynı ve Analizi. O – Notasyonu. Parçala – Çöz Algoritması. Olasılık Analiz ve Rastgele Algoritmalar. Dinamik Programlama. Fırsatçı Algoritmalar. Alt Sınır Teoremi. Sıralama ve Arama Algoritmalarının Karmaşıklıkları. Grafik Algoritmaları. NP-Zor ve NP-Tamam (NPC) Problemler. Başlıca NPC Problemleri. NPC ye Problem Sağlama. Bazı Dizgi İşleme Algoritmalarının Analizi.

COMPE 575 - Paralel ve Öbek Hesaplama
Paralel hesaplama modelleri – mimariye bağımlılık, hesaplama ve iletişim maliyetleri arasındaki denge. Paralel hesaplamalrda başarım kriterleri – hesaplama karmaşıklığı. Paralel hesaplama teknikleri – böl ve keşfet, parçalama ve boru hatlama. Sıralama, arama ve matris hesaplamaları için paralel algoritmalar. Paralel progrmlama için MPI ve OpenMP ortamları.

COMPE 576 - Programlama Dilleri Kavramları
Programlama dilleri kavramları:, Tip kavramı, değerler, deyimler ve cümleler. Sözdizim ve anlamdizim. Sözlüksel ve Sözdizimsel analiz. Program yapısı. Prosedürler ve fonksiyonlar. Yapılandırılımış veri. Soyutlama ve sarma. Kalıt. Dinamik bağlama. Koşutzamanlılık.

Bilimsel Hazırlık

COMPE 723 - Fundamentals of Object-Oriented Programming
Veri tipleri. Komutlar ve anlatımlar. Fonksiyon ve kapsam kuralları. Sınıf tanımı. Miras. Çok şekillilik. İsim yüklemesi. Şablonlar. Kural dışı durum işleme. Girdi/Çıktı. Nesne tabanlı kavramlar UML ve C++ dili kullanılarak tanıtılır.

COMPE 726 - Nesne Tabanlı Veri Yapıları
Yığıtlar.Özyineleme.Yığıtlar.Sıralar.Dinamik değişkenlerin yaratılması ve yıkılması. Bağlı listeler.Dairesel listeler. Çift bağlı listeler. Arama, sıralama ve hesaba dayalı adresleme.

SE 722 - Fundamentals of Software Engineering
Temel Kavramlar: soyutlama, problem çözme, yeniden kullanım, sistem ayrıştırma. Yazılım Mühendisliğine genel bakış: yaşam döngüsü, sistemler, müşteriler, kullanıcılar, gereksinimler, tasarım, geliştirme, yazılım kalite güvencesi, konfigürasyon yönetimi, test ve bakım.

Bilişim Sistemleri Mühendisliği Seçmeli Dersleri

ISE 512 - BT Portföy Yönetimi ve BT Standartları
Entegre proje yaşamı süreçleri (onay, tanımlama ve planlama, uygulama, yönetim ve takip, denetim ve iyileştirme). BT Projelerini önceliklendirme. Kaynak atama. Risk ve maliyetlerin yönetimi. Denetim ve yönetişim. Yatırımın geri dönüşüne yönelik standart ölçümler. ITIL, COBIT, Val IT, Sarbanes Oxley ve ilgili IEEE ve ISO standartları.

ISE 514 - Bulut Bilişim
Bulut bilişimin temelleri, Bulut bilişimin iş dünyası için önemi, Bulut bilişimin avantajları, bulut bilişimin unsurları, bulut bilişimin teknik temeli, Bulutta veri yönetimi, standartlar, bulut servislerinin yönetimi ve güvenliği, sanallaştırma, hizmet tabanlı mimari, bulut ortamının yönetimi.