Karta przedmiotu nazwa w języku polskim: Praktyczne aspekty wytwarzania oprogramowania



Pobieranie 71.05 Kb.
Data06.05.2016
Rozmiar71.05 Kb.
Zał. nr 4 do ZW 33/2012

WYDZIAŁ ELEKTRONIKI

KARTA PRZEDMIOTU

Nazwa w języku polskim: Praktyczne aspekty wytwarzania oprogramowania


Nazwa w języku angielskim: Practical Aspects of Software Production

Kierunek studiów: Automatyka i robotyka, Elektronika, Informatyka, Telekomunikacja, Teleinformatyka

Stopień studiów i forma: I stopień / II stopień, stacjonarne


Rodzaj przedmiotu: wybieralny

Kod przedmiotu ETEW011

Grupa kursów: TAK






Wykład

Ćwiczenia

Laboratorium

Projekt

Seminarium

Liczba godzin zajęć zorganizowanych w Uczelni (ZZU)

15




30







Liczba godzin całkowitego nakładu pracy studenta (CNPS)

30




60







Forma zaliczenia

Zaliczenie na ocenę




Zaliczenie na ocenę







Dla grupy kursów zaznaczyć kurs końcowy (X)

X













Liczba punktów ECTS

3













w tym liczba punktów ECTS odpowiadająca zajęciom o

charakterze praktycznym (P)



-




2







w tym liczba punktów ECTS odpowiadająca zajęciom wymagającym bezpośredniego kontaktu (BK)

1




1









WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

  1. Podstawowa umiejętność pracy w tekstowej konsoli Linux




CELE PRZEDMIOTU

C1 Nabycie podstaw teoretycznych pracy w projekcie przy użyciu metodyk zwinnych.

C2 Nabycie podstawowej wiedzy w zakresie zcentralizowanych systemów kontroli wersji na przykładzie Subversion.

C3 Nabycie wiedzy z zakresu rozproszonych systemów kontroli wersji.

C4 Nabycie podstawowej wiedzy w zakresie technik i narzędzi umożliwiających ciągłą integrację oprogramowania (Continuous Integration).

C5 Poznanie podstawowych konstrukcji programistycznych w języku Python.

C6 Zdobycie umiejętność praktycznego posługiwania się metodologią Scrum w zarządzaniu projektami informatycznymi.

C7 Zdobycie umiejętności praktycznego posługiwania się systemami kontroli wersji w codziennym procesie tworzenia oprogramowania. Nabycie praktycznych umiejętności z zakresu tworzenia nowych repozytoriów, konfiguracji, zarządzania gałęziami.

C9 Zdobycie umiejętności posługiwania się narzędziami zapewniającymi ciągłą integrację ze szczególnym uwzględnieniem narzędzi Jenkins/Hudson.

C10 Nabycie podstawowych umiejętności programowania obiektowego w języku Python.

C11 Nabycie podstawowej umiejętności pracy w tekstowej konsoli Linux

C12 Nabycie podstawowych umiejętności konstrukcji programistycznych w języku Bash.





PRZEDMIOTOWE EFEKTY KSZTAŁCENIA


Z zakresu wiedzy:

PEK_W01 Posiada wiedzę o cyklu życia projektu i metodach zarządzania kompleksowymi projektami informatycznymi.

PEK_W02 Posiada wiedzę z zakresu scentralizowanych i rozproszonych systemów kontroli wersji, ich charakterystyk i podstawowych różnic.

PEK_W03 Posiada wiedzę dotyczącą ciągłej integracji (CI), jej znaczenia w cyklu życia oprogramowania oraz wpływu CI na jakość wytwarzanego oprogramowania.

PEK_W04 Zna specyfikę tworzenia aplikacji obiektowych w języku Python.

PEK_W05 Posiada wiedzę dotyczącą podstaw poruszania się w Linuxie.

PEK_W06 Posiada wiedzę dotyczącą podstaw programowania w języku Bash

Z zakresu umiejętności:

PEK_U01 Potrafi użyć metodologii Scrum do prowadzenia projektu informatycznego.

PEK_U02 Potrafi wykorzystać podstawowe systemy kontroli wersji do zarządzania jakością i integralnością oprogramowania.

PEK_U03 Potrafi skonfigurować i wykorzystać narzędzia ciągłej integracji oprogramowania do kolejkowania i zrównoleglenia budowy oprogramowania.

PEK_U04 Posiada praktyczne podstawy programowania obiektowego i przetwarzania danych i w języku Python.

PEK_U05 Potrafi poruszać się w tekstowej konsoli Linux

PEK_U06 Posiada praktyczne podstawy programowania w języku Bash

Z zakresu kompetencji społecznych:

