SE112 - Yazılım Mühendisliğine Giriş (3 + 0) 3.5

Bilgisayar Yazılımı ve çeşitleri, Yazılım Mühendisliği disiplini ve temel kavramları, yazılım süreç modelleri, gereksinim mühendisliği kavramları, sistem modellemesi, mimari tasarım, tasarım ve uygulama, yazılım testi, yazılım evrimi ve bakımı, Proje yönetimi, kalite ve konfigürasyon yönetimi.

SE221 - Yazılım Gereksinim Mühendisliği (3 + 0) 6

Yazılım gereksiniminin esasları, müşteri perspektifinden gereksinimler, gereksinim mühendisliği uygulamaları, gereksinim analistinin rolü, ürün vizyonu ve proje kapsamı geliştirme, müşteri ve kullanıcı gereksinimlerini anlama, gereksinimleri dokümante etme, prototipleme yöntemiyle risk azaltımı, gereksinim önceliklerini belirleme, gereksinimleri

SE212 - İnsan Bilgisayar Etkileşimi (3 + 0) 8

Kullanıcı arayüzü temel prensipleri, insanın yetenekleri ve sınırları, kullanılırlık model ve prensipleri, kullanıcı ve görev analizi, tasarım, prototip geliştirme ve değerlendirme, renk ve tipografi, yeni kullanıcı arayüzü teknikleri.

SE345 - Yazılım Kalite Güvencesi (3 + 0) 7

Yazılım kalitesine ve güvencesine giriş; yazılım kalitesi ölçütleri; yazılım kalite güvencesinin oluşturulması; konfigürasyon yönetimi; yazılım geçerliliği ve doğrulaması; tenkit, inceleme ve denetim; yazılım süreçlerini iyileştirme modelleri; yazılım test stratejileri ve test teknikleri; hata raporlaması ve ayıklaması; yazılım güvenilirlik

SE321 - Nesneye Dayalı Analiz ve Tasarım (3 + 0) 7

Nesneye-yönelik temel kavramlar, UML ile nesneye dayalı modelleme, nesneye-dayalı çözümleme: gereksinim ve nesne tanımlama, nesneye-dayalı tasarlama için deney yürütme: sınıf sıradüzeni, nesneye-yönelik programlama ile gerçekleştirim, tasarım desenlerine giriş, temel kavramları güçlendirmek için uygulama.

SE399 - Yaz Stajı I (0 + 0) 6

En az 6 hafta boyunca endüstride, kullanımdaki bilgisayar sistemlerinin yazılım ve donanım kısımlarını gözleme çalışması.

SE324 - Yazılım Proje Yönetimi ve Ekonomisi (3 + 0) 5

Yazılım proje yönetimine giriş; proje planlamasına genel bakış; uygun proje yaklaşımının seçimi; yazılım efor tahmini; aktivite planlaması; risk analizi ve yönetimi; kaynak paylaşımı; proje izlemesi ve kontrolü; kontrat yönetimi; insanları yönetmek ve takımları organize etmek; yazılım kalite güvencesi; konfigürasyon yönetimi; yazılım proje yönetimi

SE328 - Algoritma ve Optimizasyon Yöntemleri (3 + 0) 5

Algoritma tasarımı ve analizi; algoritmaların matematiksel karmaşıklığı; master teoremi; azalt-ve-fethet; böl-ve-fethet; dönüştür-ve-fethet, bazı optimizasyon tekniklerine giriş; dinamik programlama; açgözlü tekniği; döngülü iyileştirme; algoritma güç sınırlamaları ile başa çıkma.

SE322 - Yazılım Mimarisi (3 + 0) 5

Yazılım mimarisine giriş, mimari iş döngüsü, mimari yaratma, durum çalışması, kalite unsurları, yazılım mimarisi tasarımı, belgelemesi ve yeniden yapılandırılması, mimari değerlendirme yöntemleri, tasarım mimarisine yönelik karar verme mekanismasında nicelik yaklaşımı, yazılım üretim hatları, farklı mimari tipleri: ara katman, model güdümlü, servis

