background image

1. Nazwa przedmiotu

PROGRAMOWANIE 

ZAAWANSOWANE

2. Symbol przedmiotu

I-2006C13

3. Forma zajęć

Wykłady i laboratoria

4. Punkty ECTS

6

5. Liczba godzin

A. Studia stacjonarne
Wykłady – 30; ćwiczenia – 30

B. Studia niestacjonarne
Wykłady – 24; ćwiczenia – 24

6. Opis przedmiotu

Celem kształcenia jest nabycie 
podstawowych umiejętności w zakresie 
elementów programowania 
zaawansowanego, w szczególności 
programowania wielowątkowego, 
sieciowego,  bazodanowego, 
przetwarzania XML, projektowania 
interfejsów graficznych. Studenci 
powinni też poznać programistyczne 
metody budowy serwerów (wraz z 
kwestiami ich efektywności), i 
korzystania z bibliotek i środowisk 
wytwórczych („frameworków”). 
Wszystkie te elementy można 
stosunkowo łatwo i efektywnie 
implementować w języku Java, dlatego 
będzie on podstawą w realizacji zajęć 
praktycznych.

7. Treści kształcenia

1

1

Standardy   kształcenia   dla   kierunku   studiów 

„Informatyka”, Rozporządzenie Ministra Nauki i 
Szkolnictwa Wyższego z dnia 12 lipca 2007 r. 
w   sprawie   standardów   kształcenia   dla 
poszczególnych   kierunków   oraz   poziomów 
kształcenia,   a   także   trybu   tworzenia   i 
warunków,   jakie   musi   spełniać  uczelnia,   by 
prowadzić  studia   międzykierunkowe   oraz 
makrokierunki – załącznik nr 45 (Dz. U. Nr 164 
poz.1166 ze zm.).

Powtórzenie wiadomości o 
programowaniu obiektowym: 
hermetyzacja, dziedziczenie, 
polimorfizm. Klasy i interfejsy. Wzorce 
projektowe. Obsługa relacyjnych baz 
danych z poziomu języka 
programowania. Programowanie 
wielowątkowe. Protokoły sieciowe: 
gniazda TCP i UDP. Tworzenie 
i przetwarzanie plików XML. 
Projektowanie interfejsów graficznych; 
schemat MVC. Budowa aplikacji 
serwerowych.

8. Szczegółowe treści kształcenia

A. Wykłady
Temat 1

Wiadomości wstępne  – 1 godzina (1)

2

Typy danych, pakiety, kompilacja programów 
w Jawie. Programowanie obiektowe – 
powtórzenie i implementacja w języku Java. 
Budowa klas, tworzenie obiektów.

Temat 2

Dziedziczenie – 2 godziny (2)
Implementacja klas, metody niestatyczne i 
funkcje statyczne. Dziedziczenie i polimorfizm. 
Hermetyzacja. Rola interfejsów i klas 
abstrakcyjnych.

Temat 3

Wyjątki i ich obsługa – 1 godzina (1)
Wyjątki sprawdzane i niesprawdzane i ich 
obsługa. 

Temat 4

Napisy – 1 godzina (1)
Operacje na napisach. Wyrażenia regularne. 
 

Temat 5

Strumienie – 3 godziny (2)
Pojęcie strumieni; strumienie bajtowe i 
znakowe, strumienie wejściowe i wyjściowe. 
Rola, znaczenie i konsekwencje kodowania 
UNICODE. Obsługa błędów związanych ze 
strumieniami. Bufory i kanały. Nieblokujące 
wejście/wyjście. 

Temat 6

Operacje we/wy – 2 godziny (1)
Operacje We/Wy konsolowe i z 
wykorzystaniem okienek graficznych. Pliki. 
Dekorowanie strumieni.
Serializacja obiektów.

2

W nawiasach podana jest liczba godzin 

realizowana na studiach niestacjonarnych.

background image

Temat 7

Kolekcje– 3 godziny (2)
Kolekcje haszowane i drzewiaste. Mapy 
(słowniki). Iteratory. Wydajność operacji na 
kolekcjach.

Temat 8

Wątki – 3 godziny (2)
Tworzenie wątków. Semafory i muteksy. Kod 
krytyczny i synchronizacja. Wstrzymywanie, 
przerywanie i wznawianie wątków.

Temat 9

Komponenty GUI – 5 godzin (4)
Rodzaje i użycie komponentów graficznych. 
Komponenty ciężkie i lekkie. Wątek 
zdarzeniowy. Delegacyjny model obsługi 
zdarzeń. Architektura MVC. Projektowanie 
intefejsów graficznych.

Temat 10

Aplikacje sieciowe – 5 godzin (4)
Tworzenie gniazd. Protokół TCP i UDP. 
Architektura klient-serwer. Serwery 
wielowątkowe i oparte na selektorach. 
Wprowadzenie do aplikacji WEB. Korzystanie 
ze środowisk programistycznych i 
„frameworków”.

Temat 11

Obsługa XML – 2 godziny (2)
Model SAX i DOM. Narzędzia do 
przetwarzania i tworzenia plików XML.

Temat 12

Programowanie bazodanowe – 2 godziny (2)
Sterowniki baz danych. Tworzenie zapytań i 
odczyt informacji z baz danych. Transakcje.

