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 |
---|---|---|---|---|---|---|---|
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
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.
Öğ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. | - | - | - | - | - | - | - | - |