SE344 - Sistem Yazılımın Sınanması ve Geçerlenmesi (2 + 2) 6

Yazılım test işlemi ve temelleri, risk yönetimi, sınama ve doğrulama, statik sınama ve doğrulama teknikleri ve kıyaslamaları, yazılım test stratejileri ve teknikleri, yazılım test araçlarık, konfigürasyon yönetimi, yazılım ölçme ve test ile ilgili ölçeler.

SE493 - Proje Oryantasyon (2 + 0) 5

Bilgisayar ve bilişim projeleri, araştırma, proje planlaması ve risk yönetimi, ulusal ve uluslararası standartlar, takım çalışması, literatür taraması, proje gerçekleştirme, proje sunumu, hayatboyu öğrenme, etik, yasal konular, yenilik ve girişimcilik.

SE499 - Yaz Stajı II (0 + 0) 10

En az 6 hafta boyunca bir bilişim şirketinde/biriminde kullanımdaki bilgisayar sistemlerinin yazılım ve donanım kısımlarını gözleme çalışması; bilişim şirketinde/biriminde geliştirilmekte olan yazılım/donanım projelerinde yer alması.

SE340 - Hızlı Uygulama Geliştirme (2 + 0) 5

Hızlı uygulama geliştirme aracının temel dilinin tanıtımı; nesne tanımları, metotlar, özellikler ve kalıtım; görsel bileşenleri kullanarak form tasarımı, endüstri standardı bir hızlı uygulama geliştirme aracının kütüphanelerini kullanarak uygulama geliştirme.

SE360 - Sistem Modelleme ve Simülasyon (3 + 0) 5

Dinamik benzetim, benzetimde kullanıcı veri tipleri, operatörler ve kontrol yapıları, model üreteçleri, benzetim programlaması, benzetim problemleri.

SE440 - Kullanıcı Arayüzü Analiz ve Tasarımı (3 + 0) 5

Kullanıcı arayüzü temelleri, gereksinim toplama teknikleri, kullanıcı, görev ve ortam analizleri yapmak, kavramsal tasarım, etkileşim tasarımı, tasarım prensipleri, etkileşim yöntemleri, grafiksel arayüz tasarımı, web arayüz tasarımı, kullanıcı arayüzü değerlendirme işlemi (test etme).

SE446 - Biyoenformatik (3 + 0) 5

DNA ve protein dizilerini hizalama, filogenetik ağaçları, protein yapılarını kestirme, motif bulma, DNA mikroçip veri analizi, gen/protein ağları.

SE450 - Yazılım Mühendisliği Etiği (3 + 0) 5

Kurumsal sorumluluk, mühendislik sorumlulukları, kişisel haklar, yolsuzlukların ortaya çıkması, çıkar çatışması, profesyonel öz yönetim, risk değerlendirmesi, sürdürülebilir gelişme ve mühendislik ahlak kurallarının yeri ve amacı, yazılım mühendisliğinde ve diğer bilgi sistemlerinde etik, kurallar ve prensipler, alanda etik çalışma ve etik karar ve

SE453 - Büyük Ölçekli Sistem Yazılımı Geliştirme (3 + 0) 5

Büyük ölçekli yazılım geliştirme projesinin süreçleri ve niteliği, yazılım mimarının rolü, yazılım mimarisi ve geliştirme süreci, sistem içeriği ve alan analizi, bileşen tasarımı ve modellemesi, alt sistem tasarımı, veri hareketi ve veri tasarımı, süreç ve yayımlama tasarımı, mimari teknikler, farklı bakış tekniği (ViewPoint) uygulaması.

SE460 - Yazılım Üretimi (3 + 0) 5

Yazılım üretimi temelleri, yazılım karmaşıklığı, yazılım üretim yönetimi, yazılım üretim modelleri, yazılım üretim planlama, yazılım ölçme, yazılım üretim dilleri, yazılım testleri, yeniden kullanma, doğrulama, uluslararası standartlar, yazılım kalite yönetimi, entegrasyon.