B. Ćwiczenia Laboratoryjne
Temat 1

Tworzenie klas i obiektów. Dziedziczenie – 3 
godziny (2)

Temat 2

Obsługa wyjątków – 2 godziny (2)

Temat 3

Operacje na napisach i wyrażenia regularne – 
3 godziny (2)

Temat 4

Strumienie, operacje na plikach – 4 godziny 
(4)

Temat 5

Kolekcje – 3 godziny (2)

Temat 6

Tworzenie wątków, synchronizacja – 3 godziny 
(3)

Temat 7

Tworzenie interfejsów graficznych – 4 godziny 
(3)

Temat 8

Gniazda TCP – komunikacja klient-serwer – 5 
godzin (4)

Temat 9

Obsługa plików XML – 3 godziny (2)

9. Efekty kształcenia – umiejętności i kompetencje

3

Nabycie podstawowych umiejętności 
w posługiwaniu się zaawansowanymi 
metodami programistycznymi z 
wykorzystaniem środowiska języka 
Jawa. W szczególności student 
powinien zdobyć praktyczną wiedzę 
umożliwiającą programowanie 
sieciowe, bazodanowe,  wielowątkowe 
i być przygotowanym do aktywnego 
udziału w realizacji projektów 
informatycznych i pracy w zespołach 
programistycznych.

10. Metody nauczania

Materiał prezentowany jest na 
wykładach wraz z wieloma 
przykładami, omówieniem 
praktycznego zastosowania 
poruszanych zagadnień i ich związku 
z pojęciami poznanymi wcześniej. 
Wiedza studentów pogłębiana jest na 
ćwiczeniach laboratoryjnych, w czasie 
których tworzą oni samodzielnie, pod 
kierunkiem prowadzących, programy 
ilustrujące poznany materiał.  

11. Warunki zaliczenia przedmiotu

W ramach przedmiotu studenci muszą 
zaliczyć następujące rygory: egzamin 
i zaliczenie laboratoriów. Wymienione 
rygory studenci zaliczają niezależnie. 
Za ćwiczenia studenci mogą uzyskać 
65 punktów na podstawie pisanych 
programów i projektów. Ćwiczenia 
uznaje się za zaliczone jeżeli student 

3

Standardy kształcenia, op. cit.

background image

uzyska co najmniej 20 punktów. Za 
egzamin student może uzyskać 35 
punktów. Egzamin uznaje się za 
zaliczony jeżeli student uzyska nie 
mniej niż 11 punktów. Z zaliczenia 
całości przedmiotu wystawiana jest 
jedna ocena końcowa wpisywana 
w rubryce: zaliczenie wykładów – 
egzamin
. Ocena ta jest ustalana na 
podstawie łącznej sumy punktów z 
ćwiczeń i egzaminu. Punkty 
przeliczane są na ocenę według 
następujących kryteriów: 

 92 punktów – ocena 6; 

od 85 do 91,9 – ocena 5,5; 
od 78 do 84,9 – ocena 5;
od 71 do 77,9 – ocena 4,5;
od 64 do 70,9 – ocena 4;
od 57 do 63,9 – ocena 3,5;
od 50 do 56,9 – ocena 3;
< 50 – ocena 2.

W przypadku uzyskania z egzaminu co 
najmniej 11 punktów oraz z ćwiczeń co 
najmniej 20 punktów, ale łącznie mniej 
niż 50 punktów, student sam wybiera 
rygory do zaliczenia poprawkowego 
(ćwiczenia  i/lub egzamin) aby 
przekroczyć granicę 50 punktów 
i uzyskać ocenę pozytywną 
z przedmiotu. Jeżeli student ma 
poniżej 20 punktów z ćwiczeń i/lub 
poniżej 12 punktów z egzaminu, to 
musi powtarzać przedmiot w kolejnym 
roku akademickim.

12. Literatura podstawowa

1. C.S. Horstmann i G. Cornell – 
Core Java 2, Helion, kilka wydań
2. B. Eckel – Thinking in Java
Helion, kilka wydań
3.

 

R. Lafore – Java. Algorytmy i 

struktury danych, Helion 2004

13. Literatura uzupełniająca

1. P. Niemeyer i J. Knudsen – Java. 

Wprowadzenie, Helion 2003

14. Osoby nadzorujące przedmiot

Dr hab. Tomasz R. Werner

15. Osoby prowadzące przedmiot

A. Wykłady
Dr hab. Tomasz R. Werner

B. Laboratoria
Dr inż. Krzysztof Murawski
Dr inż. Mirosław Barański
mgr inż. Rafał Maison

16. Data ostatniej aktualizacji treści syllabusa

8 marca 2010 r.

background image

UWAGI DO SYLLABUSA

1.Punkt 7 i 9 przepisać ze standardów kształcenia, jeśli występuje (jeśli przedmiot jest 
specjalistyczny to wyciąć przypisy).
2.W punkcie 10 wymienić liczbę godzin realizowaną bez udziału wykładowcy (jeśli 
występują) oraz formę ich rozliczenia.
3.W punkcie 11 ściśle określić warunki zaliczenia. Stosować ocenianie dające sumaryczną 
liczbę 100 punktów.