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 |
|---|---|---|---|---|---|---|---|
| 03841190 | Versiyonlama Araçları | 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. Versiyon Kontrole Giriş ve Temel Kavramlar
2. Git ve Temel Komutlar
3. Dallanma ve Birleştirme (Branching and Merging)
4. Versiyon Geçmişi ve Geri Alma İşlemleri
5. GitHub ve Diğer Uzaktan Depo Sistemleri
6. İleri Seviye Dallanma ve Birleştirme İşlemleri
7. Git Akışı (Git Flow) ve Diğer İş Akışları
8. Etiketleme (Tagging) ve Sürüm Yönetimi
9. Çatışma Yönetimi ve Çatışma Çözme Teknikleri
10. Yedekleme, Yükleme ve Güvenlik Yönetimi
11. Proje Yönetimi ve Kod İnceleme Süreci
12. Dönem Projesi ve Sunumlar
2. Git ve Temel Komutlar
3. Dallanma ve Birleştirme (Branching and Merging)
4. Versiyon Geçmişi ve Geri Alma İşlemleri
5. GitHub ve Diğer Uzaktan Depo Sistemleri
6. İleri Seviye Dallanma ve Birleştirme İşlemleri
7. Git Akışı (Git Flow) ve Diğer İş Akışları
8. Etiketleme (Tagging) ve Sürüm Yönetimi
9. Çatışma Yönetimi ve Çatışma Çözme Teknikleri
10. Yedekleme, Yükleme ve Güvenlik Yönetimi
11. Proje Yönetimi ve Kod İnceleme Süreci
12. Dönem Projesi ve Sunumlar
Dersin Amacı
Bu dersin amacı, öğrencilere yazılım geliştirme süreçlerinde kullanılan versiyon kontrol araçlarının temellerini, çalışma prensiplerini ve uygulama yöntemlerini öğretmektir. Ders kapsamında, öğrenciler merkezi ve dağıtık versiyon kontrol sistemlerinin (örneğin, Git ve SVN) özelliklerini tanıyacak, sürüm yönetim sürecinde yapılan değişikliklerin izlenmesi ve kaydedilmesi, dallanma ve birleştirme işlemleri gibi konular üzerinde bilgi sahibi olacaklardır.
Öğrenciler ayrıca, ekip içinde işbirliği yaparak kod paylaşımı, geri alma ve çatışma çözme gibi süreçleri yönetmeyi ve proje geçmişini etkili bir şekilde kontrol altında tutmayı öğreneceklerdir. Ders sonunda öğrenciler, versiyon kontrol araçlarını projelerinde güvenli ve düzenli bir şekilde kullanarak yazılım geliştirme süreçlerinde profesyonel bir iş akışı oluşturabileceklerdir. Bu ders, öğrencilerin modern yazılım geliştirme projelerinde etkin bir ekip üyesi olmalarını sağlamak için temel bir yetkinlik kazandırmayı hedeflemektedir.
Öğrenciler ayrıca, ekip içinde işbirliği yaparak kod paylaşımı, geri alma ve çatışma çözme gibi süreçleri yönetmeyi ve proje geçmişini etkili bir şekilde kontrol altında tutmayı öğreneceklerdir. Ders sonunda öğrenciler, versiyon kontrol araçlarını projelerinde güvenli ve düzenli bir şekilde kullanarak yazılım geliştirme süreçlerinde profesyonel bir iş akışı oluşturabileceklerdir. Bu ders, öğrencilerin modern yazılım geliştirme projelerinde etkin bir ekip üyesi olmalarını sağlamak için temel bir yetkinlik kazandırmayı hedeflemektedir.
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 |
| P9 | Alanı ile ilgili verilerin toplanması, uygulanması ve sonuçlarının duyurulması aşamalarında toplumsal, bilimsel, kültürel ve etik değerlere sahiptir. | 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,4,7 |
| Ö2 | Güncel yazılım dilleri hakkında bilgi sahibi olur. | P.4.5 | 1,4,7 |
| Ö3 | İnternet kullanımını ve araştırma yapmayı bilir. | P.1.2 | 1,6,7 |
| Ö4 | Mesleği ile ilgili temel matematiksel çözümlemeleri yapabilir. | P.1.3 | 1,6,7 |
| Ö5 | Güncel yazılım geliştirme platformlarını bilmeli ve kullanır. | P.3.2 | 1,7 |
| Ö6 | Karmaşık problemleri analiz eder ve çözüm stratejileri geliştirir | P.3.4 | 1,7 |
| Ö7 | Temel analiz bilgilerine sahip olur. | P.3.5 | 1,7 |
| Ö8 | Yazılımları test eder ve hataları giderir. | P.5.1 | 1,4,7 |
| Ö9 | Sorunların tespiti için analitik etkin araştırma ve çözüm tekniklerini bilir. | P.5.2 | 1,4,7 |
| Ö10 | Alternatif çözüm yollarını değerlendirir ve en uygun olanını seçer | P.5.3 | 1,4,7 |
| Ö11 | Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. | P.11.1 | 1,5,6,7 |
| Ö12 | Güncel Bilişim Teknolojileri platformlarını bilir ve kullanır. | P.11.2 | 1,5,6,7 |
| Ö13 | Güncel programlama dilleri hakkında bilgi sahibidir. | P.11.3 | 1,5,6,7 |
| Ö14 | Dijital Sistemler alanında bilgi sahibidir. | P.11.7 | 1,5,6,7 |
| Ö15 | Yazılımları test eder ve hataları giderir. | P.14.1 | 1,5,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 | Versiyon Kontrole Giriş ve Temel Kavramlar |
| 2 | Git ve Temel Komutlar |
| 3 | Dallanma ve Birleştirme (Branching and Merging) |
| 4 | Versiyon Geçmişi ve Geri Alma İşlemleri |
| 5 | GitHub ve Diğer Uzaktan Depo Sistemleri |
| 6 | İleri Seviye Dallanma ve Birleştirme İşlemleri |
| 7 | Sınav Öncesi Quiz ve Genel Tekrar |
| 8 | Ara Sınav |
| 9 | Git Akışı (Git Flow) ve Diğer İş Akışları |
| 10 | Etiketleme (Tagging) ve Sürüm Yönetimi |
| 11 | Çatışma Yönetimi ve Çatışma Çözme Teknikleri |
| 12 | Yedekleme, Yükleme ve Güvenlik Yönetimi |
| 13 | Proje Yönetimi ve Kod İnceleme Süreci |
| 14 | Dönem Projesi ve Sunumlar |
| 15 | Sınav Öncesi Quiz ve Genel Tekrar |
| 16 | Final Sınavı |
Ders Kitabı veya Malzemesi
| Kaynaklar | Jon Loeliger ve Matthew McCullough, "Version Control with Git", 2nd Edition |
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 | 2 | 32 |
| Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, Kütüphane, Pekiştirme) | 14 | 4 | 56 |
| Ara Sınav | 1 | 6 | 6 |
| Kısa Sınav | 2 | 2 | 4 |
| Ö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ü: | 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 | P11 | P14 |
|---|---|---|---|---|---|---|---|
| Ö1 | İnternet kullanımını ve araştırma yapmayı bilir. | 5 | - | - | - | - | - |
| Ö2 | Mesleği ile ilgili temel matematiksel çözümlemeleri yapabilir. | 4 | - | - | - | - | - |
| Ö3 | Güncel yazılım geliştirme platformlarını bilmeli ve kullanır. | - | 5 | - | - | - | - |
| Ö4 | Karmaşık problemleri analiz eder ve çözüm stratejileri geliştirir | - | 5 | - | - | - | - |
| Ö5 | Temel analiz bilgilerine sahip olur. | - | 5 | - | - | - | - |
| Ö6 | Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. | - | - | 5 | - | - | - |
| Ö7 | Güncel yazılım dilleri hakkında bilgi sahibi olur. | - | - | 5 | - | - | - |
| Ö8 | Yazılımları test eder ve hataları giderir. | - | - | - | 3 | - | - |
| Ö9 | Sorunların tespiti için analitik etkin araştırma ve çözüm tekniklerini bilir. | - | - | - | 5 | - | - |
| Ö10 | Alternatif çözüm yollarını değerlendirir ve en uygun olanını seçer | - | - | - | 5 | - | - |
| Ö11 | Algoritma geliştirmeyi bilir ve algoritmaya uygun veri yapısı oluşturur. | - | - | - | - | 5 | - |
| Ö12 | Güncel Bilişim Teknolojileri platformlarını bilir ve kullanır. | - | - | - | - | 4 | - |
| Ö13 | Güncel programlama dilleri hakkında bilgi sahibidir. | - | - | - | - | 5 | - |
| Ö14 | Dijital Sistemler alanında bilgi sahibidir. | - | - | - | - | 5 | - |
| Ö15 | Yazılımları test eder ve hataları giderir. | - | - | - | - | - | 5 |
