İşleminiz Devam Ediyor.
Lütfen Bekleyiniz...
Dersin Ayrıntıları
KTO KARATAY ÜNİVERSİTESİ
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
03841205 Yazılım Geliştirme Teknikleri 2 Bahar 4 3+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 Geliştirme Sürecine Giriş
2. Çevik (Agile) Yazılım Geliştirme
3. Nesne Yönelimli Programlama (OOP) İlkeleri
4. Yazılım Tasarımı ve Mimarisi
5. Versiyon Kontrol Sistemleri
6. Test Odaklı Geliştirme (TDD) ve Yazılım Testi
7. Sürekli Entegrasyon ve Sürekli Teslim (CI/CD)
8. Yazılım Güvenliği ve Güvenli Kodlama Teknikleri
9. Veri Yönetimi ve Veritabanı Tasarımı
10. API Geliştirme ve Entegrasyon Teknikleri
11. Yazılım Projelerinde Dokümantasyon
12. Proje Geliştirme ve Final Sunumu
Dersin Amacı
Bu dersin amacı, öğrencilere yazılım geliştirme süreçlerini daha etkin ve verimli bir şekilde yürütebilmeleri için gerekli teknikleri öğretmek ve yazılım projelerinde profesyonel beceriler kazandırmaktır. Ders kapsamında öğrenciler, yazılım geliştirme yaşam döngüsü, proje yönetimi, yazılım tasarımı, versiyon kontrolü, test otomasyonu ve dokümantasyon gibi temel konularla ilgili bilgi sahibi olacaklardır.

Öğrenciler, nesne yönelimli programlama, çevik (agile) metodolojiler, DevOps uygulamaları, test odaklı geliştirme (TDD) ve sürekli entegrasyon/sürekli teslim (CI/CD) gibi güncel teknikleri öğrenerek yazılım projelerinde uygulayacaklardır. Dersin sonunda, yazılım geliştirme sürecinde etkin rol alabilecek ve ekip çalışmasında kullanılan modern araçlarla yazılım projelerini sürdürebilecek seviyeye geleceklerdir.

