Kierunek: Informatyka | Tryb: Stacjonarne |
Nazwa modulu: Zaawansowane metody programowania |
Warunki wstępne:Ukończone kursy Programowanie i projektowanie obiektowe I oraz Programowanie i projektowanie obiektowe II
Umiejętność pracy zespołowej, rozumienie potrzeby posiadania kompetencji społecznych w pracy programisty
Znajomość diagramów UML
|
Cele kształcenia:Przedstawić teorię oraz przykłady wykorzystania dobrych praktyk programistycznych; Przedstawić teorię oraz przykłady wykorzystania wzorców projektowych; Przedstawić teorię oraz przykłady wykorzystania paradygmatów programowania; Przedstawić praktyczne podejście do zespołowej pracy projektowej; |
Efekty ksztalcenia: | Kod efektu kierunkowego: K1I_W11;K1I_W11, K1I_U13;K1I_U03; K1I_U13; |
EK1: Umie dobrać odpowiednią technologię do wybranej klasy problemu |
EK2: Potrafi ocenić kod pod względem wykorzystania dobrych praktyk programistycznych |
EK3: Potrafi wskazać odpowiedzialności wskazanych klas i metod oraz stwierdzić czy łamana jest zasada pojedynczej odpowiedzialności |
EK4: Rozumie potrzebę wytwarzania oprogramowania zgodnie z zasadami czystego kodu |
EK5: Potrafi wykorzystać branżową nomenklaturę do opisania problemów w kodzie |
EK6: Potrafi zaproponować elastyczną architekturę kodu opartą o polimorfizm i abstrakcję |
EK7: Potrafi opisać i wskazać zastosowanie wzorców projektowych |
EK8: Potrafi wykorzystać programowanie ekstremalne |
Forma i tresci ksztalcenia |
Wykład - Wprowadzenie do zaawansowanych metod programowania; sposoby doboru technologii projektowej; Dobre praktyki programistyczne: zasady SOLID;Dobre praktyki programistyczne: KISS, DRY, YAGNI i inne; Dobre praktyki programistyczne: Czysty kod; Praktyczny polimorfizm; Programowanie asynchroniczne; Wzorce projektowe: kreacyjne, strukturalne, operacyjne; Antywzorce projektowe; Programowanie ekstremalne; Praca w zespole programistycznym; Podsumowanie; kolokwium zaliczeniowe; |
Ćwiczenia laboratoryjne - Zapoznanie ze środowiskiem pracy i przedstawienie warunków zaliczenia; Projektowanie rozproszonego systemu informatycznego; dobór technologii projektowej; wytworzenie specyfikacji; Implementacja wybranych wzorców projektowych; Refaktoryzacja pod względem dobrych praktyk programistycznych; Refaktoryzacja pod względem czystego kodu; Praktyczne wykorzystanie programowania ekstremalnego; Testowanie integracyjne rozproszonego systemu; Prezentacja pracy projektowej; |
Metody ksztalcenia: prezentacja multimedialna; dyskusja na temat wybranych tematów; |
Metody sprawdzania osiągnięcia efektów kształcenia
- ocena podsumowująca: Egzamin pisemny; Projekt ; |
Liczba punktow ECTS: 3 |
Nakład pracy studenta (godz.) : |
Forma zajęc | Liczba godzin według planu studiów |
Wykład | 30 |
Ćwiczenia laboratoryjne | 30 |
Autor programu dla modułu kształcenia: mgr inż. Krzysztof Rewak |
Język modulu: polski |