Dersin Adı |
Tasarım Şablonları ve Yeniden Kod Düzenleme
|
Kodu
|
Yarıyıl
|
Teori
(saat/hafta) |
Uygulama/Lab
(saat/hafta) |
Yerel Kredi
|
AKTS
|
CE 611
|
Güz/Bahar
|
3
|
0
|
3
|
7.5
|
Ön-Koşul(lar) |
Yok
|
|||||
Dersin Dili |
İngilizce
|
|||||
Dersin Türü |
Seçmeli
|
|||||
Dersin Düzeyi |
Doktora
|
|||||
Dersin Veriliş Şekli | - | |||||
Dersin Öğretim Yöntem ve Teknikleri | - | |||||
Ulusal Meslek Sınıflandırma Kodu | - | |||||
Dersin Koordinatörü | - | |||||
Öğretim Eleman(lar)ı | ||||||
Yardımcı(ları) | - |
Dersin Amacı | Bu ders, tasarım şablonları ve yeniden kod düzenlenmesi üzerine derinlemesine çalışmayı amaçlar. Tasarım şablonları yazılım uzmanlarının daha önceden üzerinde çalışılmış ve kabul edilmiş çözümleri yeniden üretmesinin önüne geçmeye çalışırken, kodların yeniden düzenlenmesi ise özensiz geliştirilmiş yazılımların, harici davranışı değiştirmeden iyileştirilmesi, düzeltilmesi ve hatalardan arındırılmasını amaçlar. Tasarım Şablonları kod yazılmadan tasarımı iyileştirmek, yeniden düzenleme is kod yazıldıktan sonra tasarımı iyileştirmeyi hedefler. Hem tasarım şablonları hemde yeniden kod düzenleme teknikleri karmaşık, bakılabilir ve genişleyebilen yazılım sistemleri geliştirmeye yardım eder. Her iki metodun avantajları ve dezavantajları dersde tartışılacak, öğrenciler bu teknikleri ödevler aracılığı ile uygulama fırsatı bulacaklardır. |
Öğrenme Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı | Bu ders karmaşık, bakılabilir ve genişleyebilen yazılım sistemlerin geliştirilmesinde kullanılan tasarım şablonları ve kod yeniden düzenleme teknikleri üzerine derinlemesine bir çalışmayı içerir. |
|
Temel Ders | |
Uzmanlık/Alan Dersleri | ||
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
Hafta | Konular | Ön Hazırlık | Öğrenme Çıktısı |
1 | Yazılım, Yazılım Tasarımı, UML, Tasarım Desenleri ve Yeniden Kod Düzenlemeye Giriş | Bölüm 1 Design Patterns. | |
2 | Yapısal Şablonlar 1 | ||
3 | Yapısal Şablonlar 2 | ||
4 | Yaratıcı Şablonlar 1 | ||
5 | Yaratıcı Şablonlar 2 | ||
6 | Davranışsal Şablonlar 1 | ||
7 | Davranışsal Şablonlar 2 | ||
8 | Sunum 1 - Literatürde Desenler | ||
9 | Arasınav | ||
10 | Test Yönelimli Geliştirme | ||
11 | Yeniden Kod Düzenleme 1 | ||
12 | Yeniden Kod Düzenleme 2 | ||
13 | Yeniden Kod Düzenleme 3 | ||
14 | Sunum 2 - Literatürde Yeniden Kod Düzenleme | ||
15 | Tekrar | ||
16 | Final |
Ders Kitabı | “Design patterns: Elements of Reusable Object-Oriented Software” by E. Gamma, R. Helm, R. Johnson and J. Vlissides.Addison-Wesley. 1995. ISBN-13: 978-0-201-63361, ISBN-10: 0-201-63361-2 “Refactoring, Improving the design of existing code” by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts. 1999 ISBN-13: 978-0-201-48567-7, ISBN-10: 0-201-48567-2 |
Önerilen Okumalar/Materyaller | Okutman yansıları |
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | ||
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği | ||
Portfolyo | ||
Ödev |
2
|
10
|
Sunum / Jüri Önünde Sunum |
2
|
10
|
Proje |
1
|
20
|
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav |
1
|
20
|
Final Sınavı |
1
|
40
|
Toplam |
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı |
3
|
70
|
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı |
1
|
30
|
Toplam |
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) |
16
|
3
|
48
|
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) |
16
|
0
|
|
Sınıf Dışı Ders Çalışması |
14
|
4
|
56
|
Arazi Çalışması |
0
|
||
Küçük Sınav / Stüdyo Kritiği |
0
|
||
Portfolyo |
0
|
||
Ödev |
2
|
10
|
20
|
Sunum / Jüri Önünde Sunum |
2
|
20
|
40
|
Proje |
1
|
20
|
20
|
Seminer/Çalıştay |
0
|
||
Sözlü Sınav |
0
|
||
Ara Sınavlar |
1
|
21
|
21
|
Final Sınavı |
1
|
40
|
40
|
Toplam |
245
|
#
|
PÇ Sub | Program Yeterlilikleri / Çıktıları |
* Katkı Düzeyi
|
||||
1
|
2
|
3
|
4
|
5
|
|||
1 | Bilgisayar Mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular. |
-
|
-
|
-
|
-
|
-
|
|
2 | Bilgisayar Mühendisliği alanında uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir. |
-
|
-
|
-
|
-
|
-
|
|
3 | Belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular, değişik disiplinlere ait bilgileri bir arada kullanabilir. |
-
|
-
|
-
|
-
|
-
|
|
4 | Mesleğinin yeni ve gelişmekte olan uygulamalarının farkındadır, ihtiyaç duyduğunda bunları inceler ve öğrenir. |
-
|
-
|
-
|
-
|
-
|
|
5 | Bilgisayar Mühendisliği alanı ile ilgili problemleri tanımlar ve formüle eder, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. |
-
|
-
|
-
|
-
|
-
|
|
6 | Yeni ve/veya özgün fikir ve yöntemler geliştirir, karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler geliştirir. |
-
|
-
|
-
|
-
|
-
|
|
7 | Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular, bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler. |
-
|
-
|
-
|
-
|
-
|
|
8 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda çözüm yaklaşımları geliştirebilir, bağımsız çalışabilir ve sorumluluk alır. |
-
|
-
|
-
|
-
|
-
|
|
9 | Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar. |
-
|
-
|
-
|
-
|
-
|
|
10 | Çalışmalarının süreç ve sonuçlarını, o alandaki veya alan dışındaki ulusal ve uluslararası ortamlarda sistematik ve açık bir şekilde yazılı ya da sözlü olarak aktarır. |
-
|
-
|
-
|
-
|
-
|
|
11 | Bilgisayar Mühendisliği uygulamalarının sosyal, çevresel, sağlık, güvenlik, hukuk boyutları ile proje yönetimi ve iş hayatı uygulamalarını bilir ve bunların bilgisayar mühendisliği uygulamalarına getirdiği kısıtların farkındadır. |
-
|
-
|
-
|
-
|
-
|
|
12 | Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir. |
-
|
-
|
-
|
-
|
-
|
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest
İzmir Ekonomi Üniversitesi, dünya çapında bir üniversiteye dönüşürken aynı zamanda küresel çapta yetkinliğe sahip başarılı gençler yetiştirir.
Daha Fazlası..İzmir Ekonomi Üniversitesi, nitelikli bilgi ve yetkin teknolojiler üretir.
Daha Fazlası..İzmir Ekonomi Üniversitesi, toplumsal fayda üretmeyi varlık nedeni olarak görür.
Daha Fazlası..