Bu ders, öğrencilerin yazılım geliştirme süreçlerinde analitik düşünme, problem çözme ve kaliteli yazılım üretme yetkinliklerini artırmayı amaçlar ve onları sektördeki yazılım geliştirme süreçlerine hazırlar.
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. 5
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 Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. P.4.1 1,6,7
Ö2 Bilgisayar temel elemanlarını bilir. P.1.1 1,6,7
Ö3 İnternet kullanımını ve araştırma yapmayı bilir. P.1.2 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 1,6,7
Ö6 Yazılımları test eder ve hataları giderir. P.5.1 1,6,7
Ö7 Sorunların tespiti için analitik etkin araştırma ve çözüm tekniklerini bilir. P.5.2 6,7
Ö8 MS Office araçlarından en az birini kullanmayı bilir. P.6.2 6,7
Ö9 Proje yönetimi konusunda bilgiye sahiptir. P.7.1 6,7
Ö10 Proje dahilinde sorunlara çözüm önerisi getirir. P.7.2 6,7
Ö11 Proje geliştirme, test ve bakım gibi faklı aşamalarında çalışabilme yeteneğine sahiptir. P.7.3 6,7
Ö12 Bireysel olarak ve çok disiplinli takımlarda etkin çalışır. P.7.4 6,7
Ö13 Alanıyla ilgili çevrimiçi bilgi kaynaklarını, veri tabanlarını ve iletişim kanallarını etkili bir biçimde kullanabilmek. P.7.5 6,7
Ö14 Karmaşık problemleri ele alır ve yaratıcı çözümler üretir P.3.3 1,6,7
Ö15 Karmaşık problemleri analiz eder ve çözüm stratejileri geliştirir P.3.4 1,6,7
Ö16 Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. P.11.1 1,6,7
Ö17 Güncel Bilişim Teknolojileri platformlarını bilir ve kullanır. P.11.2 1,6,7
Ö18 Yazılımları test eder ve hataları giderir. P.14.1 1,6,7
Ö19 Mesleği ile ilgili temel matematiksel çözümlemeleri yapabilir. P.1.3 1,6,7
Ö20 Güncel yazılım dilleri hakkında bilgi sahibi olur. P.4.5 6,7
Ö21 Topluluk önünde kendinden emin bir şekilde konuşur ve sunum yapar P.6.4 6,7
Ö22 Temel analiz bilgilerine sahip olur. P.3.5 1,6,7
Ö23 Dijital Sistemler alanında bilgi sahibidir. P.11.7 6,7
Ö24 Eleştirel düşünme becerilerini kullanarak bilgisayar bilimiyle ilgili konuları ve algoritmaları değerlendirir P.5.4 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 Geliştirme Sürecine Giriş
2 Çevik (Agile) Yazılım Geliştirme
3 Nesne Yönelimli Programlama (OOP) İlkeleri
4 Yazılım Tasarımı ve Mimarisi
5 Versiyon Kontrol Sistemleri
6 Test Odaklı Geliştirme (TDD) ve Yazılım Testi
7 Sınav Öncesi Quiz ve Genel Tekrar
8 Ara Sınav
9 Sürekli Entegrasyon ve Sürekli Teslim (CI/CD)
10 Yazılım Güvenliği ve Güvenli Kodlama Teknikleri
11 Veri Yönetimi ve Veritabanı Tasarımı
12 API Geliştirme ve Entegrasyon Teknikleri
13 Yazılım Projelerinde Dokümantasyon
14 Proje Geliştirme ve Final Sunumu
15 Sınav Öncesi Quiz ve Genel Tekrar
16 Final Sınavı
Ders Kitabı veya Malzemesi
Kaynaklar Robert C. Martin, "Clean Code: A Handbook of Agile Software Craftsmanship"
Andrew Hunt, David Thomas, "The Pragmatic Programmer: Your Journey to Mastery"
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 30 30
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ü: 150
Toplam Yük / 30 5
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 P4 P5 P6 P7 P11 P14
Ö1 Bilgisayar temel elemanlarını bilir. - - - - - - - -
Ö2 İnternet kullanımını ve araştırma yapmayı bilir. - - - - - - - -
Ö3 Mesleği ile ilgili temel matematiksel çözümlemeleri yapabilir. - - - - - - - -
Ö4 Veri analizi ile ilgili güncel teknikleri bilir. - - - - - - - -
Ö5 Güncel yazılım geliştirme platformlarını bilmeli ve kullanır. - - - - - - - -
Ö6 Karmaşık problemleri ele alır ve yaratıcı çözümler üretir - - - - - - - -
Ö7 Karmaşık problemleri analiz eder ve çözüm stratejileri geliştirir - - - - - - - -
Ö8 Temel analiz bilgilerine sahip olur. - - - - - - - -
Ö9 Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. - - - - - - - -
Ö10 Güncel yazılım dilleri hakkında bilgi sahibi olur. - - - - - - - -
Ö11 Yazılımları test eder ve hataları giderir. - - - - - - - -
Ö12 Sorunların tespiti için analitik etkin araştırma ve çözüm tekniklerini bilir. - - - - - - - -
Ö13 Eleştirel düşünme becerilerini kullanarak bilgisayar bilimiyle ilgili konuları ve algoritmaları değerlendirir - - - - - - - -
Ö14 MS Office araçlarından en az birini kullanmayı bilir. - - - - - - - -
Ö15 Topluluk önünde kendinden emin bir şekilde konuşur ve sunum yapar - - - - - - - -
Ö16 Proje yönetimi konusunda bilgiye sahiptir. - - - - - - - -
Ö17 Proje dahilinde sorunlara çözüm önerisi getirir. - - - - - - - -
Ö18 Proje geliştirme, test ve bakım gibi faklı aşamalarında çalışabilme yeteneğine sahiptir. - - - - - - - -
Ö19 Bireysel olarak ve çok disiplinli takımlarda etkin çalışır. - - - - - - - -
Ö20 Alanıyla ilgili çevrimiçi bilgi kaynaklarını, veri tabanlarını ve iletişim kanallarını etkili bir biçimde kullanabilmek. - - - - - - - -
Ö21 Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. - - - - - - - -
Ö22 Güncel Bilişim Teknolojileri platformlarını bilir ve kullanır. - - - - - - - -
Ö23 Dijital Sistemler alanında bilgi sahibidir. - - - - - - - -
Ö24 Yazılımları test eder ve hataları giderir. - - - - - - - -