Software Craftsmanship - narzędzia i metodyki
Informacje ogólne
Kod przedmiotu: | MFI-I.5L.DEW.166 |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Software Craftsmanship - narzędzia i metodyki |
Jednostka: | Instytut Informatyki |
Grupy: | |
Punkty ECTS i inne: |
(brak)
|
Język prowadzenia: | polski |
Wymagania wstępne: | Znajomość podstaw programowania języka Java lub innego obiektowego |
Godzinowe ekwiwalenty punktów ECTS: | Godziny kontaktowe (z udziałem nauczyciela akademickiego) Wykład 15 Laboratorium 45 Łączna liczba godzin z udziałem nauczyciela akademickiego 60 Godziny nie kontaktowe (praca własna studenta) Przygotowanie do zajęć 90 Przygotowanie do egzaminu 90 Łączna liczba godzin nie kontaktowych 180 Łączna liczba godzin: 240 Łączna liczba punktów ECTS: 8 W tym liczba punktow ECTS za godziny kontaktowe z bezpośrednim udziałem nauczyciela akademickiego - 2 punktow ECTS. W tym liczba punktow ECTS za godziny realizowane w formie samodzielnej pracy studenta - 6 punktow ECTS. |
Sposób weryfikacji efektów kształcenia: | W1, W2, W4, wykład – egzamin pisemny, laboratorium – prace zaliczeniowe W3, laboratorium – prace zaliczeniowe U1,U2,U3,U4 wykład – egzamin pisemny, laboratorium – prace zaliczeniowe K1 - egzamin pisemny, |
Pełny opis: |
Wykład obejmuje następujące zagadnienia Wprowadzenie do metodyk wytwarzania oprogramowania Narzędzia wykorzystywane przy projektowaniu i wytwarzaniu oprogramowania wspierające określone metodyki Proces utrzymania i refactoru kodu Czysty kod - dobre praktyki Wzorce i antywzorce projektowe Aspekty nietechniczne wytwarzania oprogramowania Praca w grupie i komunikacja Laboratorium obejmuje następujące zagadnienia Narzędzia pracy profesjonalnego programisty Instalacja oprogramowania (np: Maven, Git) Wytwarzanie programowania zgodnie z Gitflow Refactoring kodu legacy Ćwiczenia z czystym kodem Test driven development Refactor monolitów i ćwiczenia w granularyzacji serwisów Metodyki szacowania czasochłonności i poziomu skomplikowania zadań Techniki komunikacji w zespole |
Literatura: |
1. Hoover, Dave; Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Foreword by Ward Cunningham. O'Reilly. 2. Martin, Robert C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Addison Wesley. 3. McBreen, Pete (2001). Software Craftsmanship: The New Imperative. Addison Wesley. 4. Sennett, Richard (2008). The Craftsman. Yale University Press. 5. Pyritz, Bill (2003). "Craftsmanship versus engineering: Computer programming - An art or a science?". Bell Labs Technical Journal. 6. Mancuso, Sandro (2014). The Software Craftsman: Professionalism, Pragmatism, Pride. Prentice Hall. 7. Kaczanowski, Tomek (2013); Practical Unit Testing with JUnit and Mockito 8. Farcic, Viktor, Garcia, Alex (2015); Test-Driven Java Development, Packt Publishing 9. Chacon, Scott, Straub Ben (2014); Pro Git, Everything you need to know about Git, Apress 10. Driessen, Vincent (2010); A successful Git branching model, http://nvie.com/posts/a-successful-git-branching-model/ 11. Siriwardena, Prabath (2015); Maven Essentials, Packt Publishing 12. Bharathan, Raghuran (2015); Apache Maven Cookbook, Packt Publishing |
Efekty uczenia się: |
Wiedza: W1: Definiuje kluczowe zagadnienia charakteryzujące metodyki wytwarzania oprogramowania - K_W01 W2: Charakteryzuje kluczowe fazy oraz wzorce projektowe - K_W03 W3: Charakteryzuje metody, techniki, standardy i narzędzia budowania oprogramowania- K_W06 W4: Wnioskuje na temat standardów i trendów technologicznych w procesie wytwarzania oprogramowania- K_W08, K_W09 Umiejętności: U1: Poddaje krytyce zastosowane metodyki i wzroce projektowe - K_U01 U2: Dobiera rutynowe metody i narzędzia służące do budowania tzw. czystego kodu - K_U01 U3: Potrafi przeanalizować kod źródłowy pod kątem standaryzacji code review - K_U01 U4: Dobiera odpowiednie źródła informacji podczas wyszukiwania technik projektowych - K_U01 Kompetencje: K1: Ma świadomość konieczności tworzenia oprogramowania z wytyczonymi przez rynek standardami - K_K01, K_K03. K_K06, K_K07 |
Właścicielem praw autorskich jest Uniwersytet Marii Curie-Skłodowskiej w Lublinie.