BİLGİSAYAR PROGRAMCILIĞI
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 2000002012
Ders İsmi: Tasarım Kalılpları
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 3
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm Seçmeli
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Öğr.Gör. Esma TAYRAN
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, yüksek kaliteli yazılım geliştirme odaklı tasarım kalıpları kavramlarını tanıtmak ve bu kalıpları uygulama yöntemlerini açıklamaktır. Bu ders, mevcut yazılım geliştirme kavramlarını ve yöntemlerini tartışır.
Dersin İçeriği: Tasarım kalıplarına giriş, yapısal kalıplar, davranış kalıpları, analiz kalıpları, mimari kalıplar, test hazırlığı, yeniden yapılanma.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Bazı tasarım desenlerini tanımlama ve tanıma
2) Tasarım problemlerine uygun tasarım kalıplarını tanımlamak
3) Tasarım desenlerini kullanarak kötü tasarlanmış yazılımı yeniden yapılandırın
4) Tasarım desenlerini uygula
5) Tasarım desenlerini karşılaştırmak ve hangi tasarım deseninin kullanılması gerektiğini açıklamak.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Nesne Yönelimli Programlama Genel Tekrar Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
2) UML Genel Tekrar Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
3) Tasarım Desenlerine Giriş Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
4) Yaratımsal Desenler Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
5) Factory’ler and Prototipler Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
6) Singleton and Yapıcılar Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
7) Factory’ler and Prototipler Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
8) Ara Sınav Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
9) Adaptör and Köprüler Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
10) Composer and Deloratörler Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
11) Facade ve Flyweight Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
12) Sorumluluk Zinciri Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
13) Itterator, Observer ve State Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
14) Anti-desenler Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
15) Final Sınavı Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004

Kaynaklar

Ders Notları / Kitaplar: Design Patterns: Elements of Reusable Object Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison -Wesley Professional, 1995
Design Patterns – Elements of Reusable OO Software, Erich Gamma et.al (Gang of Four), Addison-Wesley, 1994
Refactoring: Improving the Design of Existing Code, Martin Fowler. Addison-Wesley, 1999
Diğer Kaynaklar: Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004
Design Patterns – Elements of Reusable OO Software, Erich Gamma et.al (Gang of Four), Addison-Wesley, 1994
Refactoring: Improving the Design of Existing Code, Martin Fowler. Addison-Wesley, 1999

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

Program Kazanımları
1) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak.
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak.
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak.
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak.
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak.
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak.
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak. 1
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak. 2
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak. 1
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak. 1
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak. 1
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak. 1
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak. 2

Öğrenme Etkinliği ve Öğretme Yöntemleri

Alan Çalışması
Akran Değerlendirmesi
Anlatım
Beyin fırtınası /Altı şapka
Bireysel çalışma ve ödevi
Ders
Grup çalışması ve ödevi
Okuma
Ödev

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Sözlü sınav
Ödev
Uygulama
Bireysel Proje
Grup Projesi
Sunum
Raporlama
Bilgisayar Destekli Sunum

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ara Sınavlar 1 % 40
Yarıyıl/Yıl Sonu Sınavı 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Sınıf Dışı Ders Çalışması 14 2 28
Ara Sınavlar 1 10 10
Final 1 10 10
Toplam İş Yükü 76