Bilgisayar Programcılığı
Dersin Ayrıntıları

KTO KARATAY ÜNİVERSİTESİ
Ticaret ve Sanayi Meslek Yüksekokulu
Bilgisayar Programcılığı Programı
Ders Bolognaları
Ticaret ve Sanayi Meslek Yüksekokulu
Bilgisayar Programcılığı Programı
Ders Bolognaları

| Ders Kodu | Ders Adı | Yıl | Dönem | Yarıyıl | T+U+L | Kredi | AKTS |
|---|---|---|---|---|---|---|---|
| 03841197 | Yazılım Mimarileri | 2 | Bahar | 4 | 2+1+0 | 5 | 5 |
| Dersin Türü | Seçmeli |
| Dersin Düzeyi | Önlisans (TYYÇ: 5. Düzey / QF-EHEA: Kısa Düzey / EQF-LLL: 5. Düzey) |
| Dersin Dili | Türkçe |
| Yöntem ve Teknikler | 1. Teorik Anlatım: Konular ders kapsamında teorik olarak anlatılır. Öğrenciler programlamanın temel kavramlarını ve algoritmaların mantığını kavrayabilmeleri için konu anlatımları dinler. 2. Uygulamalı Çalışmalar: Öğrenciler, teorik olarak anlatılan konuların uygulamasını yapmak için ders eğitmeni mentorlüğünde çeşitli örneklerle çalışmalar gerçekleştirir. Kazanımlar elde edilmeye çalışılır. 3. Adım Adım Çözümleme: Karşılaşılan problemler adım adım çözülerek her adımın nasıl işlediği açıklanır. Bu yöntemle öğrencilerin konulara daha hakim olması sağlanır. 4.Gerçek Hayat Örnekleri: Konuların daha iyi anlaşılması için gerçek hayattan örnekler ve problem senaryoları sunulur. Böylece öğrenciler öğrendiklerini pratikte nasıl kullanacağını görür. 5. Laboratuvar Föyleri ve Quizler: Haftalık laboratuvar föyleri ve sınav öncesi quizler ile öğrencilerin ilerlemesi değerlendirilir, konuların anlaşılıp anlaşılmadığı takip edilir. |
| Dersin Veriliş Şekli | Yüz Yüze |
| Ön Koşullar | Dersin herhangi bir ön koşulu bulunmamaktadır. Tüm öğrencilere temel seviyeden başlanarak eğitim verilmektedir. |
| Dersin Koordinatörü | - |
| Dersi Veren(ler) | Öğr.Gör. Uğur POLAT |
| Yardımcı(lar) | - |
Dersin Öğretim Eleman(lar)ı
| Adı Soyadı | Oda No. | E-Posta Adresi | Dahili | Görüşme Saatleri |
|---|---|---|---|---|
| Öğr.Gör. Uğur POLAT | TSMYO-T213 | [email protected] | 7860 | Pazartesi 15.00-16.00 |
Dersin İçeriği
1. Yazılım Mimarisi Temel Kavramları
2. Yazılım Geliştirme Süreç Modelleri ve Mimarinin Yeri
3. Yazılım Mimari Desenleri
4. Katmanlı Mimari
5. Servis Yönelimli Mimari (SOA) ve Mikroservis Mimarisi
6. Dağıtık Sistemler ve Bulut Tabanlı Mimariler
7. Yazılım Tasarım Desenleri
8. Performans, Güvenlik ve Ölçeklenebilirlik
9. Sürdürülebilirlik ve Sürdürülmesi Kolay Mimariler
10. Test Edilebilirlik ve Uygulama İzleme
11. Gerçek Hayattan Mimariler ve Vaka Analizleri
12. Proje Çalışmaları ve Pratik Uygulamalar
2. Yazılım Geliştirme Süreç Modelleri ve Mimarinin Yeri
3. Yazılım Mimari Desenleri
4. Katmanlı Mimari
5. Servis Yönelimli Mimari (SOA) ve Mikroservis Mimarisi
6. Dağıtık Sistemler ve Bulut Tabanlı Mimariler
7. Yazılım Tasarım Desenleri
8. Performans, Güvenlik ve Ölçeklenebilirlik
9. Sürdürülebilirlik ve Sürdürülmesi Kolay Mimariler
10. Test Edilebilirlik ve Uygulama İzleme
11. Gerçek Hayattan Mimariler ve Vaka Analizleri
12. Proje Çalışmaları ve Pratik Uygulamalar
Dersin Amacı
Bu dersin amacı, öğrencilere yazılım sistemlerinin tasarımında kullanılan temel mimari prensipleri ve desenleri tanıtarak, karmaşık yazılım projelerinde etkili ve sürdürülebilir çözümler geliştirmeyi öğretmektir. Ders, yazılım mimarilerinin nasıl tasarlandığını, analiz edildiğini ve uygulandığını anlamak için gerekli bilgi ve becerileri kazandırmayı hedefler.
Ders kapsamında, öğrencilere yazılım mimarisi türleri, tasarım desenleri, katmanlı mimari, istemci-sunucu mimarisi, mikroservisler, servis yönelimli mimari (SOA-Service-oriented Architecture) gibi yaygın mimari yaklaşımlar tanıtılacaktır. Ayrıca, performans, güvenlik, ölçeklenebilirlik ve esneklik gibi yazılım sistemlerinin mimari gereksinimlerini karşılama yöntemleri üzerinde durulacaktır.
Dersin sonunda öğrenciler, projelere uygun mimari tasarım kararları verebilme, yüksek kaliteli ve sürdürülebilir yazılım sistemleri geliştirme ve mevcut sistemleri optimize etme becerisi kazanacaklardır.
Ders kapsamında, öğrencilere yazılım mimarisi türleri, tasarım desenleri, katmanlı mimari, istemci-sunucu mimarisi, mikroservisler, servis yönelimli mimari (SOA-Service-oriented Architecture) gibi yaygın mimari yaklaşımlar tanıtılacaktır. Ayrıca, performans, güvenlik, ölçeklenebilirlik ve esneklik gibi yazılım sistemlerinin mimari gereksinimlerini karşılama yöntemleri üzerinde durulacaktır.
Dersin sonunda öğrenciler, projelere uygun mimari tasarım kararları verebilme, yüksek kaliteli ve sürdürülebilir yazılım sistemleri geliştirme ve mevcut sistemleri optimize etme becerisi kazanacaklardır.
Dersin Alan Öğretimini Sağlamaya Yönelik Katkısı
| Temel Meslek Dersleri | |
| Uzmanlık / Alan Dersleri | X |
| Destek Dersleri | |
| Aktarılabilir Beceri Dersleri | X |
| Beşeri, İletişim ve Yönetim Becerileri Dersleri |
Dersin Öğrenim Kazanımlarının Program Kazanımları ile Olan İlişkileri
| İlişki Düzeyleri | ||||
| En Düşük | Düşük | Orta | Yüksek | En Yüksek |
| 1 | 2 | 3 | 4 | 5 |
| # | Program Yeterlilikleri | Düzey |
|---|---|---|
| P4 | Mesleği ile ilgili bilişim teknolojilerini (yazılım, program, animasyon vb.) etkin kullanır. | 5 |
| P1 | Mesleği ile ilgili temel, güncel ve uygulamalı bilgilere sahip olur. | 5 |
| P3 | Mesleği için güncel gelişmeleri ve uygulamaları takip eder, etkin şekilde kullanır. | 4 |
| P5 | Mesleki problemleri ve konuları bağımsız olarak analitik ve eleştirel bir yaklaşımla değerlendirme ve çözüm önerisini sunabilme becerisine sahiptir. | 4 |
| P6 | Bilgi ve beceriler düzeyinde düşüncelerini yazılı ve sözlü iletişim yolu ile etkin biçimde sunabilir, anlaşılır biçimde ifade eder. | 3 |
| P11 | Algoritma ve veri yapılarını oluşturur ve matematiksel hesapları yapar. | 4 |
| P14 | Yazılımları test eder ve hataları giderir. | 5 |
Dersin Öğrenim Kazanımları
| Bu dersin başarılı bir şekilde tamamlanmasıyla öğrenciler şunları yapabileceklerdir: | |||
|---|---|---|---|
| No | Öğrenme Çıktıları | Prog. Yet. İlişkisi | Ölçme Yöntemi ** |
| Ö1 | Bilgisayar temel elemanlarını bilir. | P.1.1 | 1,6,7 |
| Ö2 | İnternet kullanımını ve araştırma yapmayı bilir. | P.1.2 | 1,6,7 |
| Ö3 | Mesleği ile ilgili temel matematiksel çözümlemeleri yapabilir. | P.1.3 | 1,6,7 |
| Ö4 | Veri analizi ile ilgili güncel teknikleri bilir. | P.3.1 | 1,6,7 |
| Ö5 | Güncel yazılım geliştirme platformlarını bilmeli ve kullanır. | P.3.2 | 6,7 |
| Ö6 | Temel analiz bilgilerine sahip olur. | P.3.5 | 1,6,7 |
| Ö7 | Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. | P.11.1 | 1,6,7 |
| Ö8 | Güncel Bilişim Teknolojileri platformlarını bilir ve kullanır. | P.11.2 | 1,6,7 |
| Ö9 | Güncel programlama dilleri hakkında bilgi sahibidir. | P.11.3 | 1,6,7 |
| Ö10 | Yazılımları test eder ve hataları giderir. | P.14.1 | 1,6,7 |
| ** Yazılı Sınav: 1, Sözlü Sınav: 2, Ev Ödevi: 3, Lab./Sınav: 4, Seminer/Sunum: 5, Dönem Ödevi: 6, Uygulama: 7 | |||
Dersin Haftalık İçeriği
| Hafta | Konu |
|---|---|
| 1 | Yazılım Mimarisi Temel Kavramları |
| 2 | Yazılım Geliştirme Süreç Modelleri ve Mimarinin Yeri |
| 3 | Yazılım Mimari Desenleri |
| 4 | Katmanlı Mimari |
| 5 | Servis Yönelimli Mimari (SOA) ve Mikroservis Mimarisi |
| 6 | Dağıtık Sistemler ve Bulut Tabanlı Mimariler |
| 7 | Sınav Öncesi Quiz ve Genel Tekrar |
| 8 | Ara Sınav |
| 9 | Yazılım Tasarım Desenleri |
| 10 | Performans, Güvenlik ve Ölçeklenebilirlik |
| 11 | Sürdürülebilirlik ve Sürdürülmesi Kolay Mimariler |
| 12 | Test Edilebilirlik ve Uygulama İzleme |
| 13 | Gerçek Hayattan Mimariler ve Vaka Analizleri |
| 14 | Proje Çalışmaları ve Pratik Uygulamalar |
| 15 | Sınav Öncesi Quiz ve Genel Tekrar |
| 16 | Final Sınavı |
Ders Kitabı veya Malzemesi
| Kaynaklar | Len Bass, Paul Clements, Rick Kazman, "Software Architecture in Practice", 3rd Edition |
| Humberto Cervantes, Rick Kazman, "Designing Software Architectures: A Practical Approach" |
Değerlendirme Yöntemi ve Geçme Kriterleri
| Yarıyıl Çalışmaları | Sayısı | Katkı (%) |
|---|---|---|
| Devam | - | - |
| Laboratuvar | - | - |
| Uygulama | - | - |
| Alan Çalışması | - | - |
| Derse Özgü Staj (Varsa) | - | - |
| Ödev | - | - |
| Sunum | - | - |
| Projeler | 1 | 20 (%) |
| Seminer | - | - |
| Kısa sınav (Quiz) | 2 | 10 (%) |
| Dinleme | - | - |
| Ara Sınavlar | 1 | 30 (%) |
| Yarıyıl Sonu Sınavı | 1 | 40 (%) |
| Toplam | 100 (%) | |
AKTS / Çalışma Yükü Tablosu
| Etkinlik | Sayı | Süre | Toplam İş Yükü (Saat) |
|---|---|---|---|
| Ders Hafta Sayısı ve Saati | 16 | 4 | 64 |
| Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, Kütüphane, Pekiştirme) | 14 | 2 | 28 |
| Ara Sınav | 1 | 6 | 6 |
| Kısa Sınav | 2 | 1 | 2 |
| Ödev | 0 | 0 | 0 |
| Uygulama | 0 | 0 | 0 |
| Laboratuvar | 0 | 0 | 0 |
| Proje | 1 | 32 | 32 |
| Atölye | 0 | 0 | 0 |
| Sunum/Seminer Hazırlama | 1 | 4 | 4 |
| Alan Çalışması | 0 | 0 | 0 |
| Dönem Sonu Sınavı | 1 | 16 | 16 |
| Diğer | 0 | 0 | 0 |
| Toplam İş Yükü: | 152 | ||
| Toplam Yük / 30 | 5,07 | ||
| Dersin AKTS Kredisi: | 5 | ||
Ders - Öğrenme Çıktıları İlişkisi
| İlişki Düzeyleri | ||||
| En Düşük | Düşük | Orta | Yüksek | En Yüksek |
| 1 | 2 | 3 | 4 | 5 |
| # | Öğrenme Çıktıları | P1 | P3 | P11 | P14 |
|---|---|---|---|---|---|
| Ö1 | Bilgisayar temel elemanlarını bilir. | 5 | - | - | - |
| Ö2 | İnternet kullanımını ve araştırma yapmayı bilir. | 4 | - | - | - |
| Ö3 | Mesleği ile ilgili temel matematiksel çözümlemeleri yapabilir. | 4 | - | - | - |
| Ö4 | Veri analizi ile ilgili güncel teknikleri bilir. | - | 5 | - | - |
| Ö5 | Güncel yazılım geliştirme platformlarını bilmeli ve kullanır. | - | 5 | - | - |
| Ö6 | Temel analiz bilgilerine sahip olur. | - | 5 | - | - |
| Ö7 | Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. | - | - | 5 | - |
| Ö8 | Güncel Bilişim Teknolojileri platformlarını bilir ve kullanır. | - | - | 5 | - |
| Ö9 | Güncel programlama dilleri hakkında bilgi sahibidir. | - | - | 5 | - |
| Ö10 | Yazılımları test eder ve hataları giderir. | - | - | - | 5 |