PEK_K01 – ma świadomość wpływu zarządzania wersjami oprogramowania (Software Configuration Management) na integralność, odtwarzalność i jakości tworzonego oprogramowania.






TREŚCI PROGRAMOWE

Forma zajęć - wykład

Liczba godz.

Wy1

Umieszczenie tematyki poszczególnych wykładów w kontekście pracy dużego projektu programistycznego. Omówienie obszarów prezentowanych w ramach cyklu oraz zależności pomiędzy nimi.

1

Wy2

Podstawy pracy w tekstowej konsoli Linux oraz podstawy skryptowania w języku Shell

2

Wy3

Podstawy programowania w języku Bash: instrukcje kontrolne, funkcje, operacje na plikach, tekstach, strumieniach, łańcuchach znaków i liczbach.

2

Wy4

Wprowadzenie do systemów kontroli wersji. Charakterystyka Subversion jako jednego z najpopularniejszych systemów kontroli wersji.

2

Wy5

GIT jako przykład rozproszonego systemu kontroli wersji. Cechy oraz możliwości GIT’a, jako nowoczesnego systemu kontroli wersji. GIT Workflows - różne warianty pracy z narzędziem GIT.

2

Wy6

Wprowadzenie do systemów Continuous Integration. Charakterystyka systemów CI na przykładzie narzędzia Jenkins/Hudson. Alternatywne systemy CI.

2

Wy7

Podstawy programowania w języku Python: podstawowe typy danych, podstawowe operacje na liczbach i napisach, instrukcje sterujące, funkcje, realizacja obiektowości (klasy, metody, dziedziczenie).

2

Wy8

Podstawy programowania w języku Python: struktury danych (listy, słowniki, krotki), operacje na strukturach danych, obsługa modułów, wyjątki, podstawowe operacje na plikach.

2




Suma godzin

15



Forma zajęć - laboratoria

Liczba godzin

L1

Szkolenie stanowiskowe BHP. Sprawy organizacyjne. Wprowadzenie – przygotowanie stanowisk do ćwiczeń semestralnych.

3

L2

Praktyczne wykorzystanie metodyk zwinnych na przykładach z codziennego życia projektu programistycznego. Workshop.

2

L3

Poruszanie się po strukturze katalogów systemu Linux, kontrola uprawnień, zarządzanie procesami.



2

L4-5

Podstawowe konstrukcje w Bashu: warunki, pętle, funkcje. Operacje na plikach, tekstach, łańcuchach znaków, liczbach.

4

L6

Praktyczne użycie systemu kontroli wersji SVN. Uruchomienie serwera SVN lokalnie, wstępna konfiguracja, polaczenie z serwerem SVN, użycie podstawowych komend systemu.

2

L7

Praca z systemem GIT. Użycie głównych elementów takich jak: sub-moduły, gałęzie, remote’y, wskaźniki.

2

L8-9

Instalacja, konfiguracja i administracja Jenkinsem. Definiowanie zadań (jobs) w Jenkinsie, konfigurowanie zaawansowanych opcji, pluginy, połączenie z systemem kontroli wersji.

4

L10

Poznanie interpretera języka Python. Wykorzystanie podstawowych instrukcji języka Python (print, import, help, dir)

2

L11

Operacje na typach danych w języku Python. Tworzenie struktur danych (lista, słownik, krotka), operacje na strukturach danych, kontrola przypływu danych (if, for, while)

2

L12

Tworzenie własnych funkcji w języku Python. Operacje na plikach, obsługa wyjątków.

2

L13

Praktyczne wykorzystanie obiektowości języka Python – tworzenie klas, metod, dziedziczenie. Wykorzystanie zewnętrznych bibliotek

5




Suma godzin

30


STOSOWANE NARZĘDZIA DYDAKTYCZNE


N1. Wykład z użyciem środków multimedialnych

N2. Prezentacja syntetyczna problematyki ćwiczeń (ok. 10 min - przez prowadzącego)

N3. Ćwiczenia praktyczne przy użyciu komputerów z dyskusją rozwiązań zadań

N4. Konsultacje

N5. Praca własna – przygotowanie do ćwiczeń

N6. Praca własna – samodzielne studia, przygotowanie do końcowego sprawdzianu




OCENA OSIĄGNIĘCIA PRZEDMIOTOWYCH EFEKTÓW KSZTAŁCENIA


Oceny (F – formująca (w trakcie semestru), P – podsumowująca (na koniec semestru)

Numer efektu kształcenia

Sposób oceny osiągnięcia efektu kształcenia

F1

PEK_W01-PEK_W06, PEK_K01

Obecność i aktywność na wykładach

(1 nieobecność dozwolona), łączna ocena z testów cząstkowych, ocena z pisemnego kolokwium końcowego.



F2

PEK_U01-PEK_U06, PEK_K01

Obecność i aktywność na ćwiczeniach

(2 nieobecności dozwolone), łączna ocena z testów cząstkowych.



P = F1*0,6+F2*0,4



LITERATURA PODSTAWOWA I UZUPEŁNIAJĄCA

literatura PODSTAWOWA:

  1. Matyas S., Glover A., Continuous Integration: Improving Software Quality and Reducing Risk, Addison-Wesley, 2008

  2. Lutz M., Ascher D., Python. Wprowadzenie, O'Reilly, 2010

  3. Myers G. J., Sandler C., Badgett T., Thomas T.M, Sztuka testowania oprogramowania, Helion 2005

  4. Dawson M., Python Programming for the Absolute Beginner, Cengage Learning, 2010

  5. Ziadé T., Expert Python Programming: Learn Best Practices to Designing, Coding, and Distributing Your Python Software, Packt Publishing, 2008


literatura UZUPEŁNIAJĄCA:

  1. Hetland M. L., Python Algorithms: Mastering Basic Algorithms in the Python Language, Apress, 2010

  2. Martin R. C., Czysty kod. Podręcznik dobrego programisty, Helion, 2010

Pozycje desygnowane przez wykładowcę na zakończenie każdego wykładu.


OPIEKUN PRZEDMIOTU (IMIĘ, NAZWISKO, ADRES E-MAIL)



      1. MACIERZ POWIĄZANIA EFEKTÓW KSZTAŁCENIA DLA PRZEDMIOTU

      2. Praktyczne Aspekty Rozwoju Oprogramowania

      3. Z EFEKTAMI KSZTAŁCENIA NA KIERUNKU

      4. Elektronika, Informatyka, Telekomunikacja, Automatyka i robotyka, Teleinformatyka





Przedmiotowy efekt kształcenia

Odniesienie przedmiotowego efektu do efektów kształcenia zdefiniowanych dla kierunku studiów i specjalności (o ile dotyczy)

Cele przedmiotu

Treści programowe

Numer

narzędzia dydaktycznego

PEK_W01

K1AIR_W09, K1EKA_W08, K1INF_W09, K1TEL_W08, K1TIN_W40 K1AIR_W12, K1EKA_W11, K1INF_W12, K1TEL_W11, K1TIN_W11, K1AIR_W13, K1EKA_W12, K1INF_W13, K1TEL_W12, K1TIN_W12

C1- C5

Wy1 – Wy8

N1-N6

PEK_W02 - PEK_W03

K1AIR_W09, K1EKA_W08, K1INF_W09, K1TEL_W08, K1TIN_W40 K1AIR_W12, K1EKA_W11, K1INF_W12, K1TEL_W11, K1TIN_W11, K1AIR_W13, K1EKA_W12, K1INF_W13, K1TEL_W12, K1TIN_W12

C1- C5

Wy1 – Wy8

N1-N6

PEK_W04 - PEK_W06

K1AIR_W09, K1EKA_W08, K1INF_W09, K1TEL_W08, K1TIN_W40 K1AIR_W12, K1EKA_W11, K1INF_W12, K1TEL_W11, K1TIN_W11, K1AIR_W13, K1EKA_W12, K1INF_W13, K1TEL_W12, K1TIN_W12

C1- C5

Wy1 – Wy8

N1-N6

PEK_U01- PEK_U02

K1AIR_W09, K1EKA_W08, K1INF_W09, K1TEL_W08, K1TIN_W40 K1AIR_W12, K1EKA_W11, K1INF_W12, K1TEL_W11, K1TIN_W11, K1AIR_W13, K1EKA_W12, K1INF_W13, K1TEL_W12, K1TIN_W12

C1- C5

L1 –L5

N1-N6

PEK_U03- PEK_U04

K1AIR_U09, K1EKA_U07, K1INF_U08, K1TEL_U07, K1TIN_U08, K1AIR_U12, K1EKA_U10, K1INF_U11, K1TEL_U10, K1TIN_U11, K1AIR_U13, K1EKA_U11, K1INF_U12, K1TEL_U11, K1TIN_U12

C1- C5

L6- L10

N1-N6

PEK_U05- PEK_U06

K1AIR_U09, K1EKA_U07, K1INF_U08, K1TEL_U07, K1TIN_U08, K1AIR_U12, K1EKA_U10, K1INF_U11, K1TEL_U10, K1TIN_U11, K1AIR_U13, K1EKA_U11, K1INF_U12, K1TEL_U11, K1TIN_U12

C1- C5

L11-L13

N1-N6





©absta.pl 2016
wyślij wiadomość

    Strona główna