• ARM031019P
  • M03-84i; 4.25 (B-4); cz 15:15-16:55
  • goo.gl/qJNJgv Tablica elektroniczna (tylko do odczytu)
  • Repozytorium github
  • Zaliczenie: odpowiedzi ustne w trakcie zajęć 20%, 2 kartkówki z partii materiału wskazanej przez prowadzącego 10%, sprawozdania w formie kodu źródłowego programu wraz z dokumentacją UML 70%


P1: 02.03.2017
P2: 09.03.2017
P3: 16.03.2017
P4: 23.03.2017
P5: 30.03.2017 - wzorce projektowe obserwator, metoda wytwórcza.
P6: 06.04.2017 - wyjątki, wyjątki w konstruktorach i destruktorach, singleton.
P7: 20.04.2017. Kartkówka 1. Zagadnienia: wzorce projektowe, wyjątki, polimorfizm, hermetyzacja, przesłanianie, przeciążanie, dziedziczenie, wirtualne destruktory. 
  1. Wzorce projektowe Singleton i Metoda wytwórcza - opisz krótko przeznaczenie i narysuj diagram klas UML, 
  2. Zademonstruj na przykładzie fragmentu kodu wyrzucenie i przechwycenie wyjątku.
  3. Co jest niezbędne do uzyskania polimorfizmu dynamicznego w C++?
  4. Na przykładzie kodu C++ 2 klas zademonstruj hermetyzację, przesłanianie, przeciążanie, dziedziczenie.
  5. Kiedy destruktory obowiązkowo muszą być wirtualne?
Zadania bieżące
  1. Grażyna i Janusz są bardzo towarzyscy i wrzucają na fejsiaka słitaśne focie – Grażyna co sekundę, Janusz co kilka sekund. Jak można to zadanie rozwiązać w wersji obiektowej? Zademonstruj to w ten sposób, że niezależnie od siebie obiekty User emitują komunikat zawierający kolejną wartość całkowitą oraz imię obiektu.
  2. Praktyczne zastosowania metod statycznych w klasach przy realizacji wielowątkowości.
P11: 25.05.2017. Kartkówka 2. 
  1. Opisz wzorzec projektowy MVC (budowa, zastosowania).
  2. Narysuj diagram UML wzorca Łańcuch zobowiązań.
  3. Czym się różnią pola statyczne w klasach od "zwykłych" pól? Jak się ich używa? 
  4. Wymień 3 szablony STL.

  1. Klasa, atrybut, metoda, konstruktor, destruktor, obiekt, przesłanianie metod, przeciążanie metod
  2. Akcesory, konstruktor przeciążony, konstruktor kopiujący, operatory new i delete
  3. Dziedziczenie, funkcje zaprzyjaźnione
  4. Operatory, przeciążanie operatorów, wskaźnik this
  5. Strumienie, operacje na plikach
  6. Asocjacja, agregacja, kompozycja
  7. Polimorfizm
  8. Symulacja układu regulacji
  9. Gra MasterMind/Oczko/etc
  10. Szablony
  11. Wyjątki
  12. Modelowanie obiektowe z użyciem UML
  13. Implementacja zamodelowanego w UML programu
  14. Testowanie i debugowanie programu, dokumentowanie kodu
  15. Zaliczenie