Zaawansowane CPP

From Studia Informatyczne

Spis treści

Forma zajęć

Wykład (30 godzin) + laboratorium (30 godzin)

Opis

Celem przedmiotu jest zapoznanie studentów z zaawansowanymi technikami programowania obiektowego w C++.

Sylabus

Autor

  • Piotr Białas - Uniwersytet Jagielloński, Wydział Fizyki, Astronomii i Informatyki Stosowanej,
  • Wojciech Palacz - Uniwersytet Jagielloński, Wydział Fizyki, Astronomii i Informatyki Stosowanej,

Wymagania wstępne

  • Programowanie Obiektowe
  • Znajomość C++

Zawartość

  • Szablony (templates)
    • programowanie generyczne
      • koncepty (STL)
      • kontenery i algorytmy generyczne
      • klasy cech i wytycznych, funcje typów
    • metaprogramowanie, szablony wyrażeń
    • Inteligentne wskaźniki
    • Funktory
  • Wyjątki.
    • bezpieczna obsługa wyjątków
  • Alokacja pamięci
    • operator new, własne alokatory pamięci
    • obsługa błędów przydziału pamięci
    • alokatory w STL
  • Narzędzia programistyczne
    • testowanie (CPPUnit)

Literatura

  • D. Vandervoorde, N. Josuttis "C++ Szablony, Vademecum profesjonalisty", Helion S.A 2003.
  • Alexandrescu "Nowoczesne projektowanie W C++", Wydawnictwa Naukowo-Techniczne 2005.
  • N. Josuttis "C++ Biblioteka Standardowa, podręcznik programisty", Wydawnictwo HELION 2003.
  • B. Eckel, Ch. Allinson, "Thinking in C++" Edecja Polska, tom 2, Wydawnictwo HELION 2004.



Moduły

  1. Szablony I (ćwiczenia)
  2. Programowanie uogólnione (ćwiczenia)
  3. Szablony II (ćwiczenia)
  4. Testowanie (ćwiczenia)
  5. Klasy cech (ćwiczenia)
  6. Funkcje typów i inne sztuczki (ćwiczenia)
  7. Klasy wytycznych (ćwiczenia)
  8. Metaprogramowanie (ćwiczenia)
  9. Szablony wyrażeń (ćwiczenia)
  10. Inteligentne wskaźniki (ćwiczenia)
  11. Funktory (ćwiczenia)
  12. Używanie funktorów (ćwiczenia)
  13. Wyjątki (ćwiczenia)
  14. Zarządzanie pamięcią (ćwiczenia)
  15. Wyjątkowo odporny kod (ćwiczenia)

Literatura uzupełniająca

  • Stroustroup Jezyk C++, Wydawnictwa Naukowo-Techniczne 2002.
  • S. Meyers,C++, 50 efektywnych sposobów na udoskonalenie Twoich programów, Wudawnictwo HELION 2003.
  • S. Meyers, Język C++ bardziej efektywny, Wydawnictwa Naukowo-Techniczne 1998.
  • S. Meyers, STL w praktyce. 50 sposobów efektywnego wykorzystania, Wydawnictwo HELION, 2004.
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku,

Wydawnictwa Naukowo-Techniczne 2005