SE461 - Yazılım Örüntüleri (3 + 0) 5

Tasarım örüntülerine giriş, yapısal örüntüler, davranışsal örüntüler, analiz örüntüleri, mimari örüntüler, test hazırlama, yeniden yapılandırma.

SE462 - Yazılım Mühendisliğinde Formal Metotlar (3 + 0) 5

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, şartnameler ile gerçekleştirmenin ilişkilendirilmesi, sistemin yaşam çevriminde kurallı belirtimin rölü, biçimsel yö

SE470 - Yazılım Geliştirmede Çevik Yöntemler (2 + 0) 5

Ç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ı.

SE426 - Yükselen Teknolojiler (2 + 0) 5

Yükselen teknoloji nedir, bozucu teknolojiler, bozucu teknolojilerin belirlenmesi, 3-boyutlu yazıcı devrimi, teknolojinin evrimi, yenileşimin doğası, birleştirme ve yapı, olaylar, alanlar ve sorun çözümü, teknolojilerin kökeni, teknolojik devrim, ekonomik devrim, öngörüleme.

SE421 - Büyük Veri Programlama (2 + 2) 5

Büyük Veri nedir? Büyük Verinin özellikleri. Ölçeklendirme. HDFS ve Hadoop ekosistemi. HDFS?in temelleri, MapReduce ve Hadoop öbeğir. Veri analizi ve sorgulamaları için MapReduce programları tasarımı. MapReduce tasarım desenleri. Temel Spark mimarisi. Genel Spark işlemleri. Resilient Distributed Datasets (RDD) işlemleri.

SE375 - 3B modelleme, Animasyon ve Oyun Tasarımı (2 + 2) 5

Modelleme temellerine giriş, modelin tasarlanmasına genel bakış, uygun modelleme tekniğinin seçimi, modelin simülasyona ve animasyona dönüşmesi, simülasyon ve fizik motoruna genel bakış, modelin ve animasyonun çevre birimleri ile kontrolü, çevre birimlerine genel bakış, uygun çevre birimlerinin seçilmesi ile interaktif proje yapımı, 3B yazıcılar

SE427 - Blokzinciri ve Kriptopara Teknolojileri (2 + 2) 5

Giriş. Blokzincirinin Temelleri.Uzlaşma Algoritmaları.Kriptografi Temelleri. Blokzinciri Ağları.Blokzinciri Programlama. Blokzinciri İşlemleri, Madenciliği ve Cüzdanları. Akıllı Sözleşmeler. Kriptoparalar. Blokzinciri Uygulamaları. Yerinden Yönetime Geçiş. Blokzinciri Güvenliği.Yasal Görünüm,Finans ve Ekonomi. Blokzinciri Teknolojilerinin Geleceği

SE481 - Ortak Eğitim Uygulaması I (3 + 0) 5

Ortak Eğitim anlaşması yapılmış bir bilişim şirketinde geliştirilmekte olan yazılım/donanım projelerinde yer alması; şirkette kullanılan yöntemleri incelemesi; proje analizi, tasarımı ve geliştirilmesi konularında çalışması; deneyimlerini içeren bir rapor ve sunum hazırlaması.

SE483 - Ortak Eğitim Uygulaması II (3 + 0) 5

Ortak Eğitim anlaşması yapılmış bir bilişim şirketinde geliştirilmekte olan yazılım/donanım projelerinde yer alması; şirkette kullanılan yöntemleri incelemesi; proje analizi, tasarımı ve geliştirilmesi konularında çalışması; deneyimlerini içeren bir rapor ve sunum hazırlaması.

SE494 - Bitirme projesi (4 + 0) 9

Proje analizi ve tasarımı, proje geliştirme, takım çalışması yapma, proje yönetimi, proje raporlama, nihai ürünü sunma.