Nazwa przedmiotu Projektowanie obiektowe - wzorce projektowe
Kod przedmiotu 02 60 4865 00
Typ przedmiotu Obowiązkowy
Poziom przedmiotu studia I stopnia
Rok studiów 3
Semestr studiów 6
Liczba przyznanych punktów ECTS 3
Nazwisko wykładowcy/wykładowców dr inż. Tomasz Kowalski
dr inż. Radosław Adamus, dr inż. Tomasz Kowalski, dr inż. Jacek Wiślicki
Cele przedmiotu
Celem przedmiotu jest zapoznanie studenta z wzorcami projektowymi, ich kategoryzacją i opisem przy użyciu diagramów UML oraz z podstawowymi zasadami projektowania z wykorzystaniem wzorców projektowych.
Efekty kształcenia przedmiotu
Po zakończeniu kursu student potrafi:
1. zdefiniować pojęcie wzorca projektowego oraz opisać podział wzorców na kategorie, opisać schemat opisu wzorca projektowego i stosować go do analizy architektury wzorca,
2. wymienić mechanizmy obiektowe mające zastosowanie w konstrukcji wzorców, używać ich w wybranych językach programowania oraz rozpoznawać je we wzorcach projektowych,
3. rozpoznać wzorce projektowe z tzw. katalogu "Gang of four", wybierać odpowiednie do rozwiązania wybranych problemów, wymienić zalety i wady poszczególnych wzorców,
4. wymienić zasady i strategie projektowania obiektowego oraz powiązać je z wykorzystaniem konkretnych wzorców projektowych,
5. zilustrować na przykładach zastosowania wzorców projektowych oraz stosować mechanizmy refaktoryzacji kodu aplikacji do postaci wzorców projektowych,
6. wybierać, powiązać i zaimplementować zestaw współdziałających wzorców projektowych w celu rozwiązania określonego problemu.
Forma realizacji kształcenia (sala wykładowa, on-line)
sala wykładowa
Wymagania wstępne
Umiejętność:
- programowania w programowania obiektowego,
- modelowania przy użyciu klas UML w stopniu podstawowym.
Zalecane fakultety nie dotyczy
Treści merytoryczne przedmiotu
Wykład:
Wprowadzenie pojęcia wzorca projektowego. Podział i sposób opisu wzorców projektowych. Jak wzorce projektowe umożliwiają rozwiązanie problemów projektowych.
Zaawansowane mechanizmy obiektowe w różnych językach programowania mające zastosowanie w konstrukcji wzorców projektowych.
Katalog wzorców projektowych tzw. "Gang of Four": Wzorce kreacyjne, Wzorce strukturalne, Wzorce czynnościowe. Podobieństwa i zależności między wzorcami projektowymi.
Zasady i strategie projektowania z wykorzystaniem wzorców: Zasada otwarcia i zamknięcia, Zasada hermetyzacji zmienności, Klasy abstrakcyjne a interfejsy.
Omówienie przykładów refaktoryzacji kodu do wzorców projektowych
LABORATORIUM:
W trakcie laboratorium studenci praktycznie zapoznają się z wzorcami projektowymi z każdej grupy (kreacyjne, strukturalne, czynnościowe). 
Studenci poznają wzorce projektowe w postaci diagramu UML, a następnie przekształcają go do postaci kodu w obiektowym języku programowania (np. Java, C#). 
Studenci praktycznie zapoznają się z mechanizmami refaktoryzacji kodu do postaci wzorców projektowych.
Spis zalecanych lektur Literatura podstawowa:
1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, WNT, 2005
2. Steven John Metsker: "C#. Wzorce projektowe", Helion, 2005

Literatura uzupełniająca:
1. Alan Shalloway, James R. Trott, "Projektowanie zorientowane obiektowo. Wzorce projektowe. Wydanie II", Helion 2005
2. Joshua Kerievsky, "Refaktoryzacja do wzorców projektowych", Helion 2005.
3. Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski: Język UML 2.0 w modelowaniu systemów informatycznych, Helion, 2006
Formy i metody kształcenia
Wykład Ćwiczenia Laboratorium Projekt Seminarium Inne Suma godzin w semestrze
15 15 30
Metody i kryteria weryfikacji efektów kształcenia
Efekt 1. Kolokwium wykładowe - pytania testowe i otwarte
Efekt 2. Kolokwium wykładowe - pytania testowe; Kolokwium laboratoryjne
Efekt 3. Kolokwium wykładowe - pytania testowe 
Efekt 4. Kolokwium wykładowe - pytania testowe 
Efekt 5. Kolokwium wykładowe - pytania testowe; Kolokwium laboratoryjne
Efekt 6. Kolokwium wykładowe - Kolokwium laboratoryjne

Zaliczenie wykładu w postaci egzaminu pisemnego (50%), zaliczenie laboratorium w postaci kolokwium (50%).
Język prowadzenia zajęć polski
Praktyki nie dotyczy