Ders Adı Enterprise Application Development
Ders Kodu MTH-501
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Lisans
Yıl 3
Dönem 5.Yarıyıl
AKTS 3
Dersi Veren(ler) Mennan Tekbir Dr.Öğr.Üyesi Cevriye ALTINTAŞ
Dersin Yardımcıları
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği Sektörde kullanılan güncel yazılım teknolojilerinin aktarılması, bulut mimaride dağıtık ve yüksek verimde iş yapabilen uygulamaların öğrenilmesi ve yapılacak ödevlerle pekiştirilmesi, dönem içinde yapılacak projeyle somut bir çıktı haline getirilmesi.
Dersin Verildiği Diller Türkçe
Dersin Amacı Bu ders kapsamında öğrencilere, mezun olduklarında karşılaşacakları gerçek dünyanın küçük bir kesitiyle henüz öğrenciyken yüz yüze gelmelerine olanak sağlanacaktır. Kurumsal iş dünyasının inceliklerine, ekip içinde olmanın verdiği sorumluluklara ve belki de en önemlisi üniversitede öğrendikleri teorik bilgilerin güncel teknolojilere nasıl bir yansıma yarattığını görmelerini amaçlanmaktadır.
No Dersin Kazanımları  
1 Endüstride olmazsa olmaz yazılım mühendisliği kavramlarının öğrenilmesi
2 Son zamanlarda popülerliği artan Agile-Scrum proje yönetim metodunun uygulamalı bir şekilde kavranması
3 Container ve Cloud kavramlarına pratik bir bakış ve kullanım alanlarının gösterilmesi
4 Distributed, Concurrent, High Throughput-Low Latency, in-memory sistemlerinin ve uygulamaların gerçek hayatta kullanım yerleri ve kurumsal uygulamalardaki yerlerinin kavranması
5 Sektörde çokça kullanılan Java kütüphanelerinin öğrenilmesi
6 Dağıtık mimarilerin en temel bileşenlerinden izleme ve takip sistemlerinin gösterilmesi, gerçek zamanlı operasyonların yönetilmesi
7 Uçtan Uca bir projeyle bu öğrenilenlerin somut hale getirilmesi
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPY1PY2PY3PY4PY5PY6PY7PY8PY9PY10PY11PY12
1
2
3
4
5
6
7
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-Çok Zayıf İlişkili 0-İlişkisiz
Hafta Konular  
1 Essential Software Engineering Concepts (Refactoring, Pair Programming, Code Review, Solution Sketch, Test Automation, Prototyping etc.)
2 Agile Methodologies, Scrum
3 Containerization (Docker) and Cloud Native Architectures (AWS, GCP)
4 Distributed in-memory Database Systems (Apache Ignite, Volt Active Data)
5 Distributed in-memory Data Grid (Hazelcast IMDG)
6 Distributed Event Streaming Platforms (Apache Kafka)
7 Project: Session 1 (Team Forming, Task distribution, Communications, Ground Rules, Solution Sketch etc.)
8 Relational Database Management Systems (Oracle)
9 Java Frameworks, Tools, and Libs (Spring, Swagger, Log4J etc.)
10 Concurrent and Distributed message-driven Apps (Akka Toolkit)
11 Project: Session 2 (Informal Code Inspections, Code Reviews, Retrospective)
12 System Monitoring (Prometheus, Grafana, Open Dashboard etc.)
13 DevOps (Git VCS, Logging Strategies, Test Automation)
14 Project: Session 3 (Documentation, Problem Solving etc .)
No Bölüm Öğrenme Çıktısı Katkı Düzeyi
1 Matematik, fen bilimleri ve bilgisayar mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. 2
2 Teknolojideki hızlı gelişmelere paralel olarak, hangi temel bilgilere ihtiyaç duyduğunu belirleme becerisi. 1
3 Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. 2
4 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. 1
5 Karmaşık bir sistemi, süreci, cihazı veya ürününü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi 2
6 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 2
7 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. 2
8 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik,yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. 2
9 Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. 2
10 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. 2
11 Bilişim uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın bilişim alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. 2
12 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; bilişim uygulamalarında kullanılan standartlar hakkında bilgi. 2
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 50
Kısa Sınav 0 0
Ödev 10 35
Devam 0 0
Uygulama 0 0
Labaratuvar 0 0
Proje 1 50
Atölye 0 0
Seminer 1 15
Arazi Çalışması 0 0
Sözlü sınav 0 0
Portfolyo 0 0
Doküman İncelemesi 0 0
Performans değerlendirme 0 0
Sunum 0 0
Alan Çalışması 0 0
Vaka Çalışması 0 0
Video Kaydı 0 0
Öz değerlendirme 0 0
Akran Değerlendirme 0 0
Eşleştirme Testleri 0 0
Çoktan seçmeli test 0 0
Kısa Cevaplı test 0 0
Kontrol listeleri 0 0
Dereceleme Ölçekleri 0 0
Zihin Haritalama 0 0
Araştırma yazısı 0 0
Çevrimiçi anket 0 0
Çevrimiçi Kısa sınav 0 0
TOPLAM 0
Yıliçinin Başarıya Oranı 40
Finalin Başarıya Oranı 60
TOPLAM 100
AKTS kredilerinin belirlenmesinde öğrenci işyükü anketlerinden faydalanılmaktadır.
Etkinlik Sayısı Süresi Toplam
Ders Süresi (Sınav Haftaları Hariç) 0 0 0
Sınıf Dışı Ders Çalışma Süresi 0 0 0
Ödevler 10 4 40
Sunum 1 20 20
Proje 1 20 20
Laboratuar Çalışması 0 0 0
Arazi ya da Alan Çalışması 0 0 0
Ara Sınavlar 0 0 0
Yarıyıl Sonu Sınavı 0 0 0
İşyükü Saati (30) 0
Toplam İşyükü / Saat 80    
Dersin Akts Kredisi 3    
Ders Notu The Pragmatic Programmer - First Edition Refactoring: Improving the Design of Existing Code - Second Edition Design Patterns: Elements of Reusable Object-Oriented Software Code Complete Effective Kafka: A Hands-On Guide to Building Robust and Scalable Event-Driven Applications with Code Examples in Java Main Memory Management on Relational Database Systems Prometheus: Up & Running: Infrastructure and Application Performance Monitoring Essential Scrum: A Practical Guide to the Most Popular Agile Process Akka In Action Test Automation Engineering Handbook: Learn and implement techniques for building robust test automation frameworks
Diğer Kaynaklar
Materyal
Dökümanlar
Ödevler
Sınavlar
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri