SE 310 | Ders Tanıtım Bilgileri
İleri C++: Şablonlar ve Soysal Programlama
Dersin Amacı C++ esnek tasarımı, ölçeklenebilirliği ve verimliliği sayesinde endüstride en çok kullanılan programlama dillerinden biri durumundadır. Bu dersin temel amacı öğrencilerin C++ bilgilerini ve programlama yeteneklerini geliştirmek ve onları C++ dilinde yer alan en güncel yeniliklerle tanıştırmaktır. Bu yeniliklerden bazıları başta Standard Template Library (STL) kütüphanesi olmak üzere soysal programlama teknikleri ve seçilmiş Boost C++ kütüphaneleridir. Bu dersin konuları arasında şablonlarla programlama, ileri şablon programlama teknikleri, soysal programlama, özelleştirilmiş şablonlar kullanma, tip özellikleri (traits), C++ ile GUI programlama, Standard Template Library, STL container, STL iterator, STL algoritmaları, ve seçilmiş Boost C++ kütüphaneleri yer almaktadır.
Öğrenciler şablonların içinde sınıf şablonlarının, tip özellik sınıflarının ve kural şablonlarının da dahil olduğu ileri seviyelerde yapılar kullanarak program geliştirebileceklerdir.
Öğrenciler soysal programlamanın kavramlarını bileceklerdir.
Öğrenciler yazılım kütüphaneleri geliştirebileceklerdir.
Öğrenciler grafik arayüz programlama ortamlarını kullanmayı bileceklerdir
Öğrenciler Standard Template Library kütüphanelerini kullanmayı bileceklerdir
Öğrenciler Boost C kütüphanelerini kullanmayı bileceklerdir
Tanımı Bu derste öğrencilere şablonlar ve soysal programlamanın prensipleri hakkında temel bilgiler verilmekte ve sık kullanılan soysal kütüphaneler tanıtılmaktadır.
1 Giriş ve motivasyon. C++ nesneye yönelik programlamanın kısa olarak hatırlatılması Inheritance, Polymorphism, Abstraction, Encapsulation, Data Hiding, Exception handling
2 Temel şablon bilgileri. Fonksiyon ve sınıf şablonları David Vandevoorde and Nicolai M. Josuttis. C++ Templates: The Complete Guide. Addison Wesley, 2003. (Course book) Chapter 2, Chapter 3
3 Tip dışı template parametreleri, ince detaylar Course book Chapter 4, Chapter 5
4 Sablonların günlük programlamada kullanımı Course book Chapter 6
5 Sablonların çokbiçimli kullanım yetenekleri Course book Chapter 14
6 Tip özellikleri ve kural sınıfları Course book Chapter 15
7 Şablonlar ve kalıt Course book Chapter 16
8 Qt 4.6 ile grafik arayüz programlama C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Prentice Hall, 2008
9 Standard Template Library tanıtımı Josuttis, Nicolai M. The C++ standard library: a tutorial and reference. Addison Wesley, 1999 (STL Book) Chapter 2
Dersin Kitabı David Vandevoorde and Nicolai M. Josuttis. C++ Templates: The Complete Guide. Addison Wesley, 2003.
Diğer Kaynaklar C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Prentice Hall, 2008 Josuttis, Nicolai M. The C++ standard library: a tutorial and reference. Addison Wesley, 1999Boost C++ libraries website