|
|
İçerik
|
|
1. hafta: |
C++ gelişimi tarihi. Fiziksel ve doğal bilimlerdeki nümerik simülasyonlarda karşılaşılan ana problemler. C++ ‘nin avantajları ve dezavantajları. C++ ne zaman seçilmelidir ? Bir adres defteri örneği üzerine C kodu. |
2. hafta: |
C’de yapılar (structure) , C++’de yapılar ve sınıflar (classes). Doğru bir yaklaşım olarak , kod dizaynını yapmada kalıtım (inheritance) kullanmak. Kalıtım tekniği ana yapı taşları. |
3. hafta: |
Kısa Sınav, Örüntü uyumlayıcı (pattern adapter): Bir C kodunu basit ve uygun bir arayüz (interface) oluşturacak şekilde bir sınıf yaparak yeniden düzenleme (refactoring). |
4. hafta: |
Düşük-seviye (low-level) C işaretçileri (pointers): Geniş kullanım alanları ve tehlikeleri. C++ ve C’de hafıza yönetimi. Sargı örüntüsü (pattern-wrapper) ve zarf idiomu (letter-envelope) |
5. hafta: |
Pimple (pointer to implementation) idiomu , ve köprü örüntüsü (pattern bridge). Statik (derlenme zamanı, compilation time ) ve dinamik (işletim zamanı , run time) gerçekleştirmesi. |
6. hafta: |
Ara Sınav |
7. hafta: |
Değiş-tokuş (swap) ve pimple idiomlarının beraber çalışması, operatörünün uygun şekli.
|
8. hafta: |
Akıllı işaretçi (smart pointer) ve versiyonları; a) Tekil sahip b) Referans sayıcı (reference counter) (zorla ulaşan ve zorla ulaşmayan iki tane olmak üzere üç farklı gerçekleştirmesi) c) seçici transfer yazımları (pick transfer semantics), yokedici kopyalama, Ultimate++ kütüphanesi
|
9. hafta: |
Ekleyici örüntü (pattern decorator). Genişletme ve test amaçlı kullanımı. Bir sürü değişik ekleyicileri oluşturmada ve genel anlamda kullanılan imalat örüntüsü (pattern factory).
|
10. hafta: |
Bir C++ işlevi olarak, modüllerin simülasyonu için kullanılan , isimlendirilmiş ve isimlendirilmemiş adlı aralıklar (namespaces). |
11. hafta: |
Tek varisli örüntü (pattern singleton) , ve değişik gerçekleştirme şekilleri , avantajları ve dezavantajları. |
12. hafta: |
Kayıt tutma ve test amaçları için tek varisli örüntü ile kod sarma (code encapsulation). |
13. hafta: |
Tek halli örüntü (pattern monostate). Tek varisli örüntü ile karşılaştırması ve isimlendirilmemiş adlı aralıklar tekniği. |
14. hafta: |
Kapalı-açık arayüz ilkesi; arayüz değişimlere kapalı fakat genişletme için açık. |
15. hafta*: |
* |
16. hafta*: |
Final Sınavı |
Ders kitapları ve materyaller: |
Bjarne Stroustrup, The C+ + Programming Language Third Edition CodeBlocks IDE, MinGW environment, gcc 4.5 or gcc 4.6 compiler |
Önerilen kaynaklar: |
Stanley B. Lippman , Josée Lajoie , Barbara E. Moo C++ Primer, Fourth Edition Stanley B. Lippman, Essential C++ |
|
* 15. ve 16. haftalar arası final sınavına hazırlık haftası bulunmaktadır.
|
|