Yazılım Mühendisliği Ders Tanımları
SEN1001 Introduction to Programming (Java)
Bu ders Java ile bilgisayar programlama konusuna odaklanmıştır. Bilgisayar programlamasının genel kavramları ve programlamaya ilişkin temel unsurlar dersin kapsamındadır. Derste öğrenciler Eclipse, Netbeans ve benzeri uygulama geliştirme ortamlarını kullanabileceklerdir. Öğrenciler temel program yazma ilkelerini, kontrol yapılarını, metot ve dizi gibi kavramları öğreneceklerdir.
SEN1002 Object-Oriented Programming (Java)
Bu ders Java ile nesneye yönelimli, olaya dayalı programlama stratejilerini kapsamaktadır. Öğrencilere Java ile sınıf, kalıtım, çok şekillilik, istisna yönetimi, temel grafik arabirim programlama, temel veri yapıları gibi konular öğretilecektir.
SEN2002 Programming Languages
Bu derste programlama dillerindeki etki alanı/kapsam, bağlama, tipler, altyordamlar, sınıflar ve benzeri kavramların özellikleri ve çalışma prensiplerinden bahsedilir. Ders kapsamında öğrenciler bir programlama dilinin yapısını iyi bir şekilde kavramış olup yeni dillerin ve derleyicilerin tasarımlarının iç yüzleri hakkında bilgi sahibi olurlar.
SEN2006 MS C# Laboratory
Bu derste öğrenciler C# dilini kullanarak gelişmiş programlama tekniklerini öğrenirler. Ders, teorik ve uygulama saatleri olmak üzere iki bölümden oluşmaktadır. Öğrencilere C# dilinde ileri seviye nesneye yönelimli programlama yaklaşımlarından bahsedilir. Sınıf, kalıtım, çok şekillilik, istisna yönetimi, temel veri yapıları gibi konular kapsam dahilindedir.
SEN2101 Database Management Systems
Bu ders ilişkisel veritabanı sistemlerini, ilişkisel veritabanı tasarımını, sorgulama dillerini ve Oracle ile SQL ifadelerini kapsamaktadır.
SEN2102 IBM - Database Programming
Dersin ana amacı Oracle SQL ve PL/SQL ile veritabanı kullanan uygulamalar geliştirebilmektir. Öğrencilere ileri seviye SQL ve PL/SQL teknikleri kullanarak dinamik uygulamalar geliştirme yöntemleri anlatılır.
SEN2211 Data Structures and Algorithms I
Bu dersin amacı algoritma mantığını, algoritma analizini, algoritmaların karmaşıklık seviyelerini, temel veri yapılarını, belirli sıralama ve arama algoritmalarını anlatmaktır. Dersteki kavramlar Java kullanılarak pratiğe dönüştürülür.
SEN2212 Data Structures and Algorithms II
Bu dersin kapsamında öğrencilere yığın, kuyruk, ağaç, arama ağaçları, dengeli ağaçlar ve benzeri veri yapıları gösterilir. Dersteki kavramlar Java kullanılarak pratiğe dönüştürülür.
SEN3001 Software Engineering Analysis and Design
Bu ders yazılım mühendisliği açısından sistem analizi ve tasarımı konularını kapsar. Sistem analizinin esasları, proje yönetimi, fizibilite analizi, uygulama mimarisi ve modelleri başlıklarını içerir.
SEN3002 Software Measurement and Testing
Bu ders kapsamında yazılım projelerinde üretilen yazılımların değerlendirilebilmesi, tanımlanan kısıtlara göre ölçülebilmesi, projelerin işleyişlerinin değerlendirilebilmesi gibi konuların yanında ayrıca yazılımların test edilmesinde kullanılan metotlar hakkında detaylı bilgiler verilir.
SEN3003 Software Project Management
Bu ders yazılım projelerinin planlanmasını, yönetilmesini ve bu kapsam dahilinde yazılım projesi geliştirme yaşam döngülerini, proje yönetiminin adımlarını, maliyet-kazanç analizini, proje teklifleri değerlendirme yöntemlerini, risk analizlerini ve benzeri konuları kapsar.
SEN3004 Web Programming
Bu derste web programlama kavramı Java teknolojileri çerçevesinde ele alınır. HTML ve JavaScript gibi temel bilgilerin üzerine ek olarak dinamik web programlama yapabilmek için Java Servlets, Java ServerPages ve Java ServerFaces gibi teknolojiler anlatılır. Dersin ana amacı web üzerinde dinamik uygulamalar geliştirebilmektir.
SEN3006 Software Architecture
Bu ders yazılım mimarisi kavramını, prensiplerini ve metotlarını derinlemesine bir şekilde inceler. Servise yönelik mimariler, ürün hattına yönelik mimariler, uyarlanabilir ve üretken mimariler gibi yapılar kapsam dahilindedir. Ders içerisinde öğrenciler oluşturacakları küçük gruplar ile çeşitli yazılım projelerini tasarlayıp bu projeleri tamamlarlar. Aynı zamanda bu ders kapsamında yazılım gereksinimleri, yazılım tasarımı, yazılım yönetimi, yazılım kalitesi ve testi gibi konular da mevcuttur.
SEN3301 Computer Graphics and Animation
Bu ders, bilgisayar grafik ve animasyona ve matematiksel yöntemlerin kullanımına giriş bilgilerini içerir. Bu dersi başarıyla tamamlayarak öğrenciler, grafik ve animasyonun temel algoritmalarını öğrenecek ve kendi grafik ve animasyon uygulamalarını geliştirebileceklerdir.
SEN3304 Human Computer Interaction
Bu ders kapsamında ele alınan asıl amaç yazılım mühendisliğindeki kişiye odaklı tasarımı anlamaktır. İnsan Bilgisayar Etkileşimi disiplinler arası, hem öğrenciler hem de profesyoneller için önemli bir çalışma alanıdır. Kapsadığı konular arasında bilgisayar bilimleri, antropoloji ve eğitimsel psikoloji gibi önemli konular vardır. Kullanıcı arayüzü tasarımı, yazılım geliştirme sürecinde son kullanıcının ihtiyaçlarını karşılamak açısından kritiktir.