Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
Yazılım Geliştirme Temelleri | CPR 201 | 2 | 1 | 2 + 0 | 2 | 4,00 |
|
Ders Bilgileri |
Dersin Öğretim Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | |
Dersin Veriliş Biçimi | Yüz Yüze |
|
Dersin Öğrenme Kazanımları:
Bu dersi başarı ile tamamlayan öğrenciler: |
1. Yazılım geliştirme yaşam döngüsü süreçlerini tanımlar. |
2. Algoritma ve akış diyagramı oluşturur. |
3. Temel düzeyde yapısal programlama mantığını uygular. |
4. Kodlama sürecinde üretken yapay zeka araçlarını etik şekilde kullanır. |
5. Basit yazılım projeleri geliştirir ve dokümante eder. |
|
Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | Yok |
Daha Önce Alınmış Olması Önerilen Dersler | Yok |
|
Dersin Tanımı:
Bu ders, yazılım geliştirme yaşam döngüsünün temel aşamalarını öğretmeyi amaçlar. Planlama, analiz, tasarım, geliştirme, test, bakım ve dokümantasyon gibi süreçleri içeren yazılım geliştirme sürecinin temel bileşenleri tanıtılır. Öğrenciler, algoritma geliştirme, temel akış diyagramları oluşturma, yapısal programlama ilkeleri ve yazılımda modülerlik konularında bilgi ve beceri kazanır. |
|
Üretken Yapay Zeka Kullanımı:
Ders kapsamında öğrenciler, yazılım algoritmalarını tasarlarken üretken yapay zekadan nasıl destek alabileceklerini öğrenirler. ChatGPT, GitHub Copilot gibi araçlarla kod önerileri alma, açıklama üretme ve hata tespiti gibi işlevler deneyimlenir. |
|
Dersin İçeriği (Haftalık Konu Dağılımı): |
|
Hafta | Konu |
1 | Yazılım Geliştirme Yaşam Döngüsüne Giriş |
2 | Planlama ve Gereksinim Analizi |
3 | Algoritma Geliştirme Temelleri |
4 | Akış Diyagramları |
5 | Yapısal Programlamaya Giriş |
6 | Conditional Structures |
7 | Döngü Yapıları |
8 | Ara Sınav |
9 | Fonksiyonlar ve Modüler Programlama |
10 | Diziler ve Temel Veri Yapıları |
11 | Yazılımda Hata Ayıklama ve Test Süreci |
12 | Yapay Zeka Destekli Kodlama |
13 | Proje Geliştirme ve Belgeleme |
14 | Öğrenci Proje Sunumları |
|
Kaynaklar: |
Pressman, R. S., & Maxim, B. R. (2014). Software engineering: A practitioner's approach (8th ed.). McGraw-Hill Education. |
|
Diğer Kaynaklar: |
Wirth, N. (2005). Algorithms + data structures = programs. Prentice-Hall.
|
|
Öğretim Yöntem ve Teknikleri: |
Ders teorik anlatımlar, laboratuvar uygulamaları, proje temelli öğrenme ve yapay zekâ destekli mini uygulamalarla yürütülür. Öğrenciler bireysel ve grup çalışmaları ile projeler geliştirir.
Derse Devam Hakkında: Ara sınav ve final sınavlarının yanı sıra dönem boyunca gerçekleştirilmesi planlanan sınıf içi etkinliklere katılmayı tercih etmeyen ve verilen ödevleri teslim etmeyen öğrencilerin “NA” notu alacaklardır. Ayrıca, öğrencilerin derse katılımlarının nihai dönem notuna dahil edilecektir. |
|
Değerlendirme Sistemi: |
Yöntem | Adet | Katkı (%) |
Ara Sınav | 1 | %30 |
Final Projesi | 1 | %30 |
Final Sınavı | 1 | %40 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |
|
Dersin AKTS İş Yükü:
|
# | Aktivite | Adet | Süre (Saat) | İş Yükü |
1 | Derslere Katılım (haftalık bazda) | 14 | 2,00 | 28,00 |
2 | Laboratuvarlara/Derslere Katılım (haftalık bazda) | 0 | 0,00 | 0,00 |
3 | Notların önceden hazırlanması ve son haline getirilmesi (haftalık bazda) | 0 | 0,00 | 0,00 |
4 | İlgili materyalin toplanması ve seçilmesi (bir kez) | 0 | 0,00 | 0,00 |
5 | İlgili materyalin kendi kendine incelenmesi (haftalık bazda) | 10 | 2,00 | 20,00 |
6 | Ev ödevleri | 0 | 0,00 | 0,00 |
7 | Sınavlara Hazırlık | 0 | 0,00 | 0,00 |
8 | Ara Sınavlara Hazırlık (Sınavların süresi dahil) | 1 | 15,00 | 15,00 |
9 | Dönem Ödevi/Vaka Çalışması Raporunun Hazırlanması (sözlü sunum dahil) | 0 | 0,00 | 0,00 |
10 | Dönem Projesi/Saha Çalışması Raporunun Hazırlanması (sözlü sunum dahil) | 1 | 20,00 | 20,00 |
11 | Final Sınavına Hazırlık (sınav süresi dahil) | 1 | 15,00 | 15,00 |
|
Dersin Program Yeterlilikleri vs. Öğrenme Kazanımları:
|
# | Program Yeterlilikleri | Katkı (0-4) |
1 | Bilgisayar sistemlerinde yeterli altyapıya sahip olma; bu alandaki kuramsal ve uygulamalı bilgileri bilgisayar sistemlerinde kullanabilme becerisi, Bilgisayar sistemindeki problemleri saptama, tanımlama ve çözme becerisi; bu amaçla uygun yöntemler ve tekniklerini seçme ve uygulama becerisi | 2 |
2 | Bir sistemi, sistem bileşenini ya da süreci analiz etme ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlama becerisi; bu doğrultuda modern tasarım yöntemlerini uygulama becerisi, Bilgisayar programında gerekli olan teknik araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin kullanma becerisi | 2 |
3 | Bilgisayar Teknolojileri ve Programlama alanında tanımı iyi yapılmış problemlerin çözümü için gerekli olan verileri tanımlama, toplama ve kullanmayı etkin bir biçimde yapabilmek; pratik uygulamalarda gereken teorik bilgileri, el ve/veya düşünsel becerileri kullanabildiğini göstermek | 1 |
4 | İleri düzey programlama becerisi kazanır. Güncel bilgisayar programlama teknolojilerini kullanarak sektörün beklentilerini karşılayacak şekilde Bilgisayar Programcılığı ile ilgili süreci/süreçleri planlama becerisine sahip olmak. | 3 |
5 | Bağımsız çalışabilme, inisiyatif alabilme, özgün içerikler oluşturabilme ve yazılım takımları içinde verimli çalışabilme becerisine sahip olmak. | 1 |
6 | Türkçeyi ve İngilizce yazılı ve sözlü olarak etkin bir biçimde kullanabilme, sunulan Bilgisayar Programcılığı bilgisini kolayca takip etme ve meslektaşlarıyla etkin bir biçimde iletişim kurabilme becerisine sahip olmak. | 2 |
7 | Sorunların çözümünde bilimsel yöntemler kullanmayı benimser ve problem çözme becerisini geliştirir. | 1 |
8 | Bilgiye erişebilmeye bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi, Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | 2 |
9 | Kendi alanı ile ilgili çalışmalarda öngörülmeyen durumlarla ilgili sorunları belirleme ve çözüm arama yeteneğini kazandığını göstermek | 1 |
10 | Bilgiye erişebilme bilimde ve teknolojide gelişmeleri takip edebilme ve sürekli kişisel gelişimi sürdürebilme becerisine sahip olmak | 0 |
11 | Mesleki, hukuksal, sosyal ve etik sorumluluklarını anlayabilir ve uygular. | 0 |