KARTA MODUŁU KSZTAŁCENIA
Kierunek: InformatykaTryb: Niestacjonarne
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: ;
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ęcLiczba godzin według planu studiów
Wykład24
Ćwiczenia laboratoryjne16
Autor programu dla modułu kształcenia: mgr inż. Krzysztof Rewak
Język modulu: polski