Journals / Bilişim Teknolojileri Dergisi / 2016 / Cilt: 9 - Sayı: 2
Teaching Strategies For Design Patterns: Seminar Or Projects
- Pages
- 161–170
- DOI
- —
Abstract
It is very difficult to teach some fundamental concepts and topics effectively in computer science. Introductory level programming courses can be a good example for this. The most important reason behind this difficulty is the abstract structure of the content for these subjects and the fact that students taking these introductory courses may not have developed that abstract thinking ability yet. It is inevitable to experience the same difficulties with teaching Design Patterns which are usually taught as a graduate level software engineering course. These patterns rely on structural and behavioral interactions and dependencies between a number of classes and objects and may seem quite complicated at first glance for those who do not have sufficient object oriented design background and experience. The same teaching strategy has been used in many different countries to teach this particular subject. This course is usually offered in a seminar fashion and the content and presentation structure of the widely renowned text book in this field by Gamma et al. is used. In this paper, we investigate how design patterns can be taught more effectively through a mid-size application development, based on the experience we gathered from teaching this subject in two different universities: Syracuse University, NY, USA and Firat University, Elazig, Turkey in 2013 and 2015 respectively. For this, we provide a detailed discussion on Factory Method and Singleton design patterns together with an example application project design to support teaching these details.
Özet
Bilgisayar bilimlerinin bazı temel alan derslerinin etkili bir şekilde öğretilmesi oldukça zordur. Bu derslere Programlamaya Giriş dersleri örnek gösterilebilir. Karşılaşılan bu zorluğun başta gelen ve en önemli sebebi ise bu derslerin içeriğinin soyut yapısı ve dersi alan öğrencilerin bu soyut düşünme yetilerinin henüz gelişmemiş olmasıdır. Genellikle yüksek lisans ve doktora seviyesinde verilen Tasarım Kalıpları dersi içeriğinde de aynı şeyi gözlemlemek kaçınılmazdır. Başta karmaşık gibi görünen ve temelde sınıflar ve nesneler arasındaki yapısal veya davranışsal ilişkilere dayanan bu Tasarım Kalıpları, özellikle yeteri seviyede nesne tabanlı tasarım altyapısına sahip olmayan öğrencileri oldukça zorlamaktadır. Dünyanın hemen her ülkesinde üniversite ve araştırma kuruluşlarında bu dersin anlatımında aynı yöntem kullanılmaktadır. Genellikle seminer şeklinde verilen bu derste, Gamma ve ekibi tarafından yazılan ve çok yaygın etki yaratan Tasarım Kalıpları kitabındaki içerik ve sunum şekli kullanılmaktadır. Bu dersi 2013 yılında ABD'nin New York eyaletindeki Syracuse Üniversitesinde ve 2015 yılında Fırat Üniversitesinin Uluslararası Yüksek Lisans ve Doktora Programında verdiğimiz dönemlerden elde ettiğimiz tecrübelerimize dayanarak, bu çalışmada tasarım kalıplarının uygulamalı proje tasarımı şeklinde nasıl daha etkili öğretilebileceği incelenmektedir. Buna yönelik Factory Method ve Singleton tasarım kalıpları detaylandırılmış ve uygulamalı proje desteği ile bu detayların öğretimine yönelik örnek bir proje taslağı sunulmuştur..