Uniwersytet Marii Curie-Skłodowskiej w Lublinie - Centralny System Uwierzytelniania
Strona główna

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) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
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

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Marii Curie-Skłodowskiej w Lublinie.
kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.2.0