S.N.
|
Bölüm
|
Kodu
|
Ders Adı TR
|
Ders Adı EN
|
K
|
U
|
L
|
Kredi
|
AKTS
|
Ders Açıklaması
|
1
|
Yazılım Mühendisliği (İngilizce)
|
SE 101
|
Fundamentals of Programming
|
Fundamentals of Programming
|
3
|
0
|
0
|
3
|
5
|
Net-Merkezli programlamaya giriş. Sayısal ve akrakter verinin gösterimi. C++ değişkenlerinin, veri tiplerinin, ifadelerinin ve atamalarının yazım biçimi ve semantiği. Aritmetik ve mantıksal operatörler. Koşullu kontrol yapıları. Diziler ve Karakter diziler. Tekrarlı Kontrol Yapıları. Fonksiyonlar. Temel Veri yapıları. Bağlantılı Listeler.
|
2
|
Yazılım Mühendisliği (İngilizce)
|
SE 102
|
Object-Oriented Paradigm
|
Object-Oriented Paradigm
|
3
|
2
|
0
|
4
|
6
|
C# kullanarak bilgisayar bilimine ve programlamaya giriş konularını kapsar. Nesneye yönelik tekniklere giriş bilgilerini kapsar. Sınıflar ve nesneler, kapsülleme, bilgi saklama ve benzer nesneye yönelik konular işlenir.
|
3
|
Yazılım Mühendisliği (İngilizce)
|
SE 103
|
Group Dynamics and Communication
|
Group Dynamics and Communication
|
3
|
0
|
0
|
3
|
5
|
İnsan iletişiminin temel kavramları: tanımlar, yeterlikler, modeller, nitelikler; kişisel farkındalık ve iletişim: benlik kavramı, öz saygı, algılama, sözlü ve sözsüz mesajlar; dinleme ve cevaplama: tanım, çeşitler, engeller, beceriler; çatışma yönetimi; grup ve ekip performansı: tanım, dinamikler, evreler; grup ve ekip performansını geliştirmek: sorun çözme, liderlik, toplantı yönetimi, sunuma giriş: sahne korkusu, konuyu seçme ve şekillendirme, sunumun organizasyonu, sunum yapmak: metotlar, görsel destek, kitlelere uyum; bilgilendirici konuşmalar: çeşitler, stratejiler, ikna edici konuşmalar: inandırma, dinleyici analizi.
|
4
|
Yazılım Mühendisliği (İngilizce)
|
SE 104
|
Engineering Sciences
|
Engineering Sciences
|
2
|
0
|
0
|
2
|
4
|
Bütün mühendislik alanlarıyla ilgili genel konuları içerir. Bireysel ve takım çalışmasını içeren mühendislik uygulamalarının durum çalışmaları incelenir. Danışmanlık mühendislik alanları hakkında bilgiler içerir. Diğer üniversitelere ve mühendislik firmalarına alan gezileri düzenlenir.
|
5
|
Yazılım Mühendisliği (İngilizce)
|
SE 105
|
Foundations of Software Engineering I
|
Foundations of Software Engineering I
|
2
|
2
|
0
|
3
|
4
|
Öğrenciler, belirtim, dokümantasyon ve testi kapsayan bir yazılım mühendisliği süreci içersinde temel programlama kavramlarını öğrenirler. Programlama kapsamı, değişkenlerin atanması ve bildirimi, standart veri tipleri, sabitler, koşullu ifadeler, döngüler, sınıf ve metotlara giriş, dosya giriş/çıkış işlemleri, diziler gibi temel programlama kavramlarını içerir. Süreç kavramı, iyi dokümantasyon uygulamaları, işlevsel gereksinimleri belirleme, analiz, hataları izleme, "kara-kutu" testi.
|
6
|
Yazılım Mühendisliği (İngilizce)
|
SE 106
|
Discrete Structures I
|
Discrete Structures I
|
3
|
0
|
0
|
3
|
5
|
Ayrık matematiğin temelleri. Fonksiyonlara ve algoritmalara giriş. Kümeler ve temel matematiksel tümevarım. Oransal mantık ve mantıksal cebir. Temel sayı teorisi. Sayısal mantığım temelleri.
|
7
|
Yazılım Mühendisliği (İngilizce)
|
SE 108
|
Foundations of Software Engineering II
|
Foundations of Software Engineering II
|
2
|
2
|
0
|
3
|
4
|
Öğrencilere ek programlama kavramları tanıtılır. Öğrenciler basit yeniden kullanılabilir bileşenleri kullanarak nesne-tabanlı yazılım uygulamalarının nasıl tasarlandığını, uygulandığını ve test edildiğini öğrenirler. Yeniden kullanılabilir bileşenleri oluşturmak için temel teknikler tanıtılır. Bir disiplin olarak yazılım mühendisliğine giriş sağlanır.
|
8
|
Yazılım Mühendisliği (İngilizce)
|
SE 130
|
Introduction to Software Engineering
|
Introduction to Software Engineering
|
3
|
0
|
0
|
3
|
6
|
Yazılım mühendisliğinin kapsamı, yazılım yaşam döngüsü modelleri, yazılım süreci, yazılım ekipleri, yazılım araçları, yazılım sınama, modüller ve nesneler, yeniden kullanılabilirlik ve taşınabilirlik, planlama, maliyet ve zaman tahmini, gereksinimler, klasik analiz.
|
9
|
Yazılım Mühendisliği (İngilizce)
|
SE 202
|
Computer Architecture
|
Computer Architecture
|
3
|
2
|
0
|
4
|
5
|
Bu dersin amacı, öğrencinin temel bilgisayar yapısı, işlemciler, bilgisayar arithmetiği ve boruhatlı veriyolu hakkında bir birikim sahibi olmasıdır. Öğrenci, makine dili komutlarını ve ilgi kavramları, makine dili sembolik gösterimi (assembly) ve makine dili arasındaki ilişkiyi anlar. Komutların (MIPS komut kümesi mimarisi -ISA-) makine dili gösterimini öğrenir. Kayar noktalı sayılar ve kayar noktalı sayılar ile yapılan aritmetik işlemlerin icrası, veriyolu ve kontrol ünitelerinin tasarımı kavranır.
|
10
|
Yazılım Mühendisliği (İngilizce)
|
SE 203
|
Introduction to Software Engineering
|
Introduction to Software Engineering
|
3
|
2
|
0
|
4
|
6
|
Bu dersin amacı, yazılım mühendisliğinin prensipleri hakkında temel bilgileri vermektir. Derste, bir yazılım geliştirme projesinde yer alan aşamalar hakkında bilgiler, öğrencinin yazılım geliştirme hakkında genel bir bilgi verilir.
|
11
|
Yazılım Mühendisliği (İngilizce)
|
SE 204
|
Software Development
|
Software Development
|
2
|
2
|
0
|
3
|
6
|
Düşük seviyeli yazılım tasarımı için genel prensipler ve teknikler . BNF ve gramerin temel teorisi ve ayrıştırma. Ayrıştırıcı üreteç kullanımı. Temel dil ve protokol kullanımı. Formal diller. Durum-geçiş ve tablo tabanlı yazılım tasarımı. Yazılım yapımı için formal metotlar. Eşzamanlılık ve süreçler arası iletişim işleme için teknikler. Sayısal yazılım tasarımı için teknikler. Model odaklı yapım için araçlar. Middleware’e giriş. Hot-spot analiz ve perfomans ayarlama.
|
12
|
Yazılım Mühendisliği (İngilizce)
|
SE 205
|
Engineering Economics
|
Engineering Economics
|
2
|
0
|
0
|
2
|
4
|
Mühendislik ekonomisi kapsamı; makroekonomi, arz, talep ve üretim; maliyet – fayda analizi ve başabaş analizi; yatırım geri dönüşü, seçenek analizi; paranın zaman değeri; para yönetimi: akonomi analizi, risk muhasebesi.
|
13
|
Yazılım Mühendisliği (İngilizce)
|
SE 206
|
Human-Computer Interaction
|
Human-Computer Interaction
|
3
|
0
|
0
|
3
|
6
|
İnsan-bilgisayar etkileşiminde psikolojik ilkeler. Kullanıcı arayüzlerinin değerlendirilmesi. Kullanılabilirlik mühendisliği. Görev analizi. Kullanıcı merkezli tasarım ve prototipleme. Kavramsal modeller ve metaforlar. Yazılım mühendisliğinin mantıksal temelleri. Menü ve komut düğmeleri tasarımı. Ses ve doğal dil giriş/çıkışı. Tepki süresi ve geri bildirim. Renk, simge ve ses özellikleri. Küreselleşme ve yerel yapılandırma kavramları. Kullanıcı arayüz mimarileri ve uygulama programı. Proje ve senaryo değerlendirmeleri.
|
14
|
Yazılım Mühendisliği (İngilizce)
|
SE 207
|
Human-Computer Interaction
|
Human-Computer Interaction
|
2
|
2
|
0
|
3
|
5
|
Temel insan ve bilgisayar etkileşim kavramları, kullanıcı ara yüz prensipleri ve tasarım yöntemleri, grafik ve kullanıcı arayüzü özellikleri, ekran tasarım prensipleri, yazılı iletişim, uluslararasılaştırma ve erişebilirlik.
|
15
|
Yazılım Mühendisliği (İngilizce)
|
SE 210
|
Software Requirements Analysis
|
Software Requirements Analysis
|
3
|
0
|
0
|
3
|
4
|
Sistem gereksinimleri için kullanılacak ana başlıklar, teknikler ve pratik uygulamalar ile bunların gereksinim belirtiminde belgelendirilmesi, kullanıcı görüşmeleri ve prototip üretimi gibi gereksinim keşfi işlemleri, yazılım gereksinimlerinin düzenlenmesi ve açıklanması için yaklaşımların gösterilmesi, gereksinimlerin yazılım sistem tasarımına dönüştürülmesinde gereksinim çalışmalarına ilişkin önemin vurgulanması, şematik ve grafiksel yaklaşımlar, belirtim değerlendirme teknikleri, belirtim ve tasarım araçları ve sistem testleri geliştirmek için alternatif tasarım yaklaşımlarının sunulması, UML kullanarak yazılım sistemlerinin tasarlanması, modellenmesi ve dokümantasyonu.
|
16
|
Yazılım Mühendisliği (İngilizce)
|
SE 211
|
Software Design and Architecture
|
Software Design and Architecture
|
3
|
0
|
0
|
3
|
5
|
Tasarıma giriş, tasarım aktiviteleri ve süreç modelleri, yapısal tasarım - veri akış diyagramları, mantıksal ve fiziksel tasarım, yapısal tasarım - süreç tanımlama, veri sözlükleri ve ayrıntılı tasarım, oo tasarım - statik ve davranış modeli tasarımı, mimari tasarım, tasarım desenleri, kullanıcı arayüz katmanı tasarımı, veri erişim katmanı tasarımı, sınır sınıfları tasarımı.
|
17
|
Yazılım Mühendisliği (İngilizce)
|
SE 237
|
Object Oriented Programming
|
Object Oriented Programming
|
3
|
0
|
0
|
3
|
7
|
Bu derste, öğrenciler, C++ ile nesneye yönelik programlamanın temel prensiplerini öğrenecektirler.
|
18
|
Yazılım Mühendisliği (İngilizce)
|
SE 251
|
Discrete Structures II
|
Discrete Structures II
|
3
|
2
|
0
|
4
|
6
|
Önermeler mantığı ve küme teorisi. Matematiksel muhakeme. Fonksiyonlar ve algoritmalar. Sayılar teorisi ve diziler. İndüksiyon ve özyineleme. Ayrık olasılık. İlişkiler. Bool cebri. Graf teorisi. Ağaçlar.
|
19
|
Yazılım Mühendisliği (İngilizce)
|
SE 301
|
Operating Systems and Networking
|
Operating Systems and Networking
|
3
|
2
|
0
|
4
|
5
|
İşletim sistemleri ve ağlar konusuna giriş, işletim sistemleri tasarımı ve uygulaması. İşletim sistemi bileşenleri, zamanlama algoritmaları, hafıza yönetimi, atama ve dosya sistemleri. Ağ protokolleri, yığınlar ve uygulama seviyesi protokoleri.
|
20
|
Yazılım Mühendisliği (İngilizce)
|
SE 302
|
Software Design and Architecture
|
Software Design and Architecture
|
3
|
0
|
0
|
3
|
5
|
Bu dersin amacı, öğrencilere etkin ve kaliteli yazılım tasarımının nasıl gerçekleştirildiğini öğretmektir. Bu ders, bir yazılım tasarım probleminin mutlak bir şekilde yalnızca bir çözümünün olmadığı, bir yazılım mühendisinin birçok alternatif arasında avantaj/dezavantaj hesabı yaptıktan sonra bir çözüm üretmek zorunda kalacağı konusunda öğrencileri duyarlı hale getirecektir. Nesneye dayalı tasarım prensiplerinin incelenmesi ve UML diyagramları dersin içerikleri arasındadır.
|
21
|
Yazılım Mühendisliği (İngilizce)
|
SE 303
|
Software Quality Assurance and Testing
|
Software Quality Assurance and Testing
|
3
|
0
|
0
|
3
|
5
|
Yazılım kalite ve güvencesi giriş, yazılım kalitesini belirleyen özellikler, yazılım kalite güvencenin amaçları, yazılım kalite sorunları, kalite sistemi, kalite maliyeti, en iyi uygulamalar yaklaşımı, süreç kavramı, yazılım süreci geliştirme ve iyileştirme modelleri, yazılım kalite yönetimi, yazılım kalite maliyeti, yazılım testi ve uygulaması, konfigürasyon yönetimi, agile metodolojiler.
|
22
|
Yazılım Mühendisliği (İngilizce)
|
SE 304
|
Software Requirements Analysis
|
Software Requirements Analysis
|
3
|
0
|
0
|
3
|
5
|
Sisteme gereksinimleri, teknikler, uygulamalar ve gereksinim belirleme dokümantasyonu için kullanılan ana konular. Prototip üretimi ve kullanıcı görüşmeleri gibi gereksinimleri ortaya çıkarma işlemleri. Yazılım gereksinimlerini açıklayan ve düzenleyen yaklaşımların gösterimi. Gereksinimleri yazılım sistem tasarımına çevirmek için gereksinimler işinin önemini vurgulamak. Sistem testi geliştirme, şartname ve tasarım araçları, şartname değerlendirme teknikleri, şematik ve grafiksel yaklaşımlar için alternatif tasarım yaklaşımlarının gösterimi. UML kullanarak yazılım sistemlerinin tasarımı, modelleme ve dokümantasyon.
|
23
|
Yazılım Mühendisliği (İngilizce)
|
SE 305
|
Professional Software Engineering Practice
|
Professional Software Engineering Practice
|
2
|
2
|
0
|
3
|
5
|
Yazılım mühendisliği yaklaşımının yazılım geliştirme ile ilişkisi, büyük yazılım projesi örneklerinin yazılım mühendisliği yaklaşımı açısından incelenmesi.
|
24
|
Yazılım Mühendisliği (İngilizce)
|
SE 306
|
Software Engineering Ethics
|
Software Engineering Ethics
|
3
|
0
|
0
|
3
|
5
|
Mühendislik ve kurumsal sorumluluklar, kişisel haklar, bilgi uçurma, çıkar çatışması, profesyonel özerklik, risk değerlendirmesi, sürdürülebilir gelişim ile mühendislik etik kodlarının yeri ve amacı, yazılım mühendisliği ve diğer bilgi sistemlerinde etik kuralları ve ilkeleri, alanında etik çalışma ve karar verme.
|
25
|
Yazılım Mühendisliği (İngilizce)
|
SE 307
|
Database Management Systems
|
Database Management Systems
|
2
|
2
|
0
|
3
|
6
|
Dersin amacı veritabanının temel kavramlarını, varlık-ilişki modeli, ilişkisel veri modelinin esasları, ilişkisel veritabanı tasarımı, normalizasyon ve türleri, ilişkisel cebir ve temel kavramlarını öğretmektir. Bu derste öğrenciler bir veritabanının adım adım nasıl tasarlanacağını öğreneceklerdir. Öğrenciler bir veritabanı projesi gerçekleştireceklerdir.
|
26
|
Yazılım Mühendisliği (İngilizce)
|
SE 308
|
Advanced Topics in Database Systems
|
Advanced Topics in Database Systems
|
2
|
2
|
0
|
3
|
6
|
İleri Düzey T-SQL, Kurtarma ve Eşzamanlılık, Eksik Bilgi, Güvenlik, Optimizasyon, Dağıtık Veritabanları, Karar Destek Sistemleri, Büyük Veri ve NoSQL, Doküman Veritabanları, Graf Veritabanları.
|
27
|
Yazılım Mühendisliği (İngilizce)
|
SE 310
|
Software Architecture
|
Software Architecture
|
2
|
2
|
0
|
3
|
6
|
Mimari düşünme, mimari tarzlar, bağlantılar, modelleme ve simgeler, analiz teknikleri, uygulama teknikleri, mimari uygulamalar, çoklu ortam uygulamaları, fonksiyonel olmayan ihtiyaçlara göre tasarıma giriş, güvenlik, standartlar, adaptasyon, servis odaklı mimari.
|
28
|
Yazılım Mühendisliği (İngilizce)
|
SE 311
|
Software Construction
|
Software Construction
|
3
|
0
|
0
|
3
|
5
|
Yapılandırma kimliği aracılığıyla yönetilen yazılım ve donanım öğelerinin belirlenmesi, proje çıktılarını kontrol etmek için bir proje tabanlı konfigürasyon yönetim planı oluşturarak, yazılım geliştirme projelerinin bileşenlerinin yönetilmesi, konfigürasyon kontrol prosedürlerini belirtilerek değişim isteklerinin yönetilmesi, değişiklik talepleri için bir sürüm planlamasının yapılması.
|
29
|
Yazılım Mühendisliği (İngilizce)
|
SE 312
|
Operating Systems
|
Operating Systems
|
3
|
0
|
0
|
3
|
5
|
|
30
|
Yazılım Mühendisliği (İngilizce)
|
SE 315
|
Software Engineering
|
Software Engineering
|
3
|
0
|
0
|
3
|
5
|
Yazılım mühendisliğinin kapsamı, yazılım geliştirme yaşam döngüsü modelleri, yazılım süreci, yazılım takımları, yazılım araçları, yazılım sınama, gereksinimler, nesne-tabanlı analiz ve tasarım, kodlama ve test yöntemleri, teslim sonrası bakım, UML kavramı ve diyagramları.
|
31
|
Yazılım Mühendisliği (İngilizce)
|
SE 319
|
Special Topics in Software Engineering
|
Special Topics in Software Engineering
|
3
|
0
|
0
|
3
|
5
|
Yazılım mühendisliğinin güncel konuları dönemsel olarak ele alınacaktır.
|
32
|
Yazılım Mühendisliği (İngilizce)
|
SE 320
|
Software Verification and Validation
|
Software Verification and Validation
|
3
|
0
|
0
|
3
|
4
|
Bu dersin amacı yazılım projelerinde uygulanması gereken yazılım doğrulaması ve geçerlilemesi hakkında bilgiler vermektir. Derste öğrenciler, oluşturdukları yazılım grupları ile öğrendikleri test yöntemlerini, gerçekleştirdikleri yazılım projesine uygularlar.
|
33
|
Yazılım Mühendisliği (İngilizce)
|
SE 322
|
Software Project Architecture and Design
|
Software Project Architecture and Design
|
3
|
0
|
0
|
3
|
6
|
|
34
|
Yazılım Mühendisliği (İngilizce)
|
SE 335
|
Cyber Security
|
Cyber Security
|
3
|
0
|
0
|
3
|
5
|
|
35
|
Yazılım Mühendisliği (İngilizce)
|
SE 340
|
Rapid Application Development
|
Rapid Application Development
|
3
|
0
|
0
|
3
|
5
|
Hızlı yazılım proje yönetimine giriş, hızlı geliştirme yöntemlerinin tarihçesi, hızlı yazılım geliştirme katmanları, Extreme Programlama, Crystal Family, RUP ve SCRUM yöntemleri, metotların karşılaştırılması.
|
36
|
Yazılım Mühendisliği (İngilizce)
|
SE 342
|
Software Validation and Testing
|
Software Validation and Testing
|
3
|
0
|
0
|
3
|
6
|
Yazılım doğrulama ve geçerlemeye giriş, yazılım testine giriş, yazılım güvenliğinin temelleri, yazılım test gereçleri, yazılım test araçları, kara-kutu birim test tekniği, beyaz-kutu birim testi ve kontrol-akış testi, veri-akış testi, web sitesi testi, kullanılabilirlik testi, genetik algoritmalar, güvenlik için test ve kod denetimleri, yazılım test ölçütleri.
|
37
|
Yazılım Mühendisliği (İngilizce)
|
SE 343
|
Mobile Application Development
|
Mobile Application Development
|
2
|
2
|
0
|
3
|
5
|
Bu dersin amacı, mobil cihaz ortamında yazılım geliştirme hakkında temel bilgi vermek ve Android işletim sistemi üzerinde program yazmayı öğretmektir.
|
38
|
Yazılım Mühendisliği (İngilizce)
|
SE 350
|
Multimedia Software Development
|
Multimedia Software Development
|
3
|
0
|
0
|
3
|
4
|
Çoklu ortam yazılımı mühendisliğinin iskeleti. Çoklu ortam yazılımı mühendisliğinde bakış açıları. Görsel Diller. Çoklu ortam dilleri. Aktif gösterge. Tele-aksiyon nesneler. Çoklu ortam geliştirme araçları. Çoklu ortam uygulamalarında prototip oluşturma. Çoklu ortam dillerinin tasarımı. Dağıtık çoklu ortam sistemleri tasarımı.
|
39
|
Yazılım Mühendisliği (İngilizce)
|
SE 353
|
Introduction to Web Programming
|
Introduction to Web Programming
|
3
|
0
|
0
|
3
|
5
|
Web-tabanlı sistemlere ilişkin örnekler, HTML’e giriş, HTML tagları kullanımı, ileri HTML kullanımı ve CSS dosyaları, HTML medya, XHTML, Java Script, FTP, WinHtTrack, Java Applets, içerik yönetim sistemleri (Content Management Systems-CMS), Macromedia Flash kullanımı, CMS kullanımı, web sunucuları.
|
40
|
Yazılım Mühendisliği (İngilizce)
|
SE 354
|
Web Application Development
|
Web Application Development
|
3
|
0
|
0
|
3
|
5
|
PHP dilinin genel yapısı ve kurulumu, değişkenler, sabitler, operatörler, kontrol yapıları, döngüler, diziler, dosya dizin işlemleri, çerez kavramı, oturum kavramı, formlar, MySQL kurulumu, temel SQL dili komutları, PHP ve grafikler, veritabanı bağlantıları, PHP ve XML, PHP ve güvenlik.
|
41
|
Yazılım Mühendisliği (İngilizce)
|
SE 355
|
Advanced Programming Tool and Methods
|
Advanced Programming Tool and Methods
|
3
|
0
|
0
|
3
|
5
|
Programlama tekniği ile ilgili temel prensiplere giriş: test, hata ayıklama, taşınabilirlik, performans, tasarım alternatifleri ve modelleri. Çeşitli programlama dilleri, programlama ortamları ve işletim sistemlerinde uygulama. Programın işlevselliği, performansı ve sağlamlığını iyileştirmek için yazılım geliştirme sürecinde kullanılan araçlar.
|
42
|
Yazılım Mühendisliği (İngilizce)
|
SE 356
|
Web Application Development
|
Web Application Development
|
2
|
2
|
0
|
3
|
5
|
Bu ders ile amaçlanan, öğrencilerin elektronik iş (e-iş) hizmetlerinden yararlanabilmeleri için gereksinim duydukları web tabanlı programlamaya yönelik bireysel gelişimlerini sağlamaktır. Dersi başarıyla tamamlayan öğrenciler statik web sayfalarını dinamik bir yapıya dönüştürerek profesyonel bir web programlama becerisine sahip olacaklardır. PHP dilinin genel yapısı ve kurulumu, değişkenler, sabitler, operatörler, kontrol yapıları, döngüler, diziler, dosya dizin işlemleri, çerez kavramı, oturum kavramı, formlar, MySQL kurulumu, temel SQL dili komutları, PHP ve grafikler, veritabanı bağlantıları, PHP ve XML, PHP ve güvenlik.
|
43
|
Yazılım Mühendisliği (İngilizce)
|
SE 360
|
Compiler Design
|
Compiler Design
|
3
|
0
|
0
|
3
|
4
|
Bu dersin amacı derleyici tasarımıyla ilgili temel bilgi ve kavramları öğrenciye öğretmektir. Derleyici yapısı, Sözlük analizi, Sözdizimi analizi, Sözdizimi yönlü çeviri, Tip kontrolü, Çalışma zamanı ortamı, Kod üretimi, Kod eniyilemesi.
|
44
|
Yazılım Mühendisliği (İngilizce)
|
SE 363
|
Java Programming
|
Java Programming
|
3
|
0
|
0
|
3
|
5
|
Java'ya giriş, değişkenler, operatörler, yöntemleri, nesneleri ve nesne yönelimli programlama, dizge operatörleri, istisnalar ve özel durum işleme, swing denetimlerini kullanma yöntemleri, veri yapıları, Dosyalar ve Akımlar, Ağ programlama, swing GUI nesnelerini kullanarak GUI programlama, JDBC bağlantıları, Java appletleri.
|
45
|
Yazılım Mühendisliği (İngilizce)
|
SE 364
|
Linux Scripts and Tools
|
Linux Scripts and Tools
|
3
|
0
|
0
|
3
|
5
|
Unix/Linux ortamı, dosya sistemi, hesap yönetimi, Unix derleyiciler ve yorumlayıcılar, Unix pencere yöneticisi, Unix kabuğu ve kabuk programlama, Unix/Linux ortamında yazılım geliştirme, Unix araçları, diğer sistem yönetim araçları, temel süreç yönetimi.
|
46
|
Yazılım Mühendisliği (İngilizce)
|
SE 366
|
Linux System Programming
|
Linux System Programming
|
3
|
0
|
0
|
3
|
5
|
|
47
|
Yazılım Mühendisliği (İngilizce)
|
SE 370
|
Unix Scripts an Utilities
|
Unix Scripts an Utilities
|
3
|
0
|
0
|
3
|
4
|
Dersin temel amacı, öğrencilere Unix / Linux ortamının komut satırını, dosya ve süreç yönetimini öğretmek, kabuk ve sistem programlama dillerini tanıtmaktır. Kabuk scriptleri, kullanıcı ortamları, dosya sistemi işlemleri, sistem çağrıları ve kütüphaneleri, süreçler arası iletişim üzerine yazılım geliştirme konularına giriş yapılacaktır. Unix/Linux ortamı, dosya sistemi, hesap yönetimi, Unix derleyiciler ve yorumlayıcılar, Unix pencere yöneticisi, Unix kabuğu ve kabuk programlama, Unix/Linux ortamında yazılım geliştirme, Unix araçları, diğer sistem yönetim araçları, temel süreç yönetimi.
|
48
|
Yazılım Mühendisliği (İngilizce)
|
SE 373
|
Mobile Programming
|
Mobile Programming
|
3
|
0
|
0
|
3
|
5
|
Mobil cihaz karakteristikleri, uygulama temelleri, aktiviteler ve amaçlar, iş parçacıkları (threads), servisler, kullanıcı arayüz ekranları ve olayları, çoklu ortam teknikleri, donanım arayüzü, ağ, veri depolama metotları, konum-tabanlı servisler.
|
49
|
Yazılım Mühendisliği (İngilizce)
|
SE 374
|
Visual Programming
|
Visual Programming
|
2
|
2
|
0
|
3
|
5
|
Görsel programlamaya giriş, Framework kullanımı, proje geliştirme, konfigürasyon yönetimi, form araçları kullanımı (TextBox, ComboBox, CheckBox, RadiobButton, ListBox, Timer, Progress Bar, TabControl, ErrorProvider, DateTime, TreeView, ImageList ContexMenu, SplitContainer, MenuScript, Mouse Tracking).
|
50
|
Yazılım Mühendisliği (İngilizce)
|
SE 383
|
Python Programming
|
Python Programming
|
2
|
2
|
0
|
3
|
5
|
Python programlamaya giriş, girdi/çıktı işlemleri, döngüler, koşullu durumlar, hata yakalama, listeler, fonksiyonlar, modüller, nesne tabanlı programlama, SQLite ile veritabanı programlama, ağ programlama.
|
51
|
Yazılım Mühendisliği (İngilizce)
|
SE 401
|
Capstone Project I
|
Capstone Project I
|
0
|
4
|
0
|
2
|
9
|
Bir yazılım sisteminin gereksinim, analiz ve tasarım safhaları, proje tasarım ve sunumuyla ilgili hususlar, gerçek hayattaki yazılım proje problemleri ile ilgili farkındalık, profesyonel kalitede yazılım çözümleri, yazılım mühendisliği metotlarının uygulaması.
|
52
|
Yazılım Mühendisliği (İngilizce)
|
SE 402
|
Capstone Project II
|
Capstone Project II
|
0
|
4
|
0
|
2
|
8
|
Bütünleşik Proje I dersinde tasarlanan projenin gerçekleştirim ve test safhaları, yazılım geliştirme ipuçları.
|
53
|
Yazılım Mühendisliği (İngilizce)
|
SE 403
|
Software Project Management
|
Software Project Management
|
3
|
0
|
0
|
3
|
6
|
Yazılım proje yönetimine giriş, proje değerlendirme ve yazılım yönetimi, proje planlamasına genel bakış, proje planlama adımları, yazılım projesi büyüklük kestirim yöntemleri, iş planı, risk yönetimi, kaynak tahsisi, proje izleme ve kontrol, idari sözleşmeler, ekip yönetimi, yazılım kalite ve standartları, konfigürasyon yönetimi.
|
54
|
Yazılım Mühendisliği (İngilizce)
|
SE 410
|
Software Quality Assurance
|
Software Quality Assurance
|
3
|
0
|
0
|
3
|
4
|
Yazılım kalitesi ve güvencesine giriş, yazılım kalite özellikleri, yazılım kalite güvencesinin amaçları, yazılımda kalite sorunları, kalite sistemleri, en iyi pratikler yaklaşımı, süreç kavramı, yazılım süreç geliştirme ve iyileştirme modelleri, yazılım kalite yönetimi, yazılım kalitesinin maliyeti, yazılım testi ve uygulaması, konfigürasyon yönetimi, çevik metotlar.
|
55
|
Yazılım Mühendisliği (İngilizce)
|
SE 416
|
Data Mining
|
Data Mining
|
2
|
2
|
0
|
3
|
5
|
Bu dersin amacı öğrencilere çeşitli veri madenciliği tekniklerini tanıtmak ve gerçek hayattaki problemlerin uygulamalarına dair bilgi vermektir. Veri Madenciliğine Giriş, Veri Madenciği Tanımları, Veri Madenciliğinin Geri Planı, Veri Madenciliği Teknikleri, Operasyonları ve Algoritmaları, Veri Madenciliği Uygulamaları, Veri Madenciliği Problemleri, Metin Madenciliği, Web Madenciliği, Örnek Uygulamalar.
|
56
|
Yazılım Mühendisliği (İngilizce)
|
SE 417
|
Software Metrics
|
Software Metrics
|
3
|
0
|
0
|
3
|
5
|
Ölçüm teorisi ve temel kavramlar, yazılımda ölçme ve temel yazılım ölçütleri, yazılım karmaşıklık ölçütleri ve modelleri, yazılım büyüklük ölçütleri ve kestirim modelleri, yazılım emek ölçütleri ve kestirim modelleri, yazılım kalite ölçütleri, ISO 9126, ISO 15504 ve CMMI kalite modelleri, yazılım süreç iyileştirmeyi ölçmede kullanılan işlev puanı ölçütleri, yazılım kullanılabilirlik ölçütleri, müşteri memnuniyetinin ölçüm ve analizi, yazılım bakım ölçütleri.
|
57
|
Yazılım Mühendisliği (İngilizce)
|
SE 420
|
Advanced Database Systems
|
Advanced Database Systems
|
3
|
0
|
0
|
3
|
5
|
İleri veritabanı sistemlerine giriş, SQL server veritabanı, SQL server ile tablolar ve aralarındaki ilişkiler, SQL server sorgular ve anahtarlar, SQL server formlar ve raporlar, DDL komutları, ileri sorgu geliştirme teknikleri ve uygulamalar, Oracle kullanımı, proje izleme ve kontrol, diğer veritabanı yönetim sistemleri, DB2 ve Solaris, OLAP küpleri, konfigürasyon yönetimi.
|
58
|
Yazılım Mühendisliği (İngilizce)
|
SE 426
|
Real-Time Systems
|
Real-Time Systems
|
3
|
0
|
0
|
3
|
5
|
|
59
|
Yazılım Mühendisliği (İngilizce)
|
SE 434
|
Social Network Analysis
|
Social Network Analysis
|
3
|
0
|
0
|
3
|
6
|
Dersin genel amacı Sosyal Ağ Analizi’ne ilişkin temel tekniklerini öğretmek, ağlar ile ilgili temel
kavramları açıklamak, ve ağ görselleştirme araç ve tekniklerini tanıtmaktır.
|
60
|
Yazılım Mühendisliği (İngilizce)
|
SE 441
|
Information Systems Security
|
Information Systems Security
|
3
|
0
|
0
|
3
|
5
|
Kriptografi teori ve kavramı, şifreleme algoritmaları ve sistemleri, ağ güvenliğinin sağlanması için gereken teknik ve yaklaşımlar.
|
61
|
Yazılım Mühendisliği (İngilizce)
|
SE 442
|
High Performance Computing
|
High Performance Computing
|
3
|
0
|
0
|
3
|
4
|
Yüksek başarımlı bilgisayar mimarileri: Çokluişlemciler, çoklubilgisayarlar, Flynn'in taksonomisi, SIMD, MIMD, SPMD, bağlantı topolojileri, Beowulf kümeleri. Arabellek eniyileştirme teknikleri. Vektörleştirme. Paralel makine ve başarım modelleri: PRAM, hızlandırma, iş verimliliği, ölçeklenebilirlik. Mesaj iletimi ve çok-kanallılık kütüphaneleriyle paralel programlama. Paralel uygulamlar. Yük dengeleme ve graf bölümleme.
|
62
|
Yazılım Mühendisliği (İngilizce)
|
SE 443
|
Lightweight Client Programming
|
Lightweight Client Programming
|
3
|
0
|
0
|
3
|
4
|
Güçsüz istemcilere örnekler. Java 2 Platform, Micro Edition (J2ME) ve standart SML-tabanlı işaretleme dilleri. Mobile information device profile (MIDP) ve Connected Limited Device (CLCD) yapıları. CLCD ve MIDP API'leri. J2ME geliştirme araçları. Mobil cihazları tüketici ve kurumsal hizmetlere bağlamak için kullanılan teknolojiler: standart veri formatları, güvenlik ve uygulama düzeyi protokolleri.
|
63
|
Yazılım Mühendisliği (İngilizce)
|
SE 450
|
Software Engineering Ethics
|
Software Engineering Ethics
|
3
|
0
|
0
|
3
|
4
|
Bu dersin amacı, bilgisayar ve bilişim etiğinin teori ve uygulamalarını tanıtmaktır. Ayrıca, etiksel karar verme temellerini kapsamaktadır. Bunun yanında, grup çalışmaları ve sunumları üzerinde durulmaktadır. Mühendislik ve kurumsal sorumluluklar, kişisel haklar, bilgi uçurma, çıkar çatışması, profesyonel özerklik, risk değerlendirmesi, sürdürülebilir gelişim ile mühendislik etik kodlarının yeri ve amacı, yazılım mühendisliği ve diğer bilgi sistemlerinde etik kuralları ve ilkeleri, alanında etik çalışma ve karar verme.
|
64
|
Yazılım Mühendisliği (İngilizce)
|
SE 453
|
Large Scale System Software Development
|
Large Scale System Software Development
|
3
|
0
|
0
|
3
|
4
|
Bu dersin amacı öğrencilere günümüzün en ileri düzeyli araç ve yöntemlerini kullanarak büyük ölçekli yazılım sistemlerinin analizi, tasarımı ve geliştirilmesini öğretmektir. Derste işlenecek konulara arasında operatör aşırı yükleme, dinamik çokbiçimlilik, görsel kullanıcı arabirimleri, jenerik programlama, dinamik bağlı kütüphaneler, ve çok kanallılık yer almaktadır.
|
65
|
Yazılım Mühendisliği (İngilizce)
|
SE 454
|
Distributed Computing
|
Distributed Computing
|
3
|
0
|
0
|
3
|
4
|
Bu ders, dağıtık sistemlerin tasarımı, uygulanması ve yönetimi altında yatan temel kavramlar üzerinde durur. Dağıtık sistemlerde temel kavramlar, senkronizasyon, seçim, dağıtılan anlaşma, süreçler arası iletişim ve koordinasyon, çoğaltılmış veri yönetimi, dağıtılmış objeler, güvenlik, ve dizin ve keşif hizmetleri gibi temel konuları kapsar.
|
66
|
Yazılım Mühendisliği (İngilizce)
|
SE 456
|
Game Programming
|
Game Programming
|
3
|
0
|
0
|
3
|
5
|
Oyun programlamaya giriş, oyun mimari, oyun mantığı, 3 boyutlu oyunlarda temel kavramlar, 3 boyutlu oyunlar için klavye, fare, kullanıcı arabirimi programlama.
|
67
|
Yazılım Mühendisliği (İngilizce)
|
SE 458
|
Service Oriented Architecture
|
Service Oriented Architecture
|
2
|
2
|
0
|
3
|
5
|
Servis Odaklı Mimari’ye (SOA) Giriş, SOA'nın Özellikleri, SOA’nın Evrimi, Web Servisleri ve SOA, XML'e Giriş, WSDL: Web Servis Tanımlama Dili, SOAP: Simple Object Access Protocol, SOA Platformlarına Giriş, .NET Platformunda Web Servis Geliştirme, .NET Platformunda WCF ve SOA, İkinci Nesil Web Servisleri – WS-* Uzantıları.
|
68
|
Yazılım Mühendisliği (İngilizce)
|
SE 460
|
Mathematics for Computer Games
|
Mathematics for Computer Games
|
3
|
0
|
0
|
3
|
4
|
Bu ders 3 boyutlu dünyayı tarif etmek, simule etmek ve canlandırmak için gerekli olan metamatik konularını içermektedir. Nesneler ve pozisyonları, uyumları ve yörüngeleri 3 boyutlu matematik kullanılarak nasıl tanımlanır? Ders oyun tasarımcıları ve grafik programcıları için gerekli olan temel koordinat uzayı, vektörler ve matris konularını içerir. Ayrıca üç boyutta yönlendirme, ileri matematik ve dinamikler, grafikler ve parametrik eğriler konularını da içerir.
|
69
|
Yazılım Mühendisliği (İngilizce)
|
SE 462
|
Embedded Systems
|
Embedded Systems
|
3
|
0
|
0
|
3
|
4
|
Gömülü Sistemler spesifik uygulamalar için tasarlanan ve mobil telefonlar, akıllı kartlar, araç elektroniği, tüketici elektronik aygıtları gibi donanımlara gömülen bilgisayar sistemleridir. Uygulamaların çeşitliliği ve karmaşıklığındaki artış bu gibi sistemlerin tasarımına olan ilgiyi giderek arttırmaktadır. Bu ders gömülü sistemler alanında geniş bilgi vermektedir ve üç anala yönelik çalışmalar yapılmaktadır: yazılım ve programlama, işleme ve iletişim, donanım.
|
70
|
Yazılım Mühendisliği (İngilizce)
|
SE 463
|
CAD/CAM Software Development
|
CAD/CAM Software Development
|
3
|
0
|
0
|
3
|
4
|
Derste bilgisayar destekli tasarım ve modelleme için güncel yaklaşımlar sunulmaktadır. Donanım ve yazılım özelliklerinin yanı sıra geometrik modellemede, geometri tabanlı fiziksel hesaplamalarda ve model optimizasyonunda kullanılan algoritmalar ve bunların uygulamaları da incelenmektedir. Dersin uygulama kısmı bilindik CAD sistemlerinin kullanımını içermektedir.
|
71
|
Yazılım Mühendisliği (İngilizce)
|
SE 464
|
Case Studies in Software Engineering I
|
Case Studies in Software Engineering I
|
3
|
0
|
0
|
3
|
4
|
Durum çalışmaları güçlü ve esnek olan gözlemsel bir metottur. Öncelikli olarak ileriye ve geriye dönük bir teorinin yapısını anlatmak ve açıklamak için araştırmalarda kullanılır. Araştırma sonuçlarının doğrulanmasında da kullanılabilirler. Bu beceriden ötürü yazılım mühendisliği alanında popüler hale gelmiştir ve yeni bir tekniğin, metodun, aracın, sürecin veya teknolojinin kabiliyetlerini sunmak veya açıklamak için sıklıkla kullanılırlar. Ne yazık ki genellikle doğru şekilde kullanılamamaktadırlar. Bu dersin amacı yazılım mühendisi adaylarına durum çalışmalarının nasıl etkin bir biçimde tasarlanabileceği, yürütüleceği, değerlendirileceği ve okunacağını öğretmektir.
|
72
|
Yazılım Mühendisliği (İngilizce)
|
SE 465
|
Case Studies in Software Engineering II
|
Case Studies in Software Engineering II
|
3
|
0
|
0
|
3
|
4
|
Durum çalışmaları güçlü ve esnek olan gözlemsel bir metottur. Öncelikli olarak ileriye ve geriye dönük bir teorinin yapısını anlatmak ve açıklamak için araştırmalarda kullanılır. Araştırma sonuçlarının doğrulanmasında da kullanılabilirler. Bu beceriden ötürü yazılım mühendisliği alanında popüler hale gelmiştir ve yeni bir tekniğin, metodun, aracın, sürecin veya teknolojinin kabiliyetlerini sunmak veya açıklamak için sıklıkla kullanılırlar. Ne yazık ki genellikle doğru şekilde kullanılamamaktadırlar. Bu dersin amacı yazılım mühendisi adaylarına durum çalışmalarının nasıl etkin bir biçimde tasarlanabileceği, yürütüleceği, değerlendirileceği ve okunacağını öğretmektir.
|
73
|
Yazılım Mühendisliği (İngilizce)
|
SE 470
|
Parallel Programming
|
Parallel Programming
|
2
|
2
|
0
|
3
|
5
|
Paralel programlamaya giriş, Thread tabanlı paralel programlama ve pthread kütüphanesi, OpenMP kütüphanesi ile thread tabanlı paralel programlama, Process tabanlı paralel programlama, Open MPI kütüphanesi ile paralel programlama, Grafik kartları üzerinde paralel programlamaya giriş, CUDA programlama.
|
74
|
Yazılım Mühendisliği (İngilizce)
|
SE 472
|
Java-Based Application Development
|
Java-Based Application Development
|
2
|
2
|
0
|
3
|
5
|
Genel bakış, JavaServerFaces teknolojisi, Facelets giriş, web sayfalarında JavaServerFaces teknoloji kullanımı, dönüştürücüler, dinleyiciler ve doğrulayıcılar JavaServerFaces teknolojisi ile uygulamalar geliştirme, Java Servlet teknolojisi, web hizmetlerine giriş, JAXWS ile web servisleri geliştirme, JAX-RS ile RESTful web hizmetleri, kurumsal Beans, kurumsal Beans ile çalışmaya başlama, Enterprise Bean örnekleri, Java persistence API giriş, persistence örnekleri çalıştırma, Java persistence sorgu dili.
|
75
|
Yazılım Mühendisliği (İngilizce)
|
SE 473
|
Secure Software Design
|
Secure Software Design
|
2
|
2
|
0
|
3
|
5
|
Güvenli yazılım uygulamaları geliştirmek için ilkeler, teknikler ve en iyi pratikler. Yazılım geliştirme sürecinin safhaları için güvenlik dallanmaları, güvenlik gereksinim analizi, tehdit modelleme, güvenli tasarım, güvenli programlama, güvenlik testleri ve doğrulama.
|
76
|
Yazılım Mühendisliği (İngilizce)
|
SE 499
|
Industry Tranining
|
Industry Tranining
|
0
|
0
|
0
|
0
|
6
|
Staj altı hafta (30 işgünü) dır, herhangi bir yurtiçi veya yurtdışı kamu veya özel kuruluşlarda saha deneyimi kazanmayı öngörmektedir. Öğrenciler, stajlarını başarıyla tamamlayabilmeleri için Mühendislik & Doğa Bilimleri Fakültesi ve Yazılım Mühendisliği Bölümü Staj Yönergelerinde istenenleri yerine getirmeleri gerekmektedir.
|