informator - ii.uph.edu.pl · metody numerycznego rozwiązywania równań różniczkowych...
TRANSCRIPT
AKADEMIA PODLASKA
WYDZIAŁ NAUK ŚCISŁYCH
Kierunek INFORMATYKA
INFORMATOR
-SYLABUS-
studia II stopnia
(magisterskie uzupełniające)
czas trwania: 4 semestry
Siedlce 2009/2010
2
SPIS TREŚCI
OBLICZENIA NAUKOWE I METODY NUMERYCZNE COMPUTATIONAL AND NUMERICAL METHODS IN SCIENCE ......................................................................................................................................................................... 3
BADANIA OPERACYJNE OPERATIONAL RESEARCH ......................................................................................... 10
MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH MODELING AND ANALYSIS OF INFORMATION SYSTEMS ........................................................................................................................................................ 16
ZASTOSOWANIA INFORMATYKI I COMPUTER SCIENCE APPLICATIONS I ........................................................ 23
METODY EWOLUCYJNE I SIECI NEURONOWE EVOLUTIONARY METHODS AND NEURAL NETWORKS.............. 28
INTELIGENTNE SYSTEMY AGENTOWE INTELLIGENT AGENT SYSTEMS ............................................................ 34
ZAAWANSOWANE TECHNOLOGIE PROGRAMISTYCZNE ADVANCED PROGRAMMING TECHNOLOGIES .......... 40
MULTIMEDIALNE INTERFEJSY UŻYTKOWNIKA MULTIMEDIA USER INTERFACES ............................................ 46
SIECI I SYSTEMY WIRTUALNE VIRTUAL NETWORKS SYSTEMS ........................................................................ 52
ROZPROSZONE SYSTEMY SZTUCZNEJ INTELIGENCJI DISTRIBUTED SYSTEMS OF ARTIFICIAL INTELLIGENCE .... 58
ZASTOSOWANIA INFORMATYKI II - PROJEKT ZESPOŁOWY COMPUTER SCIENCE APPLICATIONS II - TEAM PROGRAMMING PROJECT .............................................................................................................................. 65
ŚRODOWISKA PRZETWARZANIA ROZPROSZONEGO DISTRIBUTED PROCESSING ENVIRONMENT .................. 71
PROJEKTOWANIE SYSTEMÓW ROZPROSZONYCH DISTRIBUTED SYSTEMS DESIGN ........................................ 78
ZAAWANSOWANE SIECI KOMPUTEROWE ADVANCED COMPUTER NETWORKING ......................................... 85
PROJEKTOWANIE SIECI KOMPUTEROWYCH COMPUTER NETWORKS DESIGN ............................................... 91
ALGORYTMY I ŚRODOWISKA RÓWNOLEGŁE ALGORITHMS AND PARALLEL ENVIRONMENTS ........................ 98
ZARZĄDZANIE SIECIAMI KOMPUTEROWYMI I SYSTEMAMI ROZPROSZONYMI MANAGEMENT IN COMPUTER NETWORKS AND DISTRIBUTED SYSTEMS ..................................................................................................... 104
SYSTEMY KRYPTOGRAFICZNE CRYPTOGRAPHIC SYSTEMS ........................................................................... 111
TECHNOLOGIE I SYSTEMY BEZPIECZEOSTWA KOMPUTEROWEGO TECHNOLOGIES AND SYSTEMS OF COMPUTER SECURITY................................................................................................................................... 118
BEZPIECZEOSTWO APLIKACJI W ŚRODOWISKU SIECIOWYM APPLICATION SECURITY IN NETWORK ENVIRONMENTS ........................................................................................................................................... 124
SYSTEMY WYKRYWANIA WŁAMAO INTRUSION DETECTION SYSTEMS ........................................................ 130
PROJEKTOWANIE APLIKACJI I SYSTEMÓW BEZPIECZEOSTWA KOMPUTEROWEGO DESIGN OF COMPUTER SECURITY APPLICATIONS AND SYSTEMS ...................................................................................................... 136
ZARZĄDZANIE BEZPIECZEOSTWEM SYSTEMÓW KOMPUTEROWYCH COMPUTER SYSTEMS SECURITY MANAGEMENT............................................................................................................................................. 142
PROJEKTOWANIE APLIKACJI INTERNETOWYCH I ROZPROSZONYCH INTERNET AND DISTRIBUTED APPLICATIONS DESIGN ................................................................................................................................. 149
MULTIMEDIALNE I OBIEKTOWE BAZY DANYCH MULTIMEDIA AND OBJECT-ORIENTED DATABASES ............ 155
ANALIZA I EKSPLORACJA DANYCH DATA MINING ........................................................................................ 160
HURTOWNIE DANYCH DATA WAREHOUSES ................................................................................................ 167
ADMINISTROWANIE SYSTEMAMI BAZ DANYCH DATABASE SYSTEMS ADMINISTRATION ............................ 174
PROJEKTOWANIE ZINTEGROWANYCH SYSTEMÓW INFORMATYCZNYCH INTEGRATED INFORMATION SYSTEMS DESIGN.......................................................................................................................................... 180
3
Kierunek: Informatyka
Przedmiot:
Obliczenia naukowe i metody numeryczne
Computational and Numerical Methods in Science
Czas trwania: semestr 1
Przedmiot: podstawowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Anna Wawrzyńczak-Szaban 15 zaliczenie na ocenę 3
Ćwiczenia dr Anna Wawrzyńczak-Szaban 15 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Analiza Matematyczna,
Algebra liniowa,
Matematyka Dyskretna,
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu Obliczenia naukowe i metody numeryczje jest przekazanie
wiedzy z zakresu narzędzi matematycznych umozliwiających prowadzenie rozmaitych
symulacji numerycznych zarówno w ramach pracy magisterskiej, jaki i w przyszłej pracy
zawodowej.
Rozwiniętymi celami szczegółowymi są:
tworzenie modeli matematycznych
metody numeryczne przybliżania rozwiązania równań algebraicznych,
metody numeryczne rozwiązywania układów równań algebraiczncych
interpolacja i aproksymacja
metody numeryczne rozwiązywania równań różniczkowych zwyczajnych
Celem laboratorium jest nabycie umiejętności skutecznego wykorzystania oprogramowania
naukowego jakim jest MatLab. Wykorzystanie MatLab’a do rozwiazywania konkretnych
zagadnien umozliwi przeniesienie ciezaru wykonywania standardowych obliczen na program
komputerowy, pozwalajac studentom skoncentrowac sie na istotnych cechach poszczególnych
4
schematów numerycznych.Cele szczegółowe laboratorium obejmują następujące
umiejętności praktyczne:
szukanie rozwiązań równań algebraicznych
rozwiązywanie układów równań algebraicznych
interpolacja i aproksymacja danych eksperymentalnych
rozwiązywanie równań różniczkowych zwyczajnych rzędu pierwszego
WYKŁAD
1. Podstawowe pojęcia matematyki obliczeń naukowych
Matematyczny model procesu
Pojęcie przybliżonego rozwiązania zagadnienia
Etapy modelowania
2. Błędy obliczeń numerycznych
Błędy obliczeń numerycznych. Błąd względny i bezwzględny. Podstawowe źródła
błędów. Ogólna postać błędu.
Zapis maszynowy liczby zmiennoprzecinkowej i błędy operacji na tych liczbach
Propagacja błędu
3. Metody przybliżonego rozwiązania równań algebraicznych - część I
Metoda bisekcji
Metoda interpolacji liniowej
Warunki zbieżności metod numerycznych
4. Metody przybliżonego rozwiązania równań algebraicznych - część II
Metoda iteracji
Metoda Newtona- Rapsona
Porównanie zbieżności metod
5. Metody numerycznego rozwiazania układów równan algebraicznych - cześć I
Metoda eliminacji Gaussa
Dekompozycja LU
Metoda Crout’a (Thomasa)
6. Metody numerycznego rozwiązania układów równań algebraicznych - część II
Metoda iteracji Jakobiego
Metoda iteracji Gaussa-Seidla
Metoda relaksacji
7. Interpolacja zbioru danych eksperymentalnych
Interpolacja za pomocą wielomianów
5
Wzór interpolacyjny Lagrange’a
Interpolacja Newtona dla węzłów równoodległych
Interpolacja wielomianami sklejanymi
8. Aprokdymacja danych eksperymentalnych
Zasady doboru odpowiedniej funkcji aproksymującej
Określenie dokładności aproksymacji
Regresja liniowa
Aproksymacja wielomianem
9. Metody numeryczne przybliżania pochodnych
Wzór Taylora
Wzór Stirlinga
Różnice centralne
10. Metody numeryczne przybliżania wartości całek oznaczonych
Wzór Prostokątów
Kwadratury Newtona-Cotesa
Metoday Simpsona
11. Podstawowe wiadomości z równań różniczkowych zwyczajnych
Podstawowa definicja równania różniczkowego zwyczajnego
Interpretacja geometryczna równania różniczkowego zwyczajnego pierwszego rzędu
Podstawowe typy równań różniczkowych zwyczajnych
Określenie całki ogólnej i szczególnej
12. Metody numerycznego rozwiązywania równań różniczkowych zwyczajnych rzędu
pierwszego - część I
Istnienie i jednoznaczność rozwiązań
Zastosowanie wzoru Taylora dla przybliżenia pochodnej funkcji
Zagadnienie Cauchy’ego
13. Metody numerycznego rozwiązywania równań różniczkowych zwyczajnych rzędu
pierwszego - część II metody jednokrokowe
Metoda Euler’a
Metoda Heun’a
Metoda Rungego - Kutty (rząd 3,4,5)
Metoda Rungego-Kutta-Fehlberga
14. Metody numerycznego rozwiązywania równań różniczkowych zwyczajnych rzędu
pierwszego- część III metody wielokrokowe
Metody z zmiennym krokiem całkowania
Jawna metoda Adamsa-Bashfortha
6
Niejawna metoda Adamsa-Moultona
15. Metody numerycznego rozwiązywania równań różniczkowych zwyczajnych
wyższych rzędów
Sprowadzanie równania rzędu większego jeden do układu równań rzędu pierwszego
Metody numeryczne rozwiązywania układów równań różniczkowych zwyczajnych
rzędu pierwszego
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Podstawowe operacje w MatLab
Typy zmiennych
Macierze i operacje na nich
Wykreślanie wykresów funkcji
2. Funkcje i skrypty w MatLab
Podstawowe instrukcje języka MatLab
Struktura funkcji języka MatLab
Tworzenie skryptów języka MatLab
3. Rozwiązywanie równań algebraicznych - część I
Funkcje wbudowane MatLab znajdowania pierwiastków równań algebraicznych
Metoda bisekcji
Metoda siecznych
4. Rozwiązywanie równań algebraicznych - część II
Metoda iteracji
Metoda secant
Porównanie efektywności metod numerycznych rozwiązywania równań
algebraicznych
5. Rozwiązywanie układów równań algebraicznych - część I
7
Reprezentacja macierzowa układu równań algebraicznych
Funkcje wbudowane MatLab znajdowania rozwiązania układu równań algebraicznych
6. Rozwiązywanie układów równań algebraicznych - część II
Metoda Crout’a (Thomasa) dla układów trójprzekątniowych
Metoda iteracji Jakobiego
Metoda iteracji Gaussa-Seidla
7. Rozwiązywanie zadań interpolacji danych
Funkcje wbudowane MatLab znajdowania interpolacji danych
Interpolacja funkcjami dwóch i trzech zmiennych
Interpolacja wielomianami
8. Zadania aproksymacji danych eksperymentalnych
Funkcje wbudowane MatLab znajdowania aproksymacji danych
Zastosowanie równania aproksymacji
Metoda najmniejszych kwadratów
9. Rózniczkowanie numeryczne
Funkcje wbudowane MatLab obliczania pochodnych funkcji
Zastosowanie różnic skonczonch
10. Całkowanie numeryczne
Funkcje wbudowane MatLab znajdowania wartości całek oznaczonych
Metoda Simpsona
11. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych - część I
Funkcje wbudowane MatLab znajdowania rozwiązania równań różniczkowych
zwyczajnych
Zastosowanie metody Euler’a
Zastosowanie metody Heuna
12. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych - część II
Rozwiązywanie niesztywnych układów równań różniczkowych w oparciu o metodę
Rungego - Kutty
Funkcje wbudowane MatLab ode45(), ode23()
Porównanie efektywności poznanych metod
13. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych - część III metody
wielokrokowe
Metoda Adamsa-Bashforth’a
Metoda Adamsa-Moulton’a
8
14. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych - część IV metody
typu predyktor-korektor
Funkcje wbudowane MatLab ode113(), ode23()
Metoda Adams’a - Bashforth’a - Moulton’a
Metoda Milne’a- Hamminga
15. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych wyższych rzędów
Sprowadzenie równania różniczkowego zwyczajnego wyższego rzędu do układu
rónań rzędu pierwszego
Zastosowanie funkcji wbudowanych MatLab ode45(), ode23()dla układu równań
różniczkowych
Metody Euler’a i Rungego-Kutty dla układu równań różniczkowych
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-140 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-70 pkt. ndst (F) 99-112 pkt. db (C)
71-84 pkt. dst (E) 113-126 pkt. db+ (B)
85-98 pkt. dst+ (D) 127-140 pkt. bdb (A)
LITERATURA
1. D. Kincaid, W. Cheney "Analiza numeryczna", WNT, 2006.
2. A. Palczewski " Równania Różniczkowe Zwyczajne, teoria i metody numeryczne z
wykorzystaniem komputerowego systemu obliczeń symbolicznych", WNT,
Warszawa, 1999.
3. W.Y.Yang, W.Cao, T, Chung, J. Morris "Applied Numerical Methods Using
MatLab", Wiley-Interscience, 2005.
4. K. Sankara Rao " Numerical Methods for Scientists and Engineers", Prentice Hall,
2004
5. M. Stachurski "Metody numeryczne w programie Matlab", Mikom, 2003.
9
6. R. Pratap "MatLab 7 dla naukowców i inżynierów", PWN, 2007.
7. V.P. Demidowicz , I.A. Maron, E.Z. Szuwałowa "Metody numeryczne", cz II. PWN,
Warszawa 1965
8. A. Zalewski, R Cegiełka " MatLab- obliczenia numeryczne i zastosowania", Nakom,
Poznań, 1996.
10
Kierunek: Informatyka
Przedmiot:
Badania operacyjne
Operational Research
Czas trwania: semestr 2
Przedmiot: podstawowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Anna Wawrzyńczak-Szaban 15 zaliczenie na ocenę 3
Ćwiczenia dr Anna Wawrzyńczak-Szaban 15 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Analiza matematyczna
Metody probabilistyczne i statystyka
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu Badania operacyjne jest przekazanie wiedzy z zakresu
najważniejszych i jednocześnie podstawowych metod rozwiązywania zadań z zakresu teorii
podejmowania decyzji zarówno w sytuacjach pełnej, jak i niepełnej informacji; oraz
możliwościami wykorzystania metod badań operacyjnych w praktyce podejmowania i analizy
decyzji.
Rozwiniętymi celami szczegółowymi są:
budowanie modeli optymalizacyjnych opisujących najprostsze sytuacje decyzyjne
spotykane w praktyce,
dobieranie właściwych narzędzi (programów komputerowych) służących do
rozwiązywania zbudowanych modeli optymalizacyjnych.
Celem laboratorium jest nabycie umiejętności zastosowania metod matematycznych
podejmowania optymalnych decyzji w sytuacjach pełnej, jak i niepełnej informacji .
Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
rozwiązywanie zagadnień programowania liniowego
11
rozwiązywanie zagadnień transportowych
znalezienie rozwiązania gry o sumie zero
WYKŁAD
1. Matematyczny model procesu decyzyjnego i etapy jego budowy.
Pojęcie problemu decyzyjnego.
Etapowość rozwiązywania problemów decyzyjnych
2. Programowanie matematyczne - struktura i klasyfikacje.
Klasyfikacja modeli decyzyjnych
Zapis matematyczny problemów optymalizacyjnych
3. Modele programowania liniowego w postaci standardowej i kanonicznej.
Podstawowe założenia i określenia.
Rozwiązanie dopuszczalne, podstawowe i optymalne.
Ustalanie rozwiązań podstawowych.
4. Podstawowe twierdzenia programowania liniowego.
Matematyczne uzasadnienie metody simpleks.
Etapy w metodzie simpleks. Algorytm simpleks.
Ustalanie początkowego rozwiązania podstawowego.
5. Metoda sztucznej bazy.
Zastosowanie metody sztucznej bazy.
Modele dualne i ich rozwiązywanie.
Interpretacja zmiennych dualnych.
Rozwiązywanie zadań z wykorzystaniem twierdzeń o dualiźmie.
6. Analiza wrażliwości zadania programowania liniowego.
Analiza wrażliwości ze względu na zmiany parametrów funkcji celu.
Analiza wrażliwości ze względu na zmiany ograniczeń.
7. Zagadnienie transportowe.
Budowa modelu.
Rozwiązanie zbilansowanego i niezbilansowanego zadania transportowego (metoda
potencjałów).
Zastosowanie różnych metod wyznaczania rozwiązania początkowego w algorytmie
transportowym.
8. Problem lokalizacyjno-transportowy
Rozwiązywanie zadań pokrewnych: transportowo-produkcyjnego.
12
Problem pustych przebiegów.
9. Programowanie dyskretne.
Programowanie całkowitoliczbowe.
Metoda podziału i ograniczeń.
10. Optymalizacja dyskretna
Problem załadunku.
Problem rozkroju.
11. Podstawy teorii gier
Gry dwuosobowe o sumie zero
Gry z naturą
12. Gry i strategie
Strategie mieszane.
Gry a zadanie programowania liniowego
13. Programowanie dynamiczne
Schemat ogólny programowania dynamicznego
Składowe wieloetapowego procesu decyzyjnego
14. Przykłady wykorzystania programowania dynamicznego
Zagadnienie rozdziału środka
Zagadnienie alokacji
15. Zagadnienie kolejek
Kolejki i ich modele.
Modele otwartych i zamkniętych sieci kolejek.
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
13
LABORATORIUM
1. Zagadnienia programowania liniowego- część I
Analiza modelu
Definiowanie funkcji celu
2. Zagadnienia programowania liniowego- część II
Optymalny wybór asortymentu
Metoda graficzna
3. Zagadnienia programowania liniowego- część III
Zagadnienie wyboru procesu technologicznego
Funkcje wbudowane MatLab dla zagadnienia liniowego
4. Algorytm Simplex- część I
Postać kanoniczna problemu liniowego
Metody identyfikacji zmiennych tablicy simplexowej
5. Algorytm Simplex- część II
Zastosowanie algorytmu simplex do zadań programowania liniowego w postaci
klasycznej
Zastosowanie algorytmu simplex do zadań programowania liniowego o mieszanych
warunkach ograniczajacych
6. Algorytm Simplex- część III
Zagadnienia dualne
Zagadnienia zdegenerowane
7. Analiza wrażliwości
Metoda graficzna
Analiza rozwiązania metody simplex
8. Zagadnienia transportowe - część I
Etapy rozwiązywania zagadnienia
Metody wyznaczania rozwiązania wstępnego
9. Zagadnienia transportowe - część II
Ocena optymalności rozwiązania
Modyfikacja rozwiązania nieoptymalnego
10. Zagadnienia transportowe - część III
14
Zamknięte zagadnienie transpotrowe
Otwarte zagadnienie transpotrowe
11. Zagadnienia transportowe - część IV
Zagadnienie lokalizacji produkcji
Minimalizacja pustych przebiegów
12. Programowanie dyskretne
Metoda podziału i ograniczeń
Metoda cięć
13. Optymalizacja dyskretna
Zagadnienie optymalnego przydziału
Zagadnienie lokalizacji produkcji
14. Gry dwuosobowe o sumie zero
Strategia czysta
Strategia mieszana
15. Gry z naturą
Kryterium Walda
Kryterium Hurwicza
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-140 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-70 pkt. ndst (F) 99-112 pkt. db (C)
71-84 pkt. dst (E) 113-126 pkt. db+ (B)
15
85-98 pkt. dst+ (D) 127-140 pkt. bdb (A)
LITERATURA
1. Ignasiak, E., Badania operacyjne, PWE, Warszawa, 1996.
2. Kozubski, J., Wprowadzenie do badań operacyjnych, Wydawnictwo Uniwersytetu
Gdańskiego, Gdańsk, 2000.
3. Trzaskalik T., Wprowadzenie do badań operacyjnych z komputerem, Polskie
Wydawnictwo Ekonomiczne, Warszawa, 2003.
4. Jędzejczyk Z., Kukuła K. (red.), Skrzypek J., Walkosz A., Badania operacyjne w
przykładach i zadaniach, Wydawnictwo naukowe PWN, Warszawa, 2002.
16
Kierunek: Informatyka
Przedmiot:
Modelowanie i analiza systemów informatycznych
Modeling and Analysis of Information Systems
Czas trwania: semestr 1
Przedmiot: kierunkowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Jacek Florek 30 egzamin 5
Laboratorium mgr Marek Pilski 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest ogólna znajomość zagadnień związanych z
funkcjonowaniem instytucji gospodarczych i problematyką zarządzania nimi, a ponadto zasad
i reguł tworzenia systemów informatycznych zawartych m.in. w takich pozycjach
literaturowych jak:
1. Wrycza S.: Analiza i projektowanie systemów informatycznych zarządzania.
Wydawnictwo Naukowe PWN. Warszawa 1999
2. Jaszkiewicz A.: Inżynieria oprogramowania. Wyd. HELION. Warszawa 1997
lub znajomość literatury z tych przedmiotów.
ZAŁOŻENIA I CELE
Podstawowym celem wykładów jest przedstawienie zasad obowiązujących podczas tworzenia
zintegrowanych systemów informatycznych zarządzania, ze szczególnym uwzględnieniem
etapów analizy i modelowania. Rozwiniętymi celami szczegółowymi sa:
analiza szczegółowych cech systemów informatycznych
zapoznanie z metodami modelowania architektury informacyjnej przedsiębiorstwa
zapoznanie z wybranych metodami modelowania organizacji i systemów oraz
związanych z nimi artefaktów
zapoznanie z wybranymi technikami analizy systemów informatycznych i
związanych z nimi artefaktów
Celem laboratorium jest nabycie umiejętności w konstruowaniu modeli w wybranym
obszarze informatyki i umiejętnego posługiwania się nimi. Cele szczegółowe laboratorium
obejmują następujące umiejętności praktyczne:
zapoznanie z wykorzystaniem pakietów CASE w procesie analizy i modelowania SI
17
tworzenia modeli systemów informatycznych z wykorzystaniem podejścia
strukturalnego w oparciu o pakiet Oracle Designer 6i (diagramy przepływu procesów,
diagramu związków encji, tworzenie hierarchii funkcji i diagramu przepływu danych
dla wybranego obszaru dziedzinowego)
tworzenia modeli systemów informatycznych z wykorzystaniem podejścia
obiektowego w oparciu o pakiet worzenia modeli systemów informatycznych z
wykorzystaniem podejścia strukturalnego w oparciu o pakiet Rational Rose
(diagramów przypadków użycia, diagramu klas, diagramów interakcj, diagramów
stanów oraz diagramów komponentów i rozmieszczenia dla wybranego obszaru
dziedzinowego)
WYKŁAD
1. Pojęcia podstawowe w modelowaniu i analizie systemu informacyjnego
istota i rola zasobów informacyjnych w przedsiębiorstwie
kategorie pojęć
wybrane definicje pojęć
system informacyjny przedsiębiorstwa
2. Aspekty informacyjno-decyzyjne w organizacji
rola zasobów informacyjnych w przedsiębiorstwie,
procesy informacyjno-decyzyjne w przedsiębiorstwie
informacja a procesy podejmowania decyzji
3. Model architektury informacyjnej przedsiębiorstwa
architektura informacyjna,
modele formalne funkcjonowania organizacji, architektura korporacyjna,
siatka Zachmana
indeks Boara,
model Gartners Group,
zarządzanie architekturą korporacyjną
4. Analiza strukturalna systemów informacyjnych przedsiębiorstwa
analiza systemów informatycznych,
analiza potrzeb (konieczność komunikacji)
precyzowanie zakresu
standardy tworzenia specyfikacji (schemat Bolera)
5. Metody i narzędzia planowania i analizy SI przedsiębiorstwa
podejście sytuacyjne do planowania i analizy,
sesja MetaPlan,
sesja SWOT,
metoda BSP
metoda krytycznych czynników sukcesu,
model spójności dynamiki zmian Broekstry.
18
6. Modelowanie systemu informacyjnego przedsiębiorstwa
procesy budowy modelu,
modele modułowe systemu informacyjnego,
modele przepływu informacji,
hierarchia modelu,
charakterystyka obiegu informacji w organizacji(przykład),
7. Metody i techniki modelowania systemów informacyjnych
podejścia do analizy i modelowania (strukturalne, obiektowe, społeczne)
charakterystyka podejścia strukturalnego,
charakterystyka podejścia obiektowego,
charakterystyka podejścia społecznego,
8. Podejście strukturalne modelowania systemów informacyjnych
podstawowe pojęcia, model logiczny i fizyczny,
funkcje encje, związki i diagramy
modelowanie funkcji (hierarchia, zależność i logika i opis funkcji), danych i procesów
czas rzeczywisty,
metody modelowania funkcji przedsiębiorstwa i systemów,
przykłady realizacji
9. Modelowanie hierarchii i zależności funkcji
cele, funkcje elementarne
diagram hierarchii funkcji - tworzenie i przykłady
powiązania, następstwa funkcji
zależności informacyjne i prawne
diagram zależności funkcji - tworzenie i przykłady
10. Modelowanie danych i procesów
cele i metody opisania potrzeb informacyjnych
diagram związków encji - tworzenie i przykłady,
określenie zależności pomiędzy procesami w przedsiębiorstwie,
diagramy przepływu danych - elementy, tworzenie i przykłady
klasyfikacja (kontekstowe, zerowe i szczegółowe) - przykłady
11. Modelowanie w czasie rzeczywistym
czas rzeczywisty - zasady i pojęcia,
cele i metody,
diagram przejść stanów - tworzenie i przykłady
12. Podejście obiektowe modelowania systemów informacyjnych
obiektowość i metodyka obiektowa,
perspektywy (pojęciowa, projektowa i implementacyjna)
19
model przypadków użycia
model obiektowy (statyczny)
model zachowań (dynamiczny)
13. Modelowanie przypadków użycia (analiza funkcjonalna)
podstawowe pojęcia
strukturalizacja przypadków użycia
diagram przypadków użycia - tworzenie i przykłady
14. Budowa statycznego modelu klas i dynamicznego modelu zachowań
identyfikacja klas i obiektów,
identyfikacja związków klas i obiektów,
identyfikacja i definiowanie pól
diagramy klas i obiektów - tworzenie i przykłady
identyfikacja i definiowanie metod i komunikatów,
analiza scenariuszy
modelowanie przejść stanów
diagramy stanów, aktywności i interakcji - tworzenie i przykłady
15. Wykorzystanie narzędzi CASE w analizie i modelowaniu
klasyfikacja narzędzi CASE
charakterystyka porównawcza narzędzi CASE (Oracle Designer i Rational Rose )
przykłady realizacji analizy i modelowania
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Wprowadzenie
zapoznanie ze sposobem pracy w Oracle Designer,
utworzenie nowego systemu aplikacyjnego,
zapoznanie się z narzędziem Repository Object Navigaror,
eksportowanie i importowanie projektu.
2. Oracle Designer. Tworzenie diagramu przepływu procesów
20
utworzenie nowego procesu podstawowego,
wprowadzenie nowych jednostek organizacyjnych do diagramu,
dodanie do diagramu kroków procesu.
dodanie przepływów pomiędzy krokami procesu.
3. Oracle Designer. Tworzenie diagramu przepływu procesów (część 2)
dodanie reguł dla odpowiednich przepływów,
dekompozycja wybranych kroków procesów,
dodanie do diagramu procesów wyzwalaczy i wyników.
4. Oracle Designer. Budowa diagramu związków encji
dodanie nowych encji,
utworzenie relacji pomiędzy encjami,
zdefiniowanie atrybutów dla encji.
5. Oracle Designer. Budowa diagramu związków encji (część 2)
definiowanie domen,
przypisanie domen wybranym atrybutom,
zapoznanie się z funkcją AutoLayout rozmieszczania komponentów na diagramie,
6. Oracle Designer. Tworzenie hierarchii funkcji
utworzenie nowego diagramu, opartego na nowej funkcji korzeń,
dodanie funkcji podrzędnych z Repozytorium,
zdefiniowanie własnych funkcji,
zdefiniowanie właściwości Unit i Response dla wybranych funkcji hierarchii.
7. Oracle Designer. Definiowanie użyć funkcja-encja
określenie użyć encji dla funkcji w Function Hierarchy Diagrammer,
budowa macierzy użyć Funkcja-Encja w narzędziu Matrix Diagrammer,
analiza modelu.
8. Oracle Designer. Definiowanie użyć funkcja-atrybut
określenie użyć atrybutów dla funkcji w Function Hierarchy Diagrammer,
budowa macierzy użyć Funkcja-Atrybut w narzędziu Matrix Diagrammer,
analiza modelu.
9. Oracle Designer. Tworzenie diagramu przepływu danych
utworzenie nowego diagramu,
zdefiniowanie i utworzenie przepływu danych.
10. IBM Rational Software Modeler. Budowanie diagramów przypadków użycia
zapoznanie się ze interfejsem i strukturą projektu RUP
21
dodawanie aktorów do diagramu,
wstawienie przypadków użycia,
dodawanie powiązań pomiędzy komponentami diagramu,
11. IBM Rational Software Modeler. Budowanie diagramu klas
dodawanie klas do diagramu,
przypisanie klasom atrybutów i operacji,
utworzenie relacji pomiędzy klasami.
12. IBM Rational Software Modeler. Budowanie diagramów interakcji
utworzenie diagramów sekwencji i współdziałania,
dodanie nowych obiektów,
dodanie komunikatów,
sprawdzenie poprawności modelu.
13. IBM Rational Software Modeler. Budowanie diagramów stanów
dodanie stanów do diagramu,
definiowanie akcji,
utworzenie linii przejść.
14. IBM Rational Software Modeler. Budowanie diagramów komponentów i
rozmieszczenia
dodawanie nowych komponentów diagramu,
dodawanie powiązań pomiędzy komponentami,
generowanie kodu źródłowego.
15. Konsultacja końcowej postaci projektu
dyskusja,
ocena projektów.
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
22
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-140 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-70 pkt. ndst (F) 99-112 pkt. db (C)
71-84 pkt. dst (E) 113-126 pkt. db+ (B)
85-98 pkt. dst+ (D) 127-140 pkt. bdb (A)
LITERATURA
1. Barczak. A., Florek J., Sydoruk T.: Projektowanie zintegrowanych systemów
informatycznych zarządzania, Wyd. AP, Siedlce 2006
2. Barker R., Longman C.: Modelowanie funkcji i procesów. WNT. Warszawa 1996
3. Barker R.: Modelowanie związków encji. WNT. Warszawa 2005
4. Chmielarz W.: "Systemy informatyczne wspomagające zarządzanie. Aspekt
modelowy w budowie systemów". Elipsa, Warszawa 1996
5. Dąbrowski W., Stasiak A., Wolski M.: "Modelowanie systemów informatycznych w
języku UML 2.1 w praktyce", PWN, Warszawa 2007
6. Krol P., Kruchten P.: "Rational Unified Process od strony praktycznej", WNT,
Warszawa 2006
7. Kruchten P.: "Rational Unified Process od strony teoretycznej", WNT, Warszawa
2007
8. Płodzień J, Stemposz E.: Analiza i projektowanie systemów informatycznych, Wyd.
PJWSTK, Warszawa 2003
9. Roszkowski J.: Analiza i projektowanie strukturalne, Helion. Warszawa 2002
10. Sęczyn S. (red): Analiza i modelowanie systemu informacyjnego przedsiębiorstwa -
wybrane zagadnienia, Wyd. Politechniki Śląskiej, Gliwice 2000
11. Wendy Boggs, Michael Boggs: Mastering UML with Rational Rose, Sybex, 2002.
12. Dokumentacja techniczna firmy Oracle na stronie WWW:
http://www.oracle.com/technology/documentation/designer.html#6i
13. Multimedialne tutoriale konstruowania diagramów na stronie WWW:
http://homepages.uel.ac.uk/D.Bowden/
23
Kierunek: Informatyka
Przedmiot:
Zastosowania informatyki I
Computer Science Applications I
Czas trwania: semestr 1
Przedmiot: kierunkowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr hab. Andrzej Wiśniewski 24 egzamin 5
Seminarium dr hab. Andrzej Wiśniewski 21 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsza znajomość literatury obowiązującej
przynajmniej w następujacych przedmiotach
Technologie sieciowe,
Bazy i hurtownie danych,
Metody Sztucznej Inteligencji
Aplikacje multimedialne i internetowe
Architektura sieci i systemów informatycznych
ZAŁOŻENIA I CELE
Głównym celem wykładu jest wprowadzenie do dziedziny wiedzy związanej z nowoczesnymi
zastosowaniami informatyki przemyśle, wojsku, nauce, rolnictwie, zarządzaniu, itp. Wykład
obejmuje genezę i perspektywy komputeryzacji, informatyzacji i robotyzacji w wybranych
obszarach zastosowań oraz dla wybranej dziedziny prezentację studium przypadku
przedsięwzięcia informatycznego. szczególna uwaga zostanie zwrócona na zastosowania
informatyki wynnikajace z teorii sterowania i systemów, elestycznych systemnów
produkcyjnych i fabryk bezludnych.
Celem Seminarium jest nabycie i opanowanie praktycznych umiejętności redagowania i
analizowania wymagań w wielkich przedsięwzięciach informatycznych dotyczących
wybranego obszaru. Studenci otrzymają do opracowania indywidualne problemy z zakresu
zastosowań informatyki, które nastepnie będą prezentowli na Seminarium i prowadzili
dyskusje problemową.
WYKŁAD
1. Inteligentne systemy elastycznego wytwarzania 1
wprowadzenie do elastycznej automatyzacji wytwarzania
24
podstawy systemów elastycznego wytarzania,
składniki automatyzacji obrabiarek i systemów obróbkowych,
2. Inteligentne systemy elastycznego wytwarzania 2
elastyczne stacje i systemy obróbkowe,
komputerowa integracja wytwarzania,
3. Informatyczne wspomaganie zarządzania gospodarką energetyczną 1
ewolucja systemu energetycznego w Polsce,
problemy przyszłości energetyki,
rozbudowa systemów informatycznych w dziedzinach przesyłu, dostępu i
przetwarzania,
4. Informatyczne wspomaganie zarządzania gospodarką energetyczną 2
Modelowanie systemów w czasie rzeczywistym,
Symulacja zagrożeń i awarii,
Moduły doradcze w systemach sterowania dyspozytorskiego
5. Systemy zarządzania kryzysowego 1
klasyfikacja zagrożeń i sytuacji kryzysowych
rodzaje centrów zarządzania kryzysowego i powiadamiania ratunkowego w Polsce,
przykładowa struktura centrum zarządzania kryzysowego
6. Systemy zarządzania kryzysowego 2
architektura komputerowego wspomagania centrum,
moduły GIS, GPS systemu wspomagania
7. Systemy zarządzania w opiece zdrowotnej 1
modele informacyjne jednostek opieki medycznej,
metody i typy danych medycznych,
akwizycja danych medycznych
8. Systemy zarządzania w opiece zdrowotnej 2
przetwarzanie danych obrazowych,
medyczne systemy doradcze,
medyczne systemy informacyjne
9. Informatyczne systemy bankowe 1
etapy rozwoju informatyki bankowej,
cechy systemów bankowych,
klasyfikacja systemów bankowych,
25
10. Informatyczne systemy bankowe 2
Operacyjne systemy zorientowane na księgowość, produkty, klienta,
Architektura bankowych systemów informatycznych,
Modele scoringowe
11. Studium przypadku zastosowania credit scoringu (1H)
System scoringowy: zalety i wady
Etapy budowy systemu scoringowego
Tabele punktowe i ogólne statystyki
12. Wprowadzenie do fabryk bezludnych
Definicja fabryki bezludnej
Od manipulatorów i robotów do fabryk bezludnych
Przykłady współczesnych fabryk bezludnych
Model systemu elektroeneregtycznego jako fabryki bezludnej
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Wstęp do teorii sterowania i systemów:
Przestrzeń stanów
Równanie stanu i równanie wyjścia
Schematy blokowe zmiennych stanu
Symulacja systemów sterowania
2. Wstęp do projektowania FMS 1 oraz FMS 2:
Planowanie procesów technologicznych - systemy CAD/CAM
Planowanie strategiczne,
Wybór asortymentu produkcji
3. Modelowanie systemów energetycznych:
Modelowanie systemów energetycznych w przestrzeni stanów
26
Identyfikacja systemów wielkich w środowisku MATLAB i Simulink
Symulacja awarii systemu elektroeneregtycznego
4. Identyfikacja systemów techniczno-ekonomicznych
Przygotowanie danych i eksperymentu
Możliwości wykorzystania wiedzy wynikajacej z macierzy TH
Modele transmitancyjne i modele w przestrzeni stanów
Przekształcenia modeli
5. Systemy nawigacji satelitarnej:
Moduły systemu nawigacji satelitarnej GPS,
GPS API w języku Java
6. Geograficzne systemy informacyjne:
Wykorzystanie danych serwisów internetowych (maps.google.com)
Projektowanie systemów warstwowych
7. Protokoły i standardy danych medycznych:
HL7,DICOM, EDIfact, itp.
ASC X12 (Accredited Standards Committee mesage format),
IEEE MIB (Medical Infomation Bus,IEEEE 1073)
Zastosowania ebXML w medycynie
8. Systemy ekspertowe czasu rzeczywistego
Własności systemów ekpertowych czasu rzeczywistego
Mozliwości symulacyjne funkcjonowania systemów ekspertowych czasu
rzeczywistego w środowisku MATLABA i Simulinka
9. Budowa systemu scoringowego:
Metody oceny zdolności kredytowej,
hurtownie danych w systemach bankowych
Niestatystyczne modele scoringowe
Statystyczne modele scoringowe
10. Modele zanurzeniowe systemów wielkich w środowisku MATLAB
Pojęcie subsystemu i zanurzenia
Hierarchiczne modele zanurzeniowe
Zmiany parametrów modelu
11. Symulacja rozwoju systemów wielkich
Zmiany parametryczne
Zmiany strukturalne
27
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
15pkt. Łącznie student za 10 zajęć może uzyskać od 0 do 150 pkt. ponadto student
przygotowuje własne wystąpienie seminaryjne za które może otrzymać od 0 do 50 pkt.
Łączna ocena punktowa Seminarium zawiera się w granicach 0-200 pkt. Ocena końcowa
zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Ball, M.J.etal., Systemy zarządzania informacją w opiece zdrowotnej, Warszawa
1997,
2. Cieciura M. Podstawy technologii informacyjnych z przykładami zastosowań,
Warszawa 2007
3. Honczarenko J., Elastyczna automatyzacja wytwarzania, obrabiarki i systemy
obrobkowe,Warszawa 2000,
4. Kaczorek T., Teoria sterowania i systemów, WNT, Warszawa 2005
5. Matuszyk A., Credit scoring, Warszawa 2004
6. Rudowski R., Informatyka medyczna, PWN, Warszawa 2006
28
Kierunek: Informatyka
Przedmiot:
Metody ewolucyjne i sieci neuronowe Evolutionary
Methods and Neural Networks
Czas trwania: semestr 1
Przedmiot: obieralny
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład
dr inż. Jerzy Tchórzewski
prof. dr hab. inż. Mieczysław
Kłopotek
21 egzamin
5
Laboratorium mgr Mariusz Kujawiak
dr inż. Jerzy Tchórzewski 24
zaliczenie na
ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Sztuczna inteligencja
lub znajomośc literatury z zakresu metod sztucznej inteligencji, a zwłaszcza sztucznych sieci
neuronowych i algorytmów ewolucyjnych oraz podstaw metod heurystycznych
i hybrydowych.
ZAŁOŻENIA I CELE
Głównym celem wykładu jest poznanie metod i algorytmów krzepkich, a zwłaszcza
algorytmów ewolucyjnych oraz sieci neuronowych. Rozwiniętymi celami szczegółowymi są:
Współczesne metody i algorytmy genetyczne i ewolucyjne
Strategie genetyczne i ewolucyjne
Programowanie genetyczne i ewolucyjne
Projektowania różnego rodzaju sztucznych sieci neuronowych
Złożone sieci neuronowe wielowarstowe ze sprzężeniem zwrotnym oraz sieci
komórkowe
Celem laboratorium jest natomiast nabycie i opanowanie praktycznych umiejętności w
rozwiazywaniu problemów wyjaśnianych w czasie wykładu, a także poszerzenie wiadomości
nabytych w dotychczasowym procesie dydaktycznym w środowisko MATLABA i Simulinka.
Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
29
rozszerzenie umiejętności programowania w języku Matlab
projektowaniu systemów hybrydowych wykorzystujących metody neuronowe i
ewolucyjne
użycie Toolboxów - Neural Networks Toolbox
WYKŁAD
1. Metody optymalizacji globalnej
Właściwości funkcji celu,
Znaczenie liczby wymiarów
Metody optymalizacji globalnej
Metody wielokryterialne
Środowiska dynamiczne
Kryteria oceny algorytmu
Metody adaptacyjne
2. Złożone typy algorytmów ewolucyjnych.
Symulacja działania strategii ewolucyjnej
Kodowanie drzewiaste
Programy powstajace samoczynnie
Metody zarządzania populacją
Eksploracja i eksploatacja i nacisk selektywny
Metody oceny algorytmów ewolucyjnych
Nowoczesne kryteria zatrzymania algorytmu
Monitorowania przebiegu algorytmu ewolucyjnego
3. Zapobieganie przedwczesnej zbieżnosci algorytmów ewolucyjnych
Metody przeszukan lokalnych
Efekt Baldwina i ewolucja lamarkowska
Czas życia osobników w populacji bazowej
Selekcja sterowana czasem życia
Optymalizacja wielomodalna
Czynnik losowy w algorytmach ewolucyjnych
Osłabianie konkurencyjnosci w ramach selekcji
Preselekcja i posiew nierównomierny, Systemowa populacja początkowa i funkcja
przystosowania
4. Algorytmy ewolucyjne w środowisku dynamicznym
Skomplikowane struktury danych
Zadania o nieustalonej liczbie parametrów
Kodowanie specjalizowane
Dominacja i algorytmy naprawy
Koewolucja, w tym pamięć na poziomie populacji i na poziomie osobnika
Separacja ograniczen od funkcji celu, w tym pierwsza metoda Gwiazdy
Dominacja rozwiazań dopuszczalnych
Pamięć behawioralna i metoda Conga
30
5. Dedykowane elementy algorytmu ewolucyjnego
Dedykowana reprezentacja rozwiazania
Dedykowane operatory
Mutacja logarytmiczna
Ranking stochastyczny
Druga metoda Gwiazdy - pełne krzyżowanie
Systemowe algorytmy ewolucyjne
6. Hierarchiczne algorytmy ewolucyjne i pamięci asocjacyjne
Sztuczny kod informacyjny
Kodowanie i dekodowanie
Hierarchiczne chromosomy
Sieć Hopfielda jako pamieć asocjacyjna
Odmiany sieci Hamminga jako pamięci asocjacyjne
Pamięci BAM i jej odmiany
Neurodynamika pamięci asocjacyjnych
Dyskretne sieci neuronowe
7. Obliczenia ewolucyjne jako metoda uczenia pamięci asocjacyjnych
Pojecie krajobrazu funkcji przystosowania
Sposoby poruszania sie po przestrzeni funkcji przystosowania
Niestandardowe algorytmy ewolucyjne
Ewolucyjne obliczenia w uczeniu sie sieci neuronowych
8. Samoorganizujace się sieci konkurencyjne
Specyfika sieci WTA
Sieci konkurencyjne o wielu zwycięzcach
Autoasocjacyjne sieci neuronowe
Heteroasocjacyjna sieć o wielu zwycięzcach
9. Epizodyczna pamięć asocjacyjna
Rola wielu zwycięzców
Zwycięzcy w sieci dwukierunkowej
Rozdrabnianie modułow w sieci neuronowej
10. Systemowe sieci neuronowe
Rola powiązań systemowych w sieci neuronowej
Ontogoniczne sieci neuronowe
Od ontogonocznej sieci neuronowej do systemowej sieci neuronowej
Sieci neuronowe samorozwijajace się
Chaotyczne sieci neuronowe
Rozmyte sieci neuronowe
11. Systemy hybrydowe
31
Hybrydowe algorytmy ewolucyjne
Hybrydowe sieci neuronowe
Hybrydowe algorytmy ewolucyjno-neuronowe
Zanurzenia
Kody genetyczne zanurzeniowe
Rozwój metod hybrydowych
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Klasyczny algorytm ewolucyjny
Algorytm ewolucyjny i jego implementacja w języku Matlab,
Generowanie populacji poczatkowej,
Tworzenie funkcji przystosowania,
Podstawowe operatory genetyczne,
2. PERCEPTRON
Sieci neuronowe wielowarstwowe jednokierunkowe,
Plik uczący i plik testujacy dla sieci PERCEPTRON,
Dobór liczby wejść wyjść sieci, inicjalizacji wag poczatkowych, dobór funkcji
aktywacji,
3. Sieci Hopfielda
Sieci neuronowe jednowarstwowe ze sprzężeniem zwrotnym,
Dobór reguły uczenia,
Problemy implementacyjne z wykorzystaniem Neural Network Toolbox,
4. Sieci WTA oraz WTM
Sieci neuronowe samoorganizujace się (SOM),
Wady i zalety reguły uczenia WTA i reguł pokrewnych takich jakWTM,
Mapowanie wiedzy za pomoca sieci neuronowych SOM,
5. Systemowy algorytm ewolucyjny
32
Istota Systemowego Algorytmu Ewolucyjnego (SAE),
Systemowe generowanie populacji początkowej,
Systemowe generowanie funkcji przystosowania,
Systemowe generowanie operatorów genetycznych,
Systemowa metoda selekcji,
6. Systemowa sieć neuronowa
Systemowe generowanie wag początkowych,
Systemowy dobór reguły uczenia,
Systemowa funkcja aktywacji,
7. Rozmyta sieć neuronowa
Rozmyta reprezentacja wiedzy,
Rozmyta funkcja aktywacji,
Rozmyte reguły uczenia,
8. Chaotyczna siec neuronowa
Chaos, atraktory, dynamiczne stany równowagi,
Sposoby reprezentacji wiedzy w chaotycznej sieci neuronowej,
Reguły uczenia w sieciach chaotycznych,
9. Ontogeniczne i rozwijające się sieci neuronowe
Uczenie sieci neuronowych zmieniajacych swą strukture,
Dobór reguły uczenia,
Dobór wag poczatkowych,
10. Sieć neuronowa z zanurzeniami
Rodzaje zanurzeń neuronowych,
Projektowanie sieci neuronowych z zanurzeniami ewolucyjnymi,
11. Sieć neuronowa generująca chromosomy,
Rodzaje zanurzeń ewolucyjnych,
Projektowanie algorytmów ewolucyjnych z zanurzeniami neuronowymi,
Algorytm ewolucyjny generujący wagi początkowe sieci neuronowej,
12. Hybrydowy system hierarchiczny
Istota chromosomów hierarchicznych,
Istota neuronów (wag) hierarchicznych,
Istota operatorów hierarchicznych,
ZALICZENIE LABORATORIUM
33
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego i ostatniego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie
ocen cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego
projektu. W przypadku nieobecności studenta na laboratorium sposób ich odpracowania
określa osoba odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
15 pkt. Łącznie student za 10 zajęć może uzyskać od 0 do 150 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 50 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 26 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Arabas J..: Wykłady z algorytmów ewolucyjnych. WNT. Warszawa 2001
2. Osowski S.: Sieci neuronowe do przetwarzania informacji. WNT.Warszawa 2005
3. Rutkowski L.: Metody i techniki sztucznej inteligencji. WN PWN. Warszawa 2005
4. Tadeusiewicz R.: Elementarne wprowadzenie do techniki sieci neuronowych z
przykładowymi programami. AOW PLJ. Warszawa 1998
5. Kłopotek M.: Inteligentne przeglądarki internetowe. EXIT.Warszawa 2005
6. Zielinski J. S.: Inteligentne systemy w zarządzaniu. Teoria i praktyka. WN PWN.
Warszawa 2000
34
Kierunek: Informatyka
Przedmiot:
Inteligentne systemy agentowe
Intelligent Agent Systems
Czas trwania: semestr 1
Przedmiot: obieralny
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr hab. Franciszek Seredyński 21 egzamin 5
Laboratorium mgr Mirosław Szaban 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Podstawy Programowania
Języki i paradygmaty programowania
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu ”Inteligentne Systemy Agentowe” jest zaznajomienie z
aktualnie stosowanymi algorytmami inspirowanymi przez Naturę i stosowanymi aktualnie do
poszukiwania rozwiązań w dużych przestrzeniach, w aspekcie zarówno teoretycznym jak i
praktycznym. Rozwiniętymi celami szczegółowymi są:
Algorytmy inspirowane przez Naturę
Metody kodowania osobników
Optymalizacja z użyciem algorytmów inspirowanych przez Naturę
Dylemat więźnia - elementy teorii gier
Automaty uczące się i automaty komórkowe.
Celem laboratorium jest poszerzenie wiadomości nabytych w ramach wykładu oraz nabycie
praktycznych umiejętności w zakresie stosowania algorytmów inspirowanych przez Naturę i
stosowanych aktualnie do poszukiwania rozwiązań w dużych przestrzeniach. Cele
szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
Implementacja i testowanie algorytmów bazujących na róznych paradygmatach
istniejących w Naturze
35
Budowa i testowanie jakości działania, algorytmów na standardowych funkcjach
testujących
Optymalizacja funkcji
Budowa systemów kryptograficznych
Poszukiwanie strategii w grach, itp.
WYKŁAD
1. Wprowadzenie do algorytmów inspirowanych przez Naturę:
Motywacje
Optymalizacja funkcji i optymalizacja kombinatoryczna
Problemy NP-trudne
Przegląd algorytmów inspirowanych przez Naturę
2. Klasyczny algorytm genetyczny (AG):
Podstawowe założenia
Operatory genetyczne
Modyfikacje klasycznego AG
3. Dylemat Więźnia (DW):
2-osobowy (DW)
Kodowanie Axelrod’a
N-osobowy DW
Kodowanie Yao i Darwen’a
4. Strategie Ewolucyjne (SE):
Założenia
Operatory używane w SE
Algorytmy SE
5. Symulowane wyżarzanie, metoda tabu, algorytmy mrówkowe:
Algorytmy wzrostu
Algorytm symulowanego wyżarzania
Algorytm tabu
Algorytmy mrówkowe
6. Algorytmy koewolucyjne:
Paradygmaty koewolucji
Wybrane algorytmy koewolucyjne
7. Sztuczne systemy immunologiczne (SSI):
Systemy immunologiczne
Algorytm CLONALG
36
Zastosowania SSI
8. Programowanie genetyczne (PG):
Założenia
Operatory PG
Zastosowania
9. Roje cząsteczek:
Założenia
Schemat obliczeniowy
Zastosowania
10. Automaty uczące się i automaty komórkowe:
Koncepcje automatów uczących się i automatów komórkowych
Algorytmy ewolucyjne i automaty komórkowe
Zastosowania
11. Uczące się systemy klasyfikujace (USC):
Nurty rozwoju USK
Klasyczny USC
System XCS
Zastosowania
ZALICZENIE WYKŁADU
Zaliczenie wykładu odbywa sie na podstawie sumy punktów uzyskanych z kolokwium
odbywajacego sie w połowie semestru (30 punktów) oraz egzaminu pisemnego koncowego
(70 punktów). W wyjatkowych okolicznosciach zamiast egzaminu pisemnego moze byc
przeprowadzony egzamin ustny. Warunkiem zaliczenia przedmiotu jest uzyskanie minimum
51% punktów z maksymalnej liczby
punktów, jakie mozna uzyskac z kolokwium i egzaminu koncowego. Schemat oceniania na
podstawie liczby uzyskanych punktów jest nastepujacy (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Wprowadzenie do algorytmów inspirowanych przez Naturę:
Systemy liczbowe, kod Grey’a,
37
Optymalizacja funkcji,
Reprezentacja i populacja początkowa,
Kodowanie osobnika,
Funkcja oceny.
2. Algorytmy genetyczne I:
Ogólny algorytm genetyczny,
Pojęcia genetyczne ich znaczenie,
Rodzaje algorytmów genetycznych,
Funkcja oceny w algorytmie genetycznym,
Operatory genetyczne,
Parametry i wyniki obliczeń.
3. Operatory genetyczne I - Selekcja:
Rodzaje selekcji,
Dobór parametrów selekcji,
Porównanie wyników różnych selekcji,
Wpływ rodzaju selekcji na uzyskane wyniki działania algorytmu ewolucyjnego.
4. Operatory genetyczne II - Krzyżowanie:
Rodzaje krzyżowania,
Dobór parametrów krzyżowania,
Porównanie wyników róznych krzyzowan,
Wpływ rodzaju krzyżowania na uzyskane wyniki działania algorytmu ewolucyjnego.
5. Operatory genetyczne III - Mutacja:
Rodzaje mutacji,
Dobór parametrów mutacji,
Porównanie wyników róznych mutacji,
Wpływ rodzaju mutacji na uzyskane wyniki działania algorytmu ewolucyjnego.
6. Algorytmy genetyczne II:
Rozwiązywanie problemów przy pomocy algorytmu genetycznego,
Dobór operatorów,
Dobór parametrów,
Poszukiwanie rozwiązania (uruchamianie algorytmu genetycznego),
Analiza i dokumentacja wyników.
7. Algorytmy optymalizacji:
Algorytm największego wzrostu - HillClimbing,
Algorytm symulowanego wyżarzania - Simulated Annealing,
Algorytm Tabu - Tabu Search.
8. Roje cząsteczek - Partical Swarm:
38
Budowa cząsteczki,
Funkcja prędkosci cząsteczki,
Konstrukcja algorytmu,
Testy i analiza wyników.
9. Automaty komórkowe 1D:
Budowa automatu komórkowego 1D,
Algorytm działania - reguła,
Klasyfikacja automatów komórkowych,
Zastosowanie w procesach kryptograficznych - generatory liczb pseudolosowych.
10. Automaty komórkowe 2D:
Budowa automatu komórkowego 2D,
Algorytm działania - reguła,
Konstrukcja Game of Life - przykładu działania automatu komórkowego 2D
11. Travelling Salesman Problem (TSP):
Problemy transportowe,
Kodowanie osobnika,
Funkcja oceny,
Stosowanie algorytmu genetycznego do rozwiązania problemu TSP (biblioteki
standardowe).
12. Algorytm mrówkowy (Ant Colonies):
Opis problemu,
Kodowanie osobnika,
Feromony i ich znaczenie,
Zastosowanie algorytmu mrówkowego do rozwiązania problemu TSP (biblioteki
standardowe).
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 90 pkt. Zaliczenie
39
projektu następuje po uzyskaniu co najmniej 46 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy
ewolucyjne, WNT, 2003
2. David A. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, 2003
3. J. Arabas, Wykłady z algorytmów ewolucyjnych, WNT, 2001
4. Materiały z dorocznych międzynarodowych konferencji: GECCO, CEC, PPSN
5. Materiały z serii konferencji ”Sztuczna Inteligencja”, Wydawnictwo Akademii
Podlaskiej
6. Robert Wieczorkowski, Ryszard Zieliński, Komputerowe generatory liczb losowych,
WNT 1997
7. Sławomir Wierzchoń: Systemy immunologiczne, EXIT 2001
40
Kierunek: Informatyka
Przedmiot:
Zaawansowane technologie programistyczne
Advanced Programming Technologies
Czas trwania: semestr 2
Przedmiot: kierunkowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Mirosław Barański 30 egzamin 6
Laboratorium mgr Krzysztof Pietraszek 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Podstawy programowania,
Algorytmy i złożoność.
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Podstawowym celem wykładów jest przekazanie wiedzy o zaawansowanych technikach
programistycznych oraz rozszerzenie wiedzy dotyczącej paradygmatów programowania.
Treści przedmiotu są kontynuacją zagadnień omawianych na wykładach z przedmiotów
Podstawy Programowania, Programowanie obiektowe oraz Programowanie zaawansowane.
Celem zajęć laboratoryjnych jest nabycie i opanowanie umiejętności programowanie w
zakresie reprezentowanym przez problematykę wykładów. Językami programowania
wykorzystywanymi na zajęciach są Java i C++.
WYKŁAD
1. Programowanie wielowątkowe w języku Java
Podstawy tworzenia wątków: obiekty zarządzające wątkami i obiekty-wątki
Tworzenie klas wątków
2. Zarządzanie wątkami w języku Java
Działania dostępne na wątku
41
Przełączanie wątku
Priorytety wątków
3. Synchronizacja wątków w języku Java
Praca synchroniczna,
Przyczyny synchronizacji metod
Synchronizacja metod asynchronicznych
Przerywanie metod synchronicznych
4. Kolekcje w języku Java
Interfejsy kolekcji
Kolekcje konkretne (listy, zbiory drzewiaste, mapy)
Szkielet kolekcji
Algorytmy
Tradycyjne kolekcje
5. Obiekty zdalne w języku Java
Wywołania zdalnych metod (RMI)
Konfiguracja wywołania zdalnych metod
Przekazywanie parametrów zdalnym metodom
Wykorzystanie RMI w apletach
Aktywacja obiektów serwera
6. Komponenty programowe JavaBeans
Środowisko programistyczne NetBeans
Właściwości komponentów Beans
7. Komponenty programowe JavaBeans
Adaptery
Oprogramowanie zdarzeń
Łączenie właściwości Beans
8. Tworzenie własnych komponentów Beans
Metody projektowe
Używanie interfejsu BeanInfo
9. Przeciążanie operatorów w języku C++
Funkcje operatorowe
Przeciążanie operatorów inkrementacji i dekrementacji
Przeciążanie operatora przypisania
Przeciążanie operatora indeksowania
Przeciążanie operatora dostępu do składowych
42
10. Programowanie generyczne w języku C++
Idea programowania generycznego
Pojęcie szablonu funkcji
Pojęcie szablonu klasy
Pozatypowe parametry szablonów
Specjalizacja i przeciążanie
11. Programowanie generyczne w języku C++
Standardowa biblioteka szablonów STL: kontenery
Standardowa biblioteka szablonów STL: iteratory
Standardowa biblioteka szablonów STL: algorytmy
12. Metaprogramowanie i szablony wyrażeń
Wytyczne
Klasy parametryzowane wytycznymi
Szablony wyrażeń
13. Inteligentne wskaźniki
Szablon auto_ptr
Inteligentne wskaźniki jako składowe
14. Funktory
Standardowa biblioteka szablonów STL: obiekty funkcyjne
Adaptory funkcji
15. Wątki
Wątki API Windows
Wątek uruchomiony bezpośrednio za pomocą funkcji API
Wątek uruchomiony za pomocą klas VCL
Synchronizacja wątków w VCL
Wątek o podwyższonym priorytecie
Wątek zawierający sekcję krytyczną
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
43
LABORATORIUM
1. Programowanie wielowątkowe w języku Java
Podstawy tworzenia wątków: obiekty zarządzające wątkami i obiekty-wątki
Tworzenie klas wątków
2. Zarządzanie wątkami w języku Java
Uruchomienie, wstrzymanie, zatrzymanie, zawieszenie wątku
Wymuszenie przełączenia wątku
3. Synchronizacja wątków w języku Java
Praca synchroniczna,
Synchronizacja metod asynchronicznych
Przerywanie metod synchronicznych
4. Kolekcje w języku Java
Interfejsy kolekcji
Kolekcje konkretne (listy, zbiory drzewiaste, mapy)
Szkielet kolekcji
Algorytmy
Tradycyjne kolekcje
5. Obiekty zdalne w języku Java
Wywołania zdalnych metod (RMI)
Konfiguracja wywołania zdalnych metod
Przekazywanie parametrów zdalnym metodom
Wykorzystanie RMI w apletach
Aktywacja obiektów serwera
6. Komponenty programowe JavaBeans
Właściwości komponentów Beans
Posługiwanie się komponentami JavaBeans
7. Komponenty programowe JavaBeans
Adaptery
Oprogramowanie zdarzeń
Łączenie właściwości Beans
8. Tworzenie własnych komponentów Beans
Metody projektowe
44
Używanie interfejsu BeanInfo
9. Przeciążanie operatorów w języku C++
Implementacja funkcji operatorowych dla operacji inkrementacji i dekrementacji
Implementacja funkcji operatorowych dla operacji przypisania
Implementacja funkcji operatorowych dla operacji indeksowania
Implementacja funkcji operatorowych dla operacji dostępu do składowych
10. Programowanie generyczne w języku C++
Tworzenia szablonów funkcji
Tworzenie szablonów klasy
Pozatypowe parametry szablonów
Specjalizacja i przeciążanie
11. Programowanie generyczne w języku C++
Wykorzystanie standardowa biblioteki szablonów STL: kontenery
Wykorzystanie standardowa biblioteki szablonów STL: iteratory
Wykorzystanie standardowa biblioteki szablonów STL: algorytmy
12. Metaprogramowanie i szablony wyrażeń
Wytyczne
Klasy parametryzowane wytycznymi
Szablony wyrażeń
13. Inteligentne wskaźniki
Wykorzystanie szablonu auto_ptr
Inteligentne wskaźniki jako składowe
14. Funktory
Wykorzystanie standardowa biblioteki szablonów STL: obiekty funkcyjne
Adaptory funkcji
15. Wątki
Wątki API Windows
Wątek uruchomiony bezpośrednio za pomocą funkcji API
Wątek uruchomiony za pomocą klas VCL
Synchronizacja wątków w VCL
Wątek o podwyższonym priorytecie
Wątek zawierający sekcję krytyczną
ZALICZENIE LABORATORIUM
45
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. David Vandevoorde, Nicolai M. Josuttis - C++ Szablony, vademecum profesjonalisty,
Helion 2003
2. Stephen C. Dewhurst - C++. Kanony wiedzy programistycznej, Helion 2005
3. Nicolai M. Josuttis - C++. Programowanie zorientowane obiektowo. Vademecum
profesjonalisty. Helion 2003
4. James O. Coplien - C++. Styl i technika zaawansowanego programowania. Helion
2004
5. Cay Horstmann, Gary Cornell - Java 2. Techniki zaawansowane. Helion 2005
6. Specyfikacja języka Java - http://java.sun.com
46
Kierunek: Informatyka
Przedmiot:
Multimedialne interfejsy użytkownika
Multimedia User Interfaces
Czas trwania: semestr 2
Przedmiot: kierunkowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Anna Kołkowicz 21 zaliczenie na ocenę 5
Laboratorium mgr Tomasz Pachecki 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Grafika i komunikacja człowieka z komputerem
lub znajomość literatury obowiązującej w tym przedmiocie
ZAŁOŻENIA I CELE
Celem głównym wykładu jest przedstawienie zasad i metodyki projektowania
multimedialnych interfejsów użytkownika. Rozwiniętymi celami szczegółowymi są:
projektowanie ukierunkowane na użytkownika
metody oceny jakości interfejsu użytkownika
narzędzia pozwalające na doskonalenie komunikacji człowiek-komputer
Celem laboratorium jest nabycie praktycznych umiejętności w rozwiązywaniu problemów z
zakresu projektowania multimedialnych interfejsów użytkownika oraz wykorzystania
narzędzi umożliwiających doskonalenie komunikacji człowiek komputer, a także poszerzenie
wiadomości nabytych w dotychczasowym procesie dydaktycznym.
Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
Komunikacja człowiek-komputer za pomocą interfejsow graficznych
Projektowanie interfejsów głosowych
Wykorzystanie bibliotek DirectX i OpenGL do interakcji z komputerem
Treści zajęć obejmują następujące zagadnienia:
47
WYKŁAD
1. Cel i zakres przedmiotu. Rola i ewolucja użytkownika i komunikacji człowiek-
komputer.
Podstawowe pojęcia: Interfejs Użytkownika, Muttimedialny Interfejs Użytkownika,
Mentalny Model Uzytkownika
Historia i ewolucja interfejsów użytkownika
2. Pozyskiwanie obrazów
Fotografia cyfrowa
Metody kompresji grafiki
3. Przetwarzanie obrazu
Metody poprawy jakości obrazów
Histogram, wyrównanie histogramu, histogram skumulowany
Filtrowanie
Analiza obrazów, zastosowania
4. Pozyskiwanie i przetwarzanie dźwieku
Pojęcie i właściwosci dźwięku
Cyfrowe przetwarzanie dźwięków
Rozpoznawanie mowy i rozpoznawanie mówcy
5. Projektowanie interfejsu użytkownika
User Centered Design
Cykl projektowania interfejsu użytkownika
Pozyskiwanie danych od użytkownika,metody
6. Obiektowa metodologia analizy i projektowania Muttimedialnego Interfejsu
Użytkownika
Poziomy zadań
Poziom semantyczny
Poziom syntaktyczny
7. Ocena jakości Interfejsu Użytkownika - kryteria
Kryteria oceny jakości
Użyteczność
Zasady projektowania graficznego i multimedialnego interfejsu użytkownika
8. Zastosowanie metodyki KANSEI do doskonalenia interfejsów oprogramowania
Zarys podejścia KANSEI
Podstawy KANSEI ENGINEERING
48
Metodyka projektowania KANSEI
9. Ocena użyteczności interfejsu uzytkownika
Rodzaje testów
Eye-tracking
Web-usability
10. Projektowanie i użyteczność interfejsów głosowych
Interakcyjne tworzenie systemu
Ocena jakości VUI
Wykorzystanie okulografii w analizie użyteczności VUI
11. Iinterfejs użytkownika aplikacji Web dla urządzeń mobilnych
Porównanie komputera i telefonu komórkowego
Interfejs telefonu komórkowego
Standardy przeglądarek WEB w telefonach komórkowych
Projektowanie interfejsu aplikacji internetowej dla urządzeń mobilnych
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Przetwarzanie obrazu
Histogram, wyrównanie histogramu
Filtrowanie górnoprzepustowe
Segmentacja obrazu
2. Windows API
Podstawowe pojęcia (kontekst, narzędzia graficzne, układ współrzędnych)
Funkcje obsługi myszy i klawiatury
Okna dialogowe
3. Tworzenie modeli 3D
49
Modele low-poly
Teksturowanie modelu
Normal mapping
4. DirectX - grafika 2D
Podstawowe komponenty DirectX
Inicjalizacja DirectX
Format wierzchołka
5. GUI w DirectX
DirectInput – obsługa myszy
Blending – mieszanie kolorów
Własne kontrolki graficzne
6. DirectX - obsługa kamery
Macierz projekcji
Macierz widoku
Backface culling
7. Modele 3D
Format .X
Format .OBJ
Wczytywanie modelu
8. Animacja w DirectX
Prosta animacja
Animacja postaci
Kolizje
9. Generowanie terenu
Fraktalne generowanie terenu
Mapy wysokości
Teksturowanie terenu
10. DirectX – shadery
Pixel Shader
Vertex Shader
Geometry Shader
11. DirectX – gra 2D Sokoban
Generowanie planszy
Ruch obiektów w grze
50
DirectSound - dzwięki w grze
12. DirectX – gra 3D symulator lotu
Fizyka w grach 3D
Ruch kamery
Łączenie elementów 2D i 3D
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Tadeusiewicz, R., Flasiński, M., Rozpoznawanie obrazów, PWN, 1991
2. Tadeusiewicz, R., Systemy wizyjne robotów przemysłowych, WNT, 1992
3. Pavlidis, T., Grafika i przetwarzanie obrazów, WNT, 1987
4. Watkins, C.D., Sadun, A., Marenka, S., Nowoczesne metody przetwarzania obrazu,
WNT, 1995
5. Wojciechowski, K., Rozpoznawanie obrazów, Politechnika Śląska, Gliwice, 1997
6. Ostrowski, M. (red), Informacja obrazowa, WNT, 1992
7. Masarek K., Sikorski M. (red), Interfejs użytkownika Kansei w praktyce,
Wydawnictwo PJWSTK, Warszawa 2006
8. M. Kasperski, Anna Boguska-Torbicz Projektowanie stron WWW. Użyteczność w
praktyce, Helion 2008,
51
1. D.P. Agrawal, Q-A Zeng: Introduction to Wireless and Mobile Systems, Thomson,
2006
2. W. Stallings, Wireless Communications and Networks, Prentice Hall, 2001
3. S. Basagni et al.: Mobile Ad Hoc Networking, Wiley, 2004
4. M. Ilyas (ed.): The Handbook of Ad Hoc Wireless Networks, CRC Press, 2003
5. M. Ilyas, I. Mahgoub (eds.): Mobile Computing Handbook, Auerbach, 2005
6. C. Siva Ram Murthy, B.S. Manoy: Ad Hoc Wireless Networks, WNT, Prentice Hall,
2004
52
Kierunek: Informatyka
Przedmiot:
Sieci i systemy wirtualne
Virtual Networks Systems
Czas trwania: semestr 2
Przedmiot: obieralny
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Wacław Bejtan 21 egzamin 5
Laboratorium dr Wacław Bejtan 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Języki i paradygmaty progamowania
lub znajomość literatury z tego przedmiotu.
ZAŁOŻENIA I CELE
Celem wykładu jest zapoznanie studentów z pojęciem przestrzeni wirtualnej systemów
komputerowych. Przestrzeń wirtualna w odniesieniu do informatyki obejmuje zarówno
maszyny matematyczne jak i współdziałającego z nimi człowieka. Współczesna
heterogeniczna struktura przestrzeni systemów komputerowych pozwala poddać się takiej
transformacji, po której staje się jednorodna i jednakowa dla wszystkich uczestników.
Przenosząc się do takiej nowej rzeczywistości wirtualnej wszyscy stajemy się
równouprawnionymi członkami największej na świecie, globalnej społeczności, w której
każdemu dane są identyczne możliwości. Wykład, jako adresowany do inżynierów, którzy
będą współuczestniczyć w tworzeniu mechanizmów wspomnianej wyżej transformacji,
prezentuje na wybranych przykładach podstawowe założenia i sposoby realizacji tego procesu
przemiany. Celem wykładu jest więc wyrobienie w uczestnikach intuicji dotyczącej pojęcia
"wirtualny" zarówno w kontekście maszyn - korzystając np. z przykładu maszyny wirtualnej -
jak też w kontekście ludzkim - np. biorąc jako przykład pojęcie telepracy.
Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu
problemów wyjaśnianych w czasie wykładu. W szczególności zaś zapoznanie się z budową i
tworzeniem interpretera języka programowania będącego podstawą do wprowadzenia w
środowisko systemów i sieci wirtualnych. Celem laboratorium jest również nabycie
umiejętności pracy w środowiskach wirtualnych, a także z całościowym procesem tworzenia
oprogramowania w oparciu o pracę w grupie większej ilości osób tworzących
53
oprogramowanie, które są podstawą funkcjonowania dzisiejszych zespołów
programistycznych.
WYKŁAD
1. Rozproszony zespół projektowy
Inicjatywa Otwartych Źródeł
Społeczność użytkowników „SourceForge.net”
Usługi i serwisy „SourceForge.net”
Rejestracja użytkownika „SourceForge.net” i zakładanie projektu
Zarządzanie projektem w „SourceForge.net”
Repozytorium CVS,
Sposoby korzystania z CVS w projektach zarządzanych za pomocą „SourceForge.net”
2. Języki formalne i metody kompilacji
Język formalny, gramatyka, rodzaje gramatyk,
Schemat działania kompilatora
Analizator leksykalny - skaner
Analizator składniowy - parser
Parser zstępujący - przykład
Leczenie lewostronnej rekursji
Gramatyki LL(k)
3. JVM - Java™ Virtual Machine: wykonanie programu
Przykłady maszyn wirtualnych: PVM, JVM, Microsoft VM
Założenia przyjęte przy tworzeniu maszyny wirtualnej
Początek działania maszyny wirtualnej,
Fazy uruchamiania programu na maszynie wirtualnej.
Faza ładowania: lista czynności wykonywanych przez ClassLoader, Faza linkowania:
lista czynności,
Weryfikacja ładowanego kodu, Przygotowanie przestrzeni dla danych
Rezolucja referencji symbolicznych
Faza Inicjalizacji: lista czynności dla klasy, lista czynności dla interfejsu
4. Podstawowe koncepcje języka programowania javy
zmienne,
klasy,
internejsy,
tablice,
konwersje i promocje,
wyjątki,
5. Struktura maszyny wirtualnej
typy danych
54
obszary danych rzeczywistego czasu pracy maszyny: rejestr pc, stosy JVM, sterta,
obszar metod, pula stałych rzeczywistego czasu, stos metod natywnych,
ramki,
interpreter - pętla główna
6. Format pliku binarnego (plik z rozszerzeniem .class):
Struktura ClassFile
Położenie kodu w strukturze pliku binarnego
Weryfikacja struktury pliku binarnego
Przejście pierwsze: sprawdzenie poprawności wczytywanej struktury
Przejście drugie: sprawdzenie dziedziczenia, wskaźników do pól, poprawności nazw
Przejście trzecie: weryfikacja kodu
Przejście czwarte: przejście wirtualne (w trakcie wykonywania programu)
7. HotSpot VM - implementacja rzeczywistej maszyny wirtualnej
Architektura klienta i serwera,
Problemy kompilacji JIT (just-in-time)
Technologia adaptacyjna: wykrywanie gorących punktów (hot spot), dynamiczna
deoptymalizacja,
Kompilator wykonywanego kodu w maszynie wirtualnej - wersja serwer i klient,
8. Odśmiecanie sterty (Garbage Collection)
Podstawowe algorytmy odśmiecania sterty (GC)
Algorytm domyślny w wersji J2SE 1.4.2 i 5.0: serial GC
Właściwości obiektów na stercie, charakterystyka czasów życia
Podział sterty na obszary minor i major, strategia przenoszenia obiektów między
obszarami,
Miary skuteczności odśmiecania,
Monitorowanie mechanizmu GC w trakcie pracy aplikacji,
Modyfikowanie struktury sterty pod kątem wydajności uruchamianej aplikacji
9. Pozostałe mechanizmy odśmiecania sterty (GC) zaimplementowane w JVM
The throughput collector,
The concurrent low pause collector,
The incremental low pause collector
Ergonomia w JVM 5.0
10. Funkcjonalność wirtualnych grup użytkowników
Telepraca
Definicja telepracy
Kategorie telepracowników
Dane statystyczne na temat wykorzystania telepracy w Europie,
Prawo autorskie i implikacje jego stosowania w pracy informatyka
55
11. Licencja Otwartych Źródeł (Open Source) jako prawne narzędzie ekspansji
systemów wirtualnych
Inicjatywa Open Source
licencje Open Source
licencja GNU
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Reguły włączenia się do społeczności „SourceForge.net”
Rejestracja uczestnika w „SourceForge.net”
Konfiguracja WinCVS w celu utworzenia dostępu do repozytorium
2. Projekty realizowane w ramach „SourceForge.net” – interpretery języków
strukturalnych
Zakończenie procesu rejestracji uczestników „SourceForge.net”
Zgłoszenie własnych projektów do administratorów „SourceForge.net”
3. Repozytorium CVS
Zakończenie konfiguracji WinCVS oraz Putty
Zapis i odczyt z repozytorium założonych projektów
4. Analiza założeń dotyczących składni fragmentu języka obsługiwanego przez
interpretery
Tworzenie specyfikacji w BNF
Podstawowe pojęcia języka: słowo kluczowe, nazwa, liczba
Zmienne, Instrukcje proste, Instrukcje złożone (pętle)
Prezentacja specyfikacji BNF
5. Analiza funkcjonalności interpretera
Struktura interpretera: analizator leksykalny, analizator składniowy, inicjalizator,
egzekutor
56
Przepływ sterowania w interpreterze
6. Generator analizatora leksykalnego Flex
Zapoznanie z programem Flex
Reguły analizatora
Warunki początkowe
Makra
7. Generator analizatora składniowego Bison
Zapoznanie z programem Bison
Zasady budowy plików dla programu Bison
Wywołanie programu
8. Analiza postaci pośrednich danych przekazywanych między kolejnymi modułami
interpretera
Dane wczytywane,
Dane z analizatora leksykalnego
Dane z analizatora składniowego
Zadania inicjalizatora i egzekutora
Implementacja modułu wczytywania i zapisu danych
9. Implementacja analizatora leksykalnego
Implementacja analizatora leksykalnego
Testowanie analizatora
10. Implementacja analizatora składniowego
Implementacja analizatora składniowego
Testowanie analizatora
11. Implementacja inicjalizatora i egzekutora
Implementacja inicjalizatora
Implementacja egzekutora
12. Integracja zrealizowanych modułów interpretera
Uzgodnienie interfejsów
Kompilacja cząstkowych modułów w całości jako jeden program
Próby uruchomienia gotowych interpreterów
Testy (graniczne, obciążeniowe, etc.)
Umieszczenie gotowego projektu na stronie „SourceForge.net”
ZALICZENIE LABORATORIUM
57
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Tim Lindholm, Frank Yellin, The Java Virtual Machine Specification, Second Edition,
http://java.sun.com/docs/books/vmspec/
2. Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, Vaidy
Sunderam, PVM: Parallel Virtual Machine, A Users Guide and Tutorial for
Networked Parallel Computing, http://www.netlib.org/pvm3/book/pvm-book.html
3. Karl Fogel, Open Source Development with CVS, http://cvsbook.red-bean.com/
4. Per Cederqvist, CVS--Concurrent Versions System v1.11.2,
http://www.cvshome.org/docs/manual/
58
Kierunek: Informatyka
Przedmiot:
Rozproszone systemy sztucznej inteligencji
Distributed Systems of Artificial Intelligence
Czas trwania: semestr 2
Przedmiot: obieralny
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład
dr inż. Jerzy Tchórzewski
prof. dr hab. inż. Mieczysław
Kłopotek
21 egzamin
5
Laboratorium mgr Mariusz Kujawiak
dr inż. Jerzy Tchórzewski 24
zaliczenie na
ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Sztuczna Inteligencja
Algorytmy Ewolucyjne i Sieci Neuronowe
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym wykładu jest zapoznanie z podstawowymi pojęciami i metodami
projektowania aplikacji internetowych oraz rozproszonych, a takze problemami
merytorycznymi związanymi z praktycznym wykorzystaniem sieci Internet jako medium
integrującego rozproszone komponenty aplikacji oraz jako środowisko interakcji z
użytkownikami. Rozwiniętymi celami szczegółowymi są:
Projektowanie i implementacja serwisów internetowych takich jak aukcje, sklepy
internetowe i serwery reklam
projektowania standardowych komponentów serwisów: customer relationship
management, rozproszone bazy danych, wyszukiwarki internetowe, problemy
bezpieczeństwa i płatności w Internecie, systemy gridowe
projektowanie aplikacji rozporoszonych typu sieci sensorowej.
Celem laboratorium jest nabycie i opanowanie praktycznych umiejętnosci w rozwiazywaniu
problemów omawianych na wykładzie przy wykorzystaniu metod i narzędzi rozproszonych
systemów sztucznej inteligencji w środowisku MATLAB, a także poszerzenie i pogłębienie
59
wiadomości nabytych w dotychczasowym procesie dydaktycznym. Przedmiot powinien być
poprzedzony przedmiotem Metody sztucznej inteligencji.
WYKŁAD
1. Wstęp do systemów sztucznej inteligencji
przedmiot sztucznej inteligencji,
rozproszona sztuczna inteligencja,
rozproszone systemy sztucznej inteligencji,
rozproszone rozwiązywanie problemów,
systemy wieloagentowe,
systemy uczące się oraz maszynowe uczenie się,
programy uczące się, zastosowania systemów uczących się,
uczenie się aproksymacji funkcji (rodzaje aproksymatorów).
2. Algorytmy i heurystyka
podstwowe pojęcia z heurystyki i metaheurystyki,
algorytmu heurystyczne i metody wspinania,
przeszukiwanie wyczerpujące, przeszukiwanie lokalne,
metody radzenia sobie z ograniczeniami,
algorytmy zachłanne,
programowanie dynamiczne,
symulowane wyżarzanie,
przegląd oprogramowania z algorytmów heurystycznych
3. Systemy samoorganizujące się
samoorganizująca się sieć neuronowa,
sieci Kohenena, rodzaje SOM-ów,
idea podstawowego algorytmu SOM,
uczący się agenci jako elementy systemu kooperacyjnego odpowiadania na zapytania,
zasada konkurencji neuronów, meksykański kapelusz,
wektorowa kwantyzacja a sieci SOM, teoretyczne własności SOM,
praktyczne aspekty obliczeń przy pomocy SOM,
mapowanie informacji przy wykorzystaniu sieci SOM,
zastosowania systemów uczacych się,
tryby i szybkość uczenia się,
4. Systemy pamięci skojarzeniowych
rozproszenie w skojarzeniach,
sieci Hopfielda, ogólniona sieć Hopfielda,
praca sieci w trybie synchronicznym i asynchronicznym,
budowa pamięci skojarzeniowych,
twierdzenie o oszacowaniu,
twierdzenie o zbieżności sieci,
twierdzenie o oszacowaniu liczby kroków,
twierdzenie o poprawności uczenia,
60
promień przyciągania,
pojemność bipolarna,
sieci BAM,
alternatywne metody budowy pamięci skojarzeniowej
sieci MAM,
maksymalna siec neuronowa (MSN),
problem optymalnego ustawienia modułów (MOP)
5. Równoległość i rozproszenie w algorytmach ewolucyjnych
algorytmy koewolucyjne,
czysty model wyspowy,
wielowymiarowy torus,
hipersześcian,
drabina,
relacja sąsiedztwa,
implementacje równoległe,
algorytm ewolucyjny ze zrównolegleniem,
zrównoleglenie przy obliczaniu funkcji przystosowania,
zrównoleglenie reprodukcji i operacji genetycznych,
oczekiwane korzyści ze zrównoleglenia,
modyfikacje algorytmu ewolucyjnego z uwzględnieniem zadania wielokryterialnego,
inne możliwości zrównoleglenia i rozproszenia w algorytmach ewolucyjnych,
algorytmy komórkowe,
algorytmy systemowe.
6. Zrównoleglenie i rozproszenie w algorytmach immunologicznych
ekstrakcja wiedzy z danych,
uczące się układy idiotypowe,
immunologiczne rozpoznawanie obrazów,
eksploracyjna analiza danych,
immunologiczna kompresja danych,
immunologiczna algorytmy genetyczne,
immunologiczna identyfikacja,
detekcja anomalii,
tryby i szybkość uczenia się,
immunologiczna optymalizacja,
7. Metody reprezentacji wiedzy z wykorzystaniem zbiorów przybliżonych
podstawowe pojęcia teorii zbiorów przybliżonych,
aproksymacja zbioru, aproksymacja rodziny zbiorów,
liczby rozmyte, relacje rozmyte,
analiza tablic decyzyjnych,
wnioskowanie przybliżone, zastosowania zbiorów przybliżonych,
podstawowe pojęcia zbiorów rozmytych, operacje na zbiorach rozmytych,
metody reprezentacji wiedzy z wykorzystaniem zbiorów rozmytych,
wnioskowanie rozmyte,
rozmyte systemy wnioskujące, zastosowania zbiorów rozmytych,
61
systemy ekspertowe, sieci neuronowe i algorytmy ewolucyjne oparte o logikę
rozmytą,
chaotyczne sieci neuronowe
8. Systemy neuronowo-rozmyte
modelowanie statystycznej funkcji nieliniowej,
modelowanie nieliniowego obiektu dynamicznego,
systemy neuronowo-rozmyte typu Mamdaniego,
przykłady algorytmów grupowania danych.
algorytm ewolucyjny w środowisku dynamicznym,
systemy neuronowo-rozmyte typu logicznego,
systemy neuronowo-rozmyte typu Talagi-Sugeno,
podziały ostre i rozmyte, kryteria jakości grupowania,miary odległości,
9. Obliczenia inteligentne
reprezentacja i podobieństwo,
rozmyte podobieństwo oparte na regułach,
adaptacyjne sieci logiczne,
przekształcenia dyskretne i ich efektywne realizacje neuronowe,
wybrane klasyfikatory,
klasyfikatory maksymalnoodległosciowe,
sztuczne życie,
nowoczesna heurystyka.
10. Przykłady systemów rozproszonej sztucznej inteligencji
percepcja i rozpoznawanie mowy,
sygnały mowy w automatyce,
sygnały mowy w telekomunikacji,
genetyczne systemy uczące się,
rozpoznawanie obrazów,
rozpoznawanie czucia, smaku, powonienia,
inteligentne wyszukiwarki internetowe,
inteligentne systemy w zarządzaniu.
11. Statystyczne systemy uczące się
liniowe metody klasyfikacji,
metody klasyfikacji oparte na rozkładach prawdopodobieństwa,
drzewa klasyfikacyjne i rodziny klasyfikatorów,
modele adaptacyjne,
dyskryminacja elastyczna,
maszyny wektorów podpierających,
metody rzutowania wiedzy,
metody hierarchiczne, dendrogramy.
ZALICZENIE WYKŁADU
62
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Środowisko MATLABA i Simulinka do projektowania systemów rozproszonych
poznanie możliwości środowiska MATLAB do generowania systemów
rozproszonych,
tworzenie modeli systemów wieloagentowych,
grupowanie danych rozproszonych,
systemy rozmyte, przybliżone, itp.,
2. Neural Network Toolbox jako narzędzie do projektowania sztucznych sieci
neuronowych
systemy uczące się oraz samoorganizujące się w uczeniu aproksymacji funkcji,
NNT do projektowania uczących się agentów,
sieci neuronowe do mapowania wiedzy agentów,
wektorowa kwantyzacja a sieci SOM,
3. Systemy pamięci skojarzeniowych
Projektowaniew środowisku MATLAB uogólnionej sieci Hopfielda,
Projektowaniew środowisku MATLAB maksymalnej sieci neuronowej,
4. Algorytmy koewolucyjne
Projektowanie w środowisku MATLAB rozproszenych algorytmów ewolucyjnych,
Projektowanie w środowisku MATLAB równoległych algorytmów ewolucyjnych,
5. Algorytmy immunologiczne
Projektowanie w środowisku MATLAB ekstrakcji wiedzy z danych
Projektowanie w środowisku MATLAB immunologicznej kompresji danych
6. Zbiory przybliżone
Projektowanie w środowisku MATLAB systemów ekspertowych opartych o
wnioskowanie przybliżone,
Projektowanie w środowisku MATLAB analizy tablic decyzyjnych,
63
7. Zbiory rozmyte
Projektowanie w środowisku MATLAB rozmytej sieci neuronowej
Projektowanie w środowisku MATLAB systemu ekspertowego z rozmytą bazą
wiedzy
8. Systemy neuronowo-rozmyte
Projektowanie w środowisku MATLAB systemów neuronowo-rozmytych
Dobór reguł uczenia
9. Modelowanie w środowisku MATLAB nieliniowych obiektów dynamicznych,
systemy Mamdaniego,
systemy Talagi-Sugeno,
systemy logiczne,
10. Projektowanie w środowisku MATLAB statystycznych systemów uczących
dyskryminacja elastyczna,
uczenie maszynowe
11. Projektowanie w środowisku MATLAB systemów ekspertowych wykorzystujacych
metody heurystyczne
adaptacyjne sieci logiczne, klasyfikatory, algorytmy zachłanne,
Obliczenia inteligentne i nowoczesna heurystyka,
symulowane wyżarzanie.
12. Projektowanie w środowisku MATLAB systemów sztucznego życie
genetyczne algorytmy sztucznego życia,
gry komputerowe
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego i ostatniego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie
ocen cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego
projektu. W przypadku nieobecności studenta na laboratorium sposób ich odpracowania
określa osoba odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 10 zajęć może uzyskać od 0 do 100 pkt.
64
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-100 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LITERATURA
1. Arabas J..: Wykłady z algorytmów ewolucyjnych. WNT. Warszawa 2001
2. Cheyer A. ,P.R., Wang M., Baeg S. Ch. : Otwarta architektura agenta. ENTRI. USA.
2001
3. Kłopotek M: Inteligentne wyszukiwarki internetowe. EXIT. Warszawa 2001
4. Linh H.: Sieci neuronowe rozmyte w zadaniach klasyfikacji i estymacji. Warszawa
2000
5. Michalewicz Z.: Jak to rozwiazać czyli nowoczesna heurystyka. WNT. Warszawa
2006
6. Osowski S.: Sieci neuronowe do przetwarzania informacji. WNT. Warszawa 2005
7. Rutkowski L.: Metody i techniki sztucznej inteligencji. WN PWN. Warszawa 2005
8. Wierzchoń S.: Sztuczne systemy immunologiczne. Teoria i zastosowania. AOW
EXIT. Warszawa 2001
9. Szczepaniak P.S.: Obliczenia inteligentne, szybkie przekształcenia i klasyfikatory.
EXIT. Warszawa 2004
65
Kierunek: Informatyka
Przedmiot:
Zastosowania informatyki II - projekt zespołowy
Computer Science Applications II - Team Programming
Project
Czas trwania: semestr 4
Przedmiot: kierunkowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Laboratorium
prof. dr hab. inż. Andrzej Barczak
prof. dr hab. inż. Wojciech Penczek
dr hab. Franciszek Seredyński
60 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest posiadanie podstawowego zakresu wiedzy
z następujących przedmiotów realizowanych na studiach II stopnia:
Modelowanie i analiza systemów informatycznych,
Zastosowania informatyki 1,
Zaawansowane technologie programistyczne,
Multimedialne interfejsy użytkownika,
Przetwarzanie mobilne i komunikacja ruchoma,
oraz przedmiotów specjalnościowych realizowanych w semestrach I-III.
ZAŁOŻENIA I CELE
Tematyka projektu zespołowego obejmuje zagadnienia występujące podczas realizacji
przedsięwzięć informatycznych w różnych obszarach dziedzinowych, ze szczególnym
uwzględnieniem następujących obszarów:
1. energetyki
2. elekomunikacji,
3. medycyny,
4. administracji publicznej,
5. bezpieczeństwa i zarządzania kryzysowego,
6. bankowości.
Celem podstawowym przedmiotu jest nabycie umiejętności w zakresie wykorzystywania
wybranych metodyk modelowania w procesie analizy i projektowania wybranego systemu
66
informatycznego oraz procesie wytwarzania oprogramowania składającego się na ten system.
W szczególności w projekcie powinny wystąpić następujące fazy rozwoju systemu:
faza specyfikacji wymagań,
faza analizy,
faza projektowania,
faza implementacji,
faza testowania.
Rozwiniętymi celami szczegółowymi sa:
wykorzystanie wiedzy zdobytej w dotychczasowym procesie kształcenia do realizacji
złożonych przedsięwzięć informatycznych o charakterze projektowym,
zdobycie umiejętności poszukiwania, porządkowania i wykorzystywania w pracach
projektowych informacji pochodzących z różnych źródeł,
opanowanie umiejętności redagowania i analizowania wymagań oraz prowadzenia
działań projektowo-implementacyjnych podczas realizacji przedsięwzięć
informatycznych dotyczących wybranego obszaru dziedzinowego.
Dodatkowym celem przedmiotu jest :
zdobycie umiejętności efektywnego współdziałania i pracy w zespole,
zdobycie umiejętności podejmowania indywidualnych i grupowych decyzji,
doskonalenie umiejętności algorytmicznego myślenia
ROLA NAUCZYCIELA AKADEMICKIEGO
Przed rozpoczęciem zajęć:
sformułowanie tematów i określenie zakresów projektów w formie pisemnej (na
podstawie analizy zakresu merytorycznego realizowanych przedmiotów i specyfiki
obszaru dziedzinowego reprezentowanego przez nauczyciela),
przygotowanie zagadnień do szczegółowego rozwiązania,
określenie literatury podstawowej i uzupełniającej (lub innych źródeł).
Przykładowe tematy:
System obsługi biblioteki, księgarni, urzędu, linii lotniczej, kas biletowych, itp.
System monitorowania ofert hoteli, schronisk, biur podróży, itp.
System wspomagający pracę magazynów, hurtowni, wydziałów przedsiębiorstw, itp.
Rozproszony system informacyjny połączeń kolejowych, lotniczych, autobusowych,
itp.
Rozproszona baza danych wypożyczalni samochodów, książek, kaset video, itp.
System zdalnego rozliczania stanu liczników wody, energii cieplnej, elektrycznej,
czasu pracy stacji roboczych.
System zakupów internetowych.
Metody dostępu do rozproszonych baz danych z poziomu stron WWW.
Metody dostępu do rozproszonych baz danych z wykorzystaniem technologii
komponentowych (np. COM, CORBA, EJB), języków skryptowych (np. PHP, ASP,
JSP, JAVA, SQL).
67
Testowanie mechanizmów replikacji w środowisku Sybase, Oracle, MS SQL Server.
Techniki integracji rozproszonych źródeł danych
Projektowanie "przeźroczystego" dostępu do rozproszonych baz danych
Testowanie metod, algorytmów, protokołów uwierzytelniania dostępu do
rozproszonych baz danych.
W trakcie realizacji zajęć:
uszczegółowienie i zatwierdzenie zakresu merytorycznego projektu,
określenie metod i narzędzi niezbędnych do realizacji projektu,
nadzorowanie i pomoc w realizacji projektu,
zatwierdzanie zmian w projekcie,
uzgodnienie zakresu i zawartości dokumentacji projektowej (sprawozdania),
uzgodnienie zakresu i formy prezentacji wyników prac projektowych,
ocena projektów
LABORATORIUM
1. Zajęcia wstępne
przedstawienie celu i zakresu przedmiotu,
omówienie sposobu zaliczania,
wybór dziedziny przedmiotowej,
podział na grupy,
omówienie tematyki projektów i ustalenie realizatorów
2. Wstępne określenie zakresu projektów
prezentacja propozycji rozwiązań,
dyskusja zagadnień do szczegółowego rozwiązania,
uszczegółowienie wymagań
3. Samodzielna praca studentów w grupach projektowych 1
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
4. Samodzielna praca studentów w grupach projektowych 2
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
5. Samodzielna praca studentów w grupach projektowych 3
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
68
6. Samodzielna praca studentów w grupach projektowych 4
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
7. Samodzielna praca studentów w grupach projektowych 5
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
8. Samodzielna praca studentów w grupach projektowych 6
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
9. Samodzielna praca studentów w grupach projektowych 7
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
10. Samodzielna praca studentów w grupach projektowych 8
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
11. Samodzielna praca studentów w grupach projektowych 9
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
12. Samodzielna praca studentów w grupach projektowych 10
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
13. Samodzielna praca studentów w grupach projektowych 11
realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z
prowadzącym,
wykonywanie dokumentacji projektowej
14. Prezentacja wyników prac projektowych
69
przedstawienie wyników prac,
prezentacja rozwiązań praktycznych,
przedstawienie dokumentacji projektowej.
15. Omówienie i zaliczenie projektów
ZALICZENIE LABORATORIUM
Przedstawiony do oceny projekt powinien zawierać:
1. aplikację informatyczną zapisaną na odpowiednim nośniku (dyskietka, CD ROM lub/i
na wskazanym przez prowadzącego serwerze)
2. prezentację graficzną (lub multimedialną) wskazującą na istotne zagadnienia
poruszane w projekcie oraz sposoby ich realizacji
3. dokumentację projektową w wersji drukowanej i elektronicznej obejmującą m.in.
temat i cel projektu
opis działania i funkcje systemu
założenia przyjęte podczas realizacji systemu (np. ograniczenia implementacji)
wykorzystywane metodyki, technologie i narzędzia projektowania oraz implementacji
systemu (np. język specyfikacji UML, Rational Rose, MS.NET, inne systemy CASE)
opis poszczególnych etapów rozwoju systemu
ocenę wydajności (np. czasy przetwarzania zapytań, stopień obciążenia systemu, itp)
sposób uruchomienia i testowania aplikacji
wnioski końcowe
wykorzystywane pozycje źródłowe
Szcegółową zawartość merytoryczną oraz formę dokumentacji ustala prowadzący
indywidualnie dla każdego projektu
Podczas zaliczenia projektu prowadzący uwzględnia:
kompletność, spójność i unikalność projektu ,wartości merytoryczne i praktyczne
przyjętych w projekcie rozwiązań (60% (0-60 pkt.))
kompletność dokumentacji (30% (0-30 pkt.))
prezentację projektu (10% (0-10 pkt.))
Łączna ocena punktowa zajęć laboratoryjnych zawiera sie w granicach 0-100 pkt. (dla
każdego członka zespołu projektowego należy uwzględnić stopień udziału w pracach
zespołu). Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi :
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
70
Specjalność: SIECI KOMPUTEROWE I SYSTEMY ROZPROSZONE
71
Kierunek: Informatyka
Przedmiot:
Środowiska przetwarzania rozproszonego
Distributed Processing Environment
Czas trwania: semestr 1
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Zbigniew Wesołowski 21 egzamin
6 Laboratorium
mgr Ewa Szczepanik
dr Marina Neberidze 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
podstawy programowania równoległego,
podstawy programowania rozproszonego,
algorytmy i złożoność
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem przedmiotu jest zapoznanie studentów z najważniejszymi środowiskami
programowania rozproszonego: MS.NET.Remoting, Ada 95, Corba oraz Java RMI.
Celem wykładu jest przedstawienie zasad i paradygmatów programowania rozproszonego w
środowiskach opartych na gniazdach oraz na obiektach rozproszonych. Omawiane jest
środowiska Jini oparte na koordynacji.
Celem laboratorium jest nauczenie studentów praktycznych umiejętności w konstruowaniu i
implementowaniu aplikacji rozproszonych w środowiskach MS.NET.Remoting, Ada Sockets,
Corba oraz Java RMI. W ramach zajęć studenci rozwiązują różnorodne zadania
programowania rozproszonego.
Cele poszczególnych zajęć laboratoryjnych:
Celem ćwiczenia nr 1 jest nauczenie studentów zasad tworzenia prostych aplikacji
rozproszonych z użyciem gniazd w C#.
72
Celem ćwiczenia nr 2 jest nauczenie studentów zasad tworzenia zaawansowanych
aplikacji rozproszonych z użyciem gniazd w C#.
Celem ćwiczenia nr 3 jest nauczenie studentów zasad tworzenia prostych aplikacji
rozproszonych z użyciem gniazd programowanych w AdaSockets.
Celem ćwiczenia nr 4 jest nauczenie studentów zasad zaawansowanych aplikacji
rozproszonych z użyciem gniazd programowanych w AdaSockets.
Celem ćwiczenia nr 5 jest nauczenie studentów zasad tworzenia prostych aplikacji
rozproszonych opartych na obiektach w środowisku Corba.
Celem ćwiczenia nr 6 jest nauczenie studentów zasad tworzenia aplikacji
rozproszonych opartych na obiektach w środowisku Corba, w której aplikacja serwera
jest napisana w innym języku niż aplikacja klienta.
Celem ćwiczenia nr 7 jest nauczenie studentów zasad tworzenia zaawansowanych
aplikacji rozproszonych opartych na obiektach w środowisku Corba.
Celem ćwiczenia nr 8 jest nauczenie studentów zasad tworzenia prostych aplikacji
rozproszonych w środowisku Java RMI.
Celem ćwiczenia nr 9 jest nauczenie studentów zasad tworzenia prostych aplikacji
rozproszonych w środowisku Java RMI.
Celem ćwiczenia nr 10 jest nauczenie studentów zasad tworzenia aplikacji
rozproszonych w środowisku Java RMI wykorzystujących technikę dynamicznego
przekazywania obiektów.
Celem ćwiczenianr 11 jest nauczenie studentów zasad tworzenia prostych aplikacji
rozproszonych w środowisku MS.NET.Remoting.
Celem ćwiczenia nr 12 jest nauczenie studentów zasad tworzenia aplikacji
rozproszonych w środowisku MS .NET.Remoting wykorzystując technikę
asynchronicznego wywołania metod obiektów oddalonych.
WYKŁAD
1. Wprowadzenie do środowisk programowania rozproszonego.
Definicje pojęć podstawowych
Istota programowania rozproszonego
Krótka historia środowisk programowania rozproszonego
Zasady konstruowania programów rozproszonych w środowiskach homogenicznych
Klasyfikacja środowisk programowania rozproszonego: środowiska oparte na
gniazdach, obiektach rozproszonych, dokumentach, koordynacji;
2. Środowiska programowania rozproszonego opartego na gniazdach.
Mechanizm gniazd
Przesyłanie danych bez tworzenia połączenia
Wady komunikacji bezpołączeniowej
Komunikacja przy użyciu połączeń
Komunikacja synchroniczna
Komunikacja asynchroniczna
3. Programowanie rozproszone z użyciem gniazd w C#.
Architektura NET.Sockets
Definiowanie i implementowanie gniazd po stronie klienta i serwera
73
Definiowanie i implementowanie mechanizmów komunikacji synchronicznej
4. Programowanie rozproszone z uzyciem gniazd w Ada 95
Architektura AdaSocktes
Definiowanie i implementowanie gniazd po stronie klienta i serwera
Definiowanie i implementowanie mechanizmów komunikacji synchronicznej i
asynchronicznej miedzy gniazdami
5. Programowanie oparte na obiektach rozproszonych w środowisku CORBA
Architektura CORBA
Wprowadzenie do jezyka IDL
Adapter POA
Zasady tworzenia statycznych aplikacji serwera i klienta
Zasady tworzenia dynamicznych aplikacji serwera i klienta
6. Programowanie oparte na obiektach rozproszonych w środowisku Java RMI - 1.
Wirtualna maszyna Javy.
Architektura RMI.
Model polityki bezpieczenstwa w JDK. Menedzer bezpieczenstwa.
Definiowanie i implementacja interfejsu zdalnego
7. Programowanie oparte na obiektach rozproszonych w środowisku Java RMI - 2.
Definiowanie i implementacja aplikacji klienta.
Definiowanie i implementacja aplikacji serwera.
Testowanie i uruchamianie aplikacji rozproszonej.
Dynamiczne ładowanie klas.
Porównanie Java RMI i CORBA.
8. Programowanie oparte na obiektach rozproszonych w C# - 1.
Architektura MS.NET.Remoting.
Przekazywanie obiektów w MS.NET.Remoting.
Kanały komunikacyjne (System.Runtime.Remoting.Channels).
Tworzenie aplikacji rozproszonej w MS.NET.Remoting.
Tworzenie obiektu serwera.
Tworzenie obiektu klienta.
Konfigurowanie aplikacji rozproszonej
9. Programowanie oparte na obiektach rozproszonych w C# - 2.
Asynchroniczne wywoływanie obiektów oddalonych.
Delegaci.
Separowanie delegatów.
Wykorzystanie delegatów w wywoływaniu obiektów lokalnych.
Wykorzystanie delegatów w wywoływaniu obiektów oddalonych.
74
10. Jini - środowisko oparte na koordynacji.
Architektura Jini.
Komunikacja.
Procesy.
Nazewnictwo.
Synchronizacja.
Zwielokrotnianie.
Tolerowanie awarii.
Bezpieczeństwo.
11. Klastry i ich rozwój
Rodzaje klastrów: klastry do przetwarzania danych, klastry serwerowe,Klastry HA,
Cechy technologii klastrowej.
Architektury klastrów.
Systemy operacyjne klastrów.
Wybrane realizacje klastrów obliczeniowych: Condor, Beowulf, DQS, MOsix, NVM.
ZALICZENIE WYKŁADU
Przedmiot kończy sie egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależnosci od liczby uzyskanych punktów moze byc
nastepująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Programowanie z użyciem gniazd w C# - 1.
Implementacja gniazda po stronie klienta i serwera;
Implementacja kanału komunikacyjnego miedzy gniazdami;
Tworzenie i uruchamianie aplikacji rozproszonej przesyłajacej komunikaty.
2. Programowanie z użyciem gniazd w C# - 2.
Tworzenie i uruchamianie aplikacji rozproszonej wykonujacej obliczenia na tablicach
jedno- i dwuwymiarowych
Uruchamianie stworzonej aplikacji w środowisku sieciowym.
3. Programowanie z użyciem gniazd w AdaSockets - 1.
Implementacja gniazda po stronie klienta i serwera;
Implementacja kanału komunikacyjnego miedzy gniazdami;
75
Tworzenie i uruchamianie aplikacji rozproszonej przesyłajacej komunikaty.
4. Programowanie z użyciem gniazd w AdaSockets - 2.
Tworzenie i uruchamianie aplikacji rozproszonej wykonujacej sortowanie danych w
tablicach jednowymiarowych
Tworzenie i uruchamianie aplikacji rozproszonej obliczającej różnicę symetryczną
dwóch zbiorów liczb całkowitych.
5. Programowanie oparte na obiektach rozproszonych w środowisku Corba - 2.
Projektowanie i implementacja w IDL interfejsu zdalnego obiektu;
Projektowanie i implementacja aplikacji serwera;
Projektowanie i implementacja aplikacji klienta;
Kompilacja i uruchomienie prostej aplikacji rozproszonej przesyłajacej komunikaty
6. Programowanie oparte na obiektach rozproszonych w środowisku Corba - 2.
Tworzenie prostej aplikacji rozproszonej w języku C++ po stronie serwera.
Tworzenie prostej aplikacji rozproszonej w języku Java po stronie klienta.
Uruchomienie aplikacji rozproszonej w architekturze klient-serwer.
7. Programowanie oparte na obiektach rozproszonych w środowisku Corba - 3.
Projektowanie i implementacja interfejsu dynamicznego wywołania - DII
Projektowanie i implementacja interfejsu dynamicznego szkieletu - DSI;
Projektowanie i implementacja dynamicznych postaci aplikacji klienta i serwera
8. Programowanie oparte na obiektach rozproszonych w środowisku Java RMI - 1.
Tworzenie aplikacji rozproszonej w środowisku Java-RMI po stronie serwera.
Tworzenie aplikacji rozproszonej w środowisku Java-RMI po stronie klienta.
Uruchomienie aplikacji rozproszonej w architekturze klient-serwer w środowisku
Java-RMI.
9. Programowanie oparte na obiektach rozproszonych w środowisku Java RMI - 2.
Tworzenie i implementacja aplikacji rozproszonej w środowisku Java-RMI
obliczającej przybliżoną wartość liczby metodą symulacji Monte Carlo.
Uruchamianie stworzonej aplikacji w środowisku sieciowym.
10. Programowanie oparte na obiektach rozproszonych w środowisku Java RMI - 3.
Tworzenie i implementacja aplikacji rozproszonej obliczającej średnią arytmetyczną
zbioru liczb zmiennopozycyjnych wykorzystując technikę dynamicznego
przekazywania obiektów.
Uruchamianie stworzonej aplikacji w środowisku sieciowym.
11. Programowanie oparte na obiektach rozproszonych w C# - 1.
76
Tworzenie i implementacja aplikacji rozproszonej przesyłającej komunikaty między
serwerem a klientem (klientami).
Uruchamianie stworzonej aplikacji w środowisku sieciowym.
12. Programowanie oparte na obiektach rozproszonych w C# - 2.
Tworzenie i implementacja aplikacji rozproszonej asynchronicznie rozsyłającej
komunikaty między serwerem a klientem (klientami).
Uruchamianie stworzonej aplikacji w środowisku sieciowym.
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 90 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 46 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Chappell D. (2007). Zrozumiec platforme .NET. Helion, Gliwice.
2. Coulouris G., Dollimore J., Kindberg T. (1998): Systemy rozproszone. Podstawy i
projektowanie. WNT, Warszawa.
3. Horstmann C.S., Cornell G. (2005): Java 2. Techniki zaawansowane. Helion, Gliwice.
4. Perry S.C. (2007). C# i .NET. . Helion, Gliwice.
5. Sawerwian M. (2002). CORBA. Programowanie w praktyce. Mikom, Warszawa.
77
6. Stallings W. (2006). Systemy operacyjne. Struktura i zasada budowy. PWN,
Warszawa.
7. Tanenbaum A., van SteenM. (2006): Systemy rozproszone. Zasady i paradygmaty.
WNT, Warszawa.
8. Tardieu S. (2004): AdaSocktes reference manual.
(www.rfc1149.net/download/adasockets/adasocktes.pdf).
9. Barnaby T. (2002). Distributed .NET Programming in C#. Springer-Verlag, New
York.
10. Ben-Ari M. (1996): Podstawy programowania współbieznego i rozproszonego. WNT,
Warszawa.
11. Tanenbaum A. S. (1997): Rozproszone systemy operacyjne, PWN, Warszawa.
12. Weiss Z., Gruzlewski T. (1993): Programowanie współbiezne i rozproszone w
przykładach i zadaniach. WNT, Warszawa.
78
Kierunek: Informatyka
Przedmiot:
Projektowanie systemów rozproszonych
Distributed Systems Design
Czas trwania: semestr 1
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład prof. dr hab. inż. Wojciech Penczek 30 egzamin
6 Laboratorium
mgr Ewa Szczepanik
dr inż. Zbigniew Wesołowski 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
podstawy programowania równoległego,
podstawy programowania rozproszonego,
środowiska programowania rozproszonego.
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem przedmiotu jest zapoznanie studentów z najważniejszymi zagadnieniami
projektowania systemów rozproszonych. Omawiane są zagadnienia związane z
wykonywaniem procesów rozproszonych. Prezentowane są architektury współczesnych
systemów rozproszonych. Przedstawiane są najważniejsze zagadnienia projektowania
systemów rozproszonych, takich jak: komunikacja, usług nazewnicze, synchronizacja
rozproszona, spójność i zwielokrotnianie, tolerowanie awarii, niezawodność, bezpieczeństwo.
Szczegółowo omawiane są zagadnienia projektowania systemów rozproszonych: opartych na
obiektach współdzielonych, na dokumentach oraz na koordynacji.
WYKŁAD
1. Wprowadzenie do systemów rozproszonych.
Definicja pojęć podstawowych.
Cele systemów rozproszonych: łączenie użytkowników, łączenie zasobów.
Cechy systemów rozproszonych.
79
Zalety systemów rozproszonych: współdzielenie zasobów, otwartość, współbieżność,
skalowalność, odporność na awarie.
wady systemów rozproszonych: złożoność, zabezpieczenie, trudność zarządzania,
nieprzewidywalność.
2. Architektury systemów rozproszonych.
Architektury wieloprocesorowe.
Architektury klient serwer.
Architektury agentowe.
Architektury oparte na obiektach rozproszonych.
Architektury oparte na obiektach interoperablinych.
Architektury oparte na dokumentach.
Architektury oparte na obiektach koordynacji.
3. Środowiska przetwarzania rozproszonego
Środowiska oparte na obiektach rozproszonych: CORBA, Java RMI, COM/DCOM.
Środowiska oparte na obiektach interoperablinych: MS.NET
Środowiska oparte na dokumentach: WWW, Lotus Notes.
Środowiska oparte na komunikacji: TIB/Randezvous, Jini.
4. Zagadnienia projektowania systemów rozproszonych
Wprowadzenie.
Podstawowe wymagania projektowe: komunikacja, usługi nazewnicze, synchronizacja
rozproszona, spójność i zwielokranianie, rekonstrukcja i tolerowanie awarii,
bezpieczeństwo.
Wymagania użytkowników.
5. Komunikacja w systemach rozproszonych
Zdalne wywołanie procedury
Wywołanie obiektu zdalnego
Komunikacja oparta na komunikatach
Komunikacja strumieniowa
6. Usługi nazewnicze w systemach rozproszonych.
Jednostka nazewnictwa.
Lokalizacja zasobów mobilnych.
Usuwanie referencji bez odniesień.
Przykłady: DNS, X.500 OSI.
7. Synchronizacja rozproszona.
Synchronizacja zegarów.
Zegary logiczne.
Stan globalny.
Algorytmy elekcji.
80
8. Współbieżność w systemach rozproszonych.
Istota współbieżności, problem wzajemnego wykluczania.
Rozproszony algorytm wzajemnego wykluczania.
Problem zakładu fryzjerskiego.
Zagłodzenie i zakleszczenie.
Wykrywanie zakleszczeń.
Algorytm bankiera.
Zapobieganie zakleszczeniom.
Problem pięciu filozofów.
9. Spójność i zwielokrotnianie.
Powody zwielokrotniania.
Zwielokrotnianie obiektów.
Zwielokrotnianie jako technika skalowania.
Modele spójności nastawione na dane.
Modele spójności nastawione na klienta.
Protokoły rozpowszechniania.
Protokoły spójności.
10. Tolerowanie awarii w systemach rozproszonych.
Modele awarii.
Odporność procesów.
Tolerowanie awarii.
Hierarchiczne i grupowe maskowanie awarii.
11. Szeregowanie procesów.
Rodzaje szeregowania procesów: długoterminowe,średnioterminowe,krótkoterminowe
Algorytmy szeregowania: bez priorytetów, priorytetowe, bez przerwań, z
przerwaniami.
Szeregowanie procesów w systemie Linux.
Szeregowanie procesów w systemie MS Windows.
12. Bezpieczeństwo systemów rozproszonych.
Zagrożenia bezpieczeństwa.
Kanały bezpieczne.
Kontrola dostępu.
Zarządzanie bezpieczeństwem.
13. Systemy rozproszone oparte na obiektach współdzielonych.
Projektowanie rozmieszczenia obiektów rozproszonych.
Usługi nazewnicze.
Projektowanie komunikacji.
Synchronizacja.
Spójność i zwielokrotnianie.
81
Tolerowanie awarii.
Niezawodność.
Bezpieczeństwo.
14. Systemy rozproszone oparte na dokumentach.
Projektowanie rozmieszczenia obiektów rozproszonych.
Usługi nazewnicze.
Projektowanie komunikacji.
Synchronizacja.
Spójność i zwielokrotnianie.
Tolerowanie awarii.
Niezawodność.
Bezpieczeństwo.
15. Systemy rozproszone oparte na koordynacji.
Projektowanie rozmieszczenia obiektów rozproszonych.
Usługi nazewnicze.
Projektowanie komunikacji.
Synchronizacja.
Spójność i zwielokrotnianie.
Tolerowanie awarii.
Niezawodność.
Bezpieczeństwo.
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Analiza porównawcza systemów scentralizowanych i systemów rozproszonych.
Istotne cechy różniących systemy scentralizowane i systemy rozproszone.
analizaporównawcza typowych systemów scentralizowanych i typowych systemów
rozproszonych.
identyfikacja najważniejszych cech systemu scentralizowanego
identyfikacja najważniejszych cech systemu rozproszonego
2. Mechanizmy komunikacji międzyprocesowej w systemach operacyjnych.
82
optymalizacja mechanizmów komunikacji międzyprocesowej w najważniejszych
systemach operacyjnych.
optymalizacja mechanizmów komunikacji międzyprocesowej w systemie Linux;
optymalizacja mechanizmów komunikacji międzyprocesowej w systemie MS
Windows.
3. Mechanizmy komunikacji w sieciach komputerowych.
optymalizacja przepustowości sieci komputerowych.
monitorowanie działania NFS
optymalizacja serwera NFS
optymalizacja klienta NFS
optymalizacja sieci na potrzeby NFS.
4. Systemy usług nazewniczych w systemach opartych na obiektach rozproszonych.
poznanie systemów usług nazewniczych stosowanych w systemach opartych na
obiektach rozproszonych.
system usług nazewniczych stosowany w środowisku CORBA
system usług nazewniczych stosowany w środowisku COM/DCOM
porównanie systemów usług nazewniczych stosowanych w środowiskach CORBA i
COM/DCOM
5. Systemy usług nazewniczych w systemach opartych na dokumentach.
poznanie systemów usług nazewniczych stosowanych w systemach opartych na
obiektach dokumentach.
system usług nazewniczych stosowany w środowisku WWW
system usług nazewniczych stosowany w środowisku Lotus Notes
porównanie systemów usług nazewniczych stosowanych w środowiskach WWW i
Lotus Notes
6. Zegary logiczne.
implementacja rozproszonego algorytmu Lamporta
7. Synchronizacja procesów w systemach rozproszonych.
implementacja algorytmów elekcji.
implementacja algorytmu tyrana
implementacja algorytmu pierścieniowego
8. Wzajemne wykluczanie w systemach rozproszonych.
implementacja rozproszonego algorytmu wzajemnego wykluczania
9. Wykrywanie zakleszczeń w systemach rozproszonych
implementacja algorytmu bankiera
83
10. Rekonstrukcja i tolerowanie awarii - pamięć trwała.
zaprojektowanie mechanizmu maskowania grupowego na poziomie bloków
dyskowych, zwanego pamięcią trwałą.
11. Rekonstrukcja i tolerowanie awarii - serwery podstawowe i zapasowe.
zaprojektowanie mechanizmu tolerowania uszkodzeń w drodze redundancji
sprzętowej,zwanej metodą serwera podstawowego i zapasowego
12. Szeregowanie procesów - 1.
implementacja algorytmów szeregowania bez priorytetów i z priorytetami
13. Szeregowanie procesów - 2.
implementacja algorytmów szeregowania bez przerwań
implementacja algorytmów szeregowania z przerwaniami
14. Projektowanie bezpiecznych kanałów komunikacyjnych.
zaprojektowanie kanału bezpiecznego między klientem i serwerem wykorzystując
protokoły uwierzytelniania z kluczami symetrycznymi
zaprojektowanie kanału bezpiecznego między klientem i serwerem wykorzystując
protokoły uwierzytelniania z kluczami publicznymi
15. Uwierzytelnianie i dystrybucja kluczy.
zaprojektowanie systemu uwierzytelniania i dystrybucji kluczy wykorzystując model
Needhama
zaprojektowanie systemu uwierzytelniania i dystrybucji kluczy wykorzystując model
Schroedera
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
84
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Chappell D. (2007). Zrozumieć platformę .NET. Helion, Gliwice.
2. Coulouris G., Dollimore J., Kindberg T. (1998): Systemy rozproszone. Podstawy i
projektowanie. WNT, Warszawa.
3. Horstmann C.S., Cornell G. (2005): Java 2. Techniki zaawansowane. Helion, Gliwice.
4. Perry S.C. (2007). C# i .NET. . Helion, Gliwice.
5. Sawerwian M. (2002). CORBA. Programowanie w praktyce. Mikom, Warszawa.
6. Stallings W. (2006). Systemy operacyjne. Struktura i zasada budowy. PWN,
Warszawa.
7. Stevens W.R. (2002). Programowanie w środowisku systemu UNIX. WNT,
Warszawa.
8. Tanenbaum A., van Steen M. (2006): Systemy rozproszone. Zasady i paradygmaty.
WNT, Warszawa.
9. Ben-Ari M. (1996): Podstawy programowania współbieżnego i rozproszonego. WNT,
Warszawa.
10. Tanenbaum A. S. (1997): Rozproszone systemy operacyjne, PWN, Warszawa.
11. Weiss Z., Gruźlewski T. (1993): Programowanie współbieżne i rozproszone w
przykładach i zadaniach. WNT, Warszawa.
85
Kierunek: Informatyka
Przedmiot:
Zaawansowane sieci komputerowe
Advanced Computer Networking
Czas trwania: semestr 2
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr hab. Stanisław Ambroszkiewicz 30 egzamin
6 Laboratorium
mgr Andrzej Salamończyk
mgr Grzegorz Terlikowski 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Technologie sieciowe
Podstawy programowania
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu ”Zaawansowane sieci komputerowe” jest przekazanie wiedzy
z zaawansowanych technologii sieci komputerowych w aspekcie zarówno teoretycznym jak i
praktycznym. Rozwiniętymi celami szczegółowymi są:
Zaawansowane protokoły komunikacyjne,
Przełączanie w sieciach LAN, VLANy,
Listy dostępu ACL,
Projektowanie sieci WAN, PPP, ISDN, Frame Relay.
Zaawansowane programowania sieciowe w oparciu o język Java,
Bezpieczeństwo sieci komputerowych.
Celem laboratorium jest nabycie umiejętności instalowania i obsługi sprzętu i
oprogramowania w sieciach komputerowych. Cele szczegółowe laboratorium obejmują
następujące umiejętności praktyczne:
Realizacja aplikacji sieciowych w zespołach,
Projektowanie, budowanie i zarządzania sieciami VLAN i WAN,
Zaawansowane konfigurowanie routerów (OSPF, ACL).
86
Diagnozowanie i usuwanie problemów.
WYKŁAD
1. Warstwa aplikacji - programowanie w oparciu o gniazda UDP
Gniazda (sockety) UDP
Zastosowania protokołu UDP
Programowanie na socketach UDP
2. Warstwa aplikacji - programowanie w oparciu o URL
Protokół HTTP, adresacja URL, HTML
Model programowania na URL-ach
3. Zaawansowane technologie sieci lokalnych
Segmentacja sieci lokalnych
Rozpinanie LAN-u na wielu switchach
Protokół STP (Spanning Tree Protocol)
Wirtualne LAN-y, czyli technologia VLAN: statyczne sieci wirtualne, dynamiczne
sieci wirtualne
4. Bezpieczeństwo w warstwie transportu
Bezpieczeństwo na WWW
Secure Socket Layer (SSL) oraz Transport Layer Security (TLS)
Secure Electronic Transaction (SET)
5. Bezprzewodowe technologie w sieciach lokalnych
WLAN IEEE 802.11
Bezpieczeństwo i protokół WEP
6. Zarządzanie sieciami, cześć 1
Wprowadzenie do zarządzania sieciami
Motywacje
Główne komponenty
Infrastruktura do zarządzania sieciami (internetowymi)
MIB: management information base
SMI: Structure of Management Information - jezyk do definiowania struktur danych
7. Zarządzanie sieciami, cześć 2
SNMP: protokół do zarządzania sieciami
bezpieczeństwo i administrowanie sieciami
Zdalny nadzór sieci - RMON
Uniwersalne sposoby prezentacji danych: ASN.1 - Abstract Syntax Notation
87
8. Bezpieczeństwo w warstwie sieci
IP Security,
Wirtualne sieci prywatne VPN
IP Mobile
9. Zaawansowane technologie w warstwie Sieci
Multicasting
Adresacja
Routing
10. ATM - kompletna technologia sieciowa w roli sieci szkieletowej Internetu
Warstwy w ATM,
Struktura komórki ATM
IP nad ATM
11. Sieci rozległe
Technologie stosowane w sieciach WAN, urządzenia wykorzystywane w WAN
Korelacja pomiedzy WAN a modelem OSI/ISO, protokoły enkapsulacji w WAN
12. ISDN
Wprowadzenie do ISDN
Korelacja z modelem OSI/ISO, Tryby BRI i PRI
Konfiguracja ISDN, Routing Dial-on-Demand
13. Frame Relay
Wprowadzenie do Frame Relay, definicje podstawowych pojęć związanych z FR
Omówienie LMI (implementacji FR firmy Cisco)
Podstawowa konfiguracja i weryfikacja FR
14. Pozostałe protokoły w sieciach WAN
PPP
xDSL
SDLC (HDLC)
X.25
15. Omówienie najnowszych technologii sieciowych i podsumowanie
Przegląd nowych rozwiazań i technologii w sieciach komputerowych
Zakreślenie trendów i perspektyw rozwoju w sieciach komputerowych
ZALICZENIE WYKŁADU
88
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Programowanie na protokole UDP
Realizacja aplikacji w oparciu o protokół UDP
Pewne przesyłanie w oparciu o protokół UDP
2. Przełączanie w sieciach LAN
Segmentacja w sieciach LAN, tworzenie sieci VLAN
Sposoby przełaczania, protokół Spanning Tree
Konfiguracja usług DHCP na routerach
3. Programowanie na protokole HTTP
Tworzenie serwletów
Technologia JSP (Java Server Pages)
4. WLAN
Konfiguracja bezprzewodowych urzadzeń sieciowych
Realizacja bezpieczeństwa w sieciach bezprzewodowych
Konfigurowanie NAT
5. Programowanie na gniazdach SSL - cz. 1
Generowanie kluczy, magazynów i certyfikatów
Realizacja prostej aplikacji klient serwer z wykorzystaniem gniazd SSL (przy
ustawieniach domyślnych)
6. Protokoły routingu (cz. 1)
Właściwości protokołów wektora odległości
Konfiguracja protokołów RIP v 2, EIGRP
7. Programowanie na gniazdach SSL - cz. 2
Konstruowanie gniazd SSL w sposób jawny
Realizacja aplikacji z uwierzytelnianiem klienta i serwera
89
Realizacja aplikacji z wykorzystaniem protokołu HTTPS
8. Protokoły routingu (cz. 2)
Właściwości protokołów stanu łącza
Konfiguracja protokołu OSPF, redystrybucja
9. Aplety - cz. 1
Architektura apletu
Budowa prostego apletu, proste metody wyswietlania składników apletu
10. Listy dostępu
Używanie, przetwarzanie i wykorzystanie list dostępu do filtrowania pakietów IP
Konfigurowanie standardowych i rozszerzonych list dostępu w routerach
11. Aplety - cz. 2
Obsługa zdarzeń, klasy obsługi zdarzeń, interfejsy nasłuchujace zdarzeń
Wprowadzenie do AWT (Abstract Window Toolkit)
12. PPP
Komunikacja w protokole PPP, konfiguracja DDR
Wykorzystanie ramek LCP i NCP w protokole PPP
13. Programowanie z wykorzystaniem protokołu SNMP
Realizacja aplikacji odpytującej urządzenia w sieci poprzez agentów SNMP
Realizacja aplikacji wprowadząjacej zmiany dla wartości wybranych identyfikatorów
obiektów bazy MIB
Prosta aplikacja wysyłająca i odbierajaca pułapki
14. Frame Relay
Podstawowe urządzenia w połączeniach Frame Relay
Funkcje Frame Relay DLCI i LMI
15. Troubleshooting
Testowanie poprawności działania sieci, diagnozowanie i usuwanie usterek w sieciach
komputerowych
Prezentacja i obrona projektów końcowych
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
90
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Kurose J. F., Ross K. W., Sieci komputerowe. Od ogółu do szczegółu z Internetem w
tle, Wydawnictwo Helion, Gliwice 2006
2. V. Amato. Akademia Sieci Cisco. Drugi rok nauki, wydanie drugie rozszerzone.
Mikom, Warszawa 2002
3. H. Schildt. Java - Kompendium programisty. Wydawnictwo Helion 2005.
4. A. Leinwand, B. Pinsky. Konfiguracja Routerów Cisco. Podstawy. Mikom, Warszawa
2002.
5. T. Sheldon. Wielka Encyklopedia Sieci Komputerowych. Wydawnictwo Robomatic
s.c. 1999.
6. M. Sportack. Routing IP - podstawowy podrecznik. Mikom, Warszawa 2000.
7. M. Sportack. Sieci komputerowe. Wydawnictwo Helion 1999,
8. R. Wright. Elementarz routingu IP. Mikom, Warszawa 1999.
9. Roland W. McCarty, Jr. Cisco WAN od podstaw
10. Merike Kaeo Tworzenie bezpiecznych sieci
11. Paul L. Della Maggiora, Christopher E. Elliott, Robert L. Pavone, Jr., Kent J. Phelps,
James M. Thompson Zarzadzanie wydajnoscia i błedami w sieciach Cisco. Mikom,
Warszawa 2001
12. D. Hook. Kryptografia w Javie. Od podstaw. Wydawnictwo Helion 2006
91
Kierunek: Informatyka
Przedmiot:
Projektowanie sieci komputerowych
Computer Networks Design
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr hab. Stanisław Ambroszkiewicz 30 egzamin 6
Laboratorium mgr Zbigniew Młynarski 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Technologie sieciowe
Projektowanie i administrowanie sieciami komputerowymi,
Zaawansowane sieci komputerowe
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu Projektowanie sieci komputerowych jest zaznajomienie z
zaawansowanymi technologiami sieci komputerowych w aspekcie zarówno teoretycznym jak
i praktycznym. Rozwiniętymi celami szczegółowymi są:
Zaawansowane protokoły komunikacyjne,
Przełączanie w sieciach LAN oraz sieci VLAN,
Listy dostępu ACL,
Projektowanie sieci WAN, PPP, ISDN, Frame Relay.
Zaawansowane programowania sieciowe w oparciu o język Java,
Bezpieczeństwo sieci komputerowych.
Celem laboratorium jest nabycie umiejętności instalowania i obsługi sprzętu i
oprogramowania w sieciach komputerowych. Cele szczegółowe laboratorium obejmują
następujące umiejętności praktyczne:
1. Realizacja aplikacji sieciowych w zespołach,
2. Projektowanie, budowanie i zarządzania sieciami VLAN i WAN,
3. Zaawansowane konfigurowanie routerów (EIGRP, ACL).
92
4. Diagnozowanie i usuwanie problemów.
WYKŁAD
1. Zasady projektowania aplikacji rozproszonej
struktury danych,
XML - uniwersalny język do konstrukcji struktur danych,
protokół komunikacyjny pomiędzy elementami aplikacji rozproszonej,
omówienie języka XSD - XML Schema Definition,
2. Protokoły warstwy transportu
zasady pewnego przesyłania danych,
protokół TCP, UDP, struktura segmentu TCP,
nawiązywanie i zamykanie połączeń,
zasady kontroli zagęszczeń TCP
3. Protokoły warstwy sieci
algorytmy routingu: LS oraz DV,
protokół IP v4, struktura datagramu IP,
fragmentacja i defragmentacja pakietów
protokół ICMP, protokoły routingu: RIP, OSPF, IGRP, BGP, protokół IP v.6
4. Protokoły warstwy sieci
protokół łącza między przełącznikami,
dynamiczny protokół łącza między przełącznikami,
metoda oznaczania ramek IEEE 8021Q,
protokół magistrali VLAN
5. Bezprzewodowe sieci LAN
Wireless LAN: IEEE 802.11
przegląd najnowszych technologii sieci ad hoc,
pozycjonowanie punktu dostępu w celu uzyskania maksymalnego obszaru pokrycia,
sieci WLAN i VLAN
6. ATM - kompletna technologia sieciowa w roli sieci szkieletowej Internetu
warstwy w ATM, struktura komórki ATM,
IP nad ATM,
Ethernet przez ATM
7. Sieci rozległe
technologie stosowane w sieciach WAN, urządzenia wykorzystywane w WAN,
korelacja pomiędzy WAN a modelem OSI/ISO, protokoły enkapsulacji w WAN,
systemy zastrzegania przepustowości WAN,
93
synchroniczna sieć optyczna
8. Frame Relay oraz ISDN
wprowadzenie do Frame Relay, definicje podstawowych pojęć związanych z FR,
podstawowa konfiguracja i weryfikacja FR,
wprowadzenie do ISDN,
konfiguracja ISDN, routing Dial-on-Demand
9. Protokół PPP
protokół komunikacyjny między dwoma stacjami,
wielopołączeniowy PPP i wieloramowy wielopołączeniowy PPP,
protokoły PAP i CHAP,
10. Projektowanie brzegowej topologii sieci przedsiębiorstwa
nadmiarowe segmenty WAN,
Multihoming połączeń internetowych,
tworzenie wirtualnych sieci prywatnych VPN,
brzeg sieci dostawcy usług
11. Elementy projektowania sieci komputerowych
określanie potrzeb i celów klienta,
logiczny projekt sieci,
fizyczny projekt sieci,
testowanie, optymalizacja i dokumentowanie projektu sieci
12. Logiczny projekt sieci
hierarchiczny projekt sieci,
korzystanie z modelu hierarchicznego do przypisywania adresów,
stosowanie wielu protokołów routingu w intersieci,
opracowywanie strategii zarządzania siecią
13. Fizyczny projekt sieci
przykład projektu sieci kampusowej,
urządzenia zdalnego dostępu dla projektu sieci przedsiębiorstwa,
przykładowy projekt sieci WAN
14. Technologie sieciowe krótkiego zasięgu: PAN - Personal Area Networks
architektura i zastosowania Bluetooth,
stos protokołów Bluetooth,
warstwa L2CAP w Bluetooth,
IrDA
15. Omówienie najnowszych technologii sieciowych i podsumowanie
94
protokół MPLS,
bezprzewodowe sieci metropolitalne WMAN IEEE 802.16
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Programowanie na protokole HTTP
realizacja prostego serwera HTTP,
realizacja serwletu
2. Programowanie na gniazdach SSL w języku Java
generowanie kluczy, magazynów i certyfikatów,
realizacja połączenia na gniazdach SSL z użyciem opcji domyślnych i
zaawansowanych
3. Wprowadzenie do programowania na aparatach komórkowych
zasady programowania w J2ME,
wykorzystanie MIDP 2.0,
programowanie na aparatach komórkowych wykorzystujacej HTTPConnection
rozdanie tematów projektów do samodzielnej realizacji
4. Programowanie na aparatach komórkowych wykorzystujące gniazda TCP i UDP
testowanie prostego przykładu,
realizacja własnego projektu
5. Projektowanie sieci LAN
rozpoznanie potrzeb klienta,
specyfikacja wymagań,
analiza projektu prostej sieci LAN,
konfigurowanie DHCP i NAT
6. Opracowanie projektu sieci kampusowej
95
dobór urządzeń i typów mediów dla sieci,
zaprojektowanie adresacji logicznej i nazewnictwa urządzeń,
dobór protokołów routingu
analiza projektu prostej sieci
7. Projektowanie sieci bezprzewodowych 802.11
analiza projektu prostej sieci bezprzewodowej,
realizacja bezpieczeństwa w sieciach bezprzewodowych
8. Java Dynamic Management Kit
instalacja JDMK,
analiza i testowanie wybranych programów opartych na JDMK
9. Projektowanie aplikacji do zarządzania sieciami komputerowymi
modyfikacja wybranych przykładów
projektownie aplikacji wspomagającej zarządzanie siecią komputerów
10. Projektowanie i realizacja list dostępu ACL
ocena zagrożeń, rozmieszczenie list dostępu
konfiguracja list dostępu
listy ACL standardowe, rozszerzone, dynamiczne, zwrotne, oparte na zawartości,
korzystają ce z harmonogramów
11. Projektowanie zdalnego dostępu
uwierzytelnianie oraz autoryzacje transmisji pakietów w środowisku AAA
(Authentication Authorization Accounting),
zaawansowane uwierzytelnienia i autoryzacje w środowisku AAA
12. Projektowanie kolejkowania pakietów
konfigurowanie kolejki pakietów,
kształtowanie ruchu sieciowego
13. Projektowanie, instalowanie i diagnozowanie sieci Ethernet, TCP/IP i sieci
rozległych
praktyczna konfiguracja urządzeń sieciowych
analiza bezpieczeństwa w danym projekcie,
implementacja rozwiązań zwiększających bezpieczeństwo i niezawodność
14. Troubleshooting
testowanie poprawności działania sieci,
diagnozowanie i usuwanie usterek w sieciach komputerowych
96
15. Prezentacja indywidualnego projektu. Zaliczenie przedmiotu
prezentacja wyników prac,
dyskusja i ocena projektów indywidualnych.
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Bruno A., Kim J., CCDA. Certyfikat projektanta sieci Cisco, Wydawnictwo MIKOM,
Warszawa 2004
2. Kurose J. F., Ross K. W., Sieci komputerowe. Od ogółu do szczegółu z Internetem w
tle, Wydawnictwo Helion, Gliwice 2006
3. Lewis W., Akademia sieci Cisco.CCNA semestr 3.Podstawy przełączania oraz routing
pośredni, Wydawnictwo Naukowe PWN, Warszawa 2007
4. Oppenheimer P., Projektowanie sieci metodą Top-Down, Wydawnictwo Naukowe
PWN, Warszawa 2006
5. Reid A., Akademia sieci Cisco.CCNA semestr 4. Sieci rozległe - technologie WAN,
Wydawnictwo Naukowe PWN, Warszawa 2007
6. Dooley K., I. J. Brown. Cisco. Receptury, Wydawnictwo Helion, Gliwice 2004
7. Dooley K., I. J. Brown. Cisco IOS Cookbook, OReilly Gliwice 2006
97
8. Henry B., CCIE Security, Wydawnictwo MIKOM, Warszawa 2004
9. Krysiak K., Sieci komputerowe. Kompendium, Wydawnictwo Helion, Gliwice 2005
10. Praca zbiorowa, Vademecum teleinformatyka III, IDG, Warszawa 2004
11. McGregor M., Akademia sieci Cisco. Semestr piąty, Wydawnictwo MIKOM,
Warszawa 2002
12. Tanenbaum A. S. Sieci komputerowe, Wydawnictwo Helion, Gliwice 2004
13. Teare D., Paquet C., Campus Network Design Fundamentals, Cisco Press, 2005
98
Kierunek: Informatyka
Przedmiot:
Algorytmy i środowiska równoległe
Algorithms and Parallel Environments
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Tengiz Boczoriszwili 21 egzamin 6
Laboratorium dr Tengiz Boczoriszwili 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Podstawy przetwarzania równoległego
Podstawy przetwarzania rozproszonego
Programowanie c++, Java
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Podstawowym celem wykładów jest zebranie i uporządkowanie teorii
przetwarzania równoległego oraz zapoznanie studentów z istniejącymi algorytmami
stosowanymi w architekturach równoległych do wybranych zagadnień. Rozwiniętymi celami
szczegółowymi sa:
zapoznanie z architekturami super komputerów, oraz klastra Akademii Podlaskiej.
zapoznanie z metodologicznymi podstawami tworzenia algorytmów równoległych.
zapoznanie z procesami planowania, pisania i implementacji zagadnień równoległych.
zapoznanie z organizacją prac projektowo-wdrożeniowych.
Celem laboratorium jest nabycie i praktyczne opanowanie wiedzy podanej w czasie wykładu,
a także poszerzenie wiadomości nabytych w dotychczasowym procesie dydaktycznym. Cele
szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
nabycie umiejętności stworzenia programów równoległych w środowisku MPI.
nabycie umiejętności programowania zastosowaniem języku dyrektyw OpenMP.
Opracowanie i implementacja wybranych zagadnień na klastrze Akademii Podlaskiej.
99
WYKŁAD
1. Podstawy programowania równoległego.
Architektura systemów rozproszonych i równoległych. Klasyfikacja Flyna.
Typy komunikacji. Metody programowania równoległego.
Problemy dekompozycji zadań, przyporządkowanie zadań do procesorów.
Proste przykłady algorytmów równoległych.
2. Podstawy programowania równoległego.
Miary oceny efektywności obliczeń równoległych.
Współczynniki przyśpieszenia oraz wydajności, prawa Amdahla i Gustafsona-Barsisa.
Operacje atomowe, sprawiedliwość, jednorodność i skalowalność.
Wzajemne wykluczanie, bezpieczeństwo, żywotność, blokada, zagłodzenie.
Opis zagadnienia gry w życie i przeszukiwanie równolegle.
3. Wstęp do standardowej specyfikacji przesyłania informacji między procesami (MPI).
Struktura prostego programu wykorzystującego technologię MPI.
Konwencja nazw.
Typy danych: typy podstawowe i specjalne.
Komunikatory i inicjalizacja MPI.
Zagadnienia gry w życie i sortowania równoległego.
4. Typy komunikacji w architekturze MPI.
Komunikacja Point-to-Point. Wysyłanie i odbiór komunikatów.
Komunikacje blokujące i nie blokujące.
Komunikacie grupowe (Barier, Broadcast, Reduction, Scatter) i topologie procesów.
Algorytmy całkowania równoległego oraz mnożenia macierzy.
5. Komunikatory i wirtualna topologia w architekturze MPI.
Typy komunikatów.
Stworzenie intra i inter komunikatorów.
Algorytmy równolegle do transpozycji macierzy.
Klasyczne algorytmy iteracyjne w obliczeniach równoległych.
Algorytm eliminacji Gaussa.
6. Zaawansowane elementy interfejsa MPI.
Wejście/Wyjście równolegle.
Struktura plików w MPI.
Zapis i czytanie danych z dysków.
Równolegle biblioteki matematyczne oraz biblioteki MPI dla języka c++.
7. Język dyrektyw OpenMP.
Regiony równoległe i zrównoleglenie pętli.
100
Zasięg zmiennych. Region krytyczny.
Formaty dyrektyw OpenMP.
Równoległa dyrektywa do. Dyrektywy private i shared.
Dyrektywy paralelizacji i synchronizacji zadań. Dyrektywy default i schedule.
Wyodrębnianie obszarów zrównoleglanych, Dyrektywa sections.
Zagadnienie sortowania równoleglego, Algorytm Djikstry.
8. Wątki w języku dyrektyw OpenMP.
Wątki rzeczywiste i wirtualne.
Dyrektywy stworzenie wątków w OpenMPI:
Dyrektywy master, barrier, atomic, flush i ordered.
Dyrektywy sterujące if, num_threads.
Zagadnienia na rozwiązanie wybranych problemów, algorytm Gaussa.
9. Projektowanie algorytmów współbieżnych i równoległych w języku Java.
Wątki w języku Java. Algorytmy sortowania równoległego.
Klasyczne algorytmy równoległe, czytelnicy i pisarze.
Metoda zrównoważonego drzewa binarnego.
Technika kompresji, zasada harmonogramowania Brenta.
10. projektowanie algorytmów współbieżnych i równoległych w języku Java.
Wyszukiwanie grafów rozłącznych w grafie nieskierowanym.
Obliczanie minimalnego drzewa rozpinającego grafu.
Wyszukiwanie redundancji połączeń węzłów w grafie nieskierowanym.
11. projektowanie algorytmów współbieżnych i równoległych w języku Java
Równoległe algorytmy przeznaczone do rozwiązywania zadań geometrycznych
Algorytmy dziel i zwyciężaj.
Algorytmy przeszukiwania macierzy.
Algorytm Ricart i Agrawala.
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
101
LABORATORIUM
1. Zapoznanie z klastrem Akademii Podlaskiej.
Architektura klastera Akademii Podlaskiej.
Rozpoczynanie pracy na klasterze i logowanie do klastera.
Przenoszenie zagadnień na klaster.
Środowisko kolejkowania użytkownika (Torque).
Uruchamianie prostych zadań na klastrze.
2. Portable Batch System (PBS).
Prowadzenie do systemu PBS.
Kolejkowanie zadań i obsługa kolejki w PBS.
Instrukcja kolejkowania qsub.
Tworzenie prostego skryptu startowego.
Badanie stanu zagadnienia na klastrze. Instrukcja qstat.
3. Podstawy programowania równoległego.
Problemy dekompozycji zadań.
Struktura prostego programu w MPI.
Implementacja prostych algorytmów równoległych.
Zagadnienie całkowania równoległego, jego implementacja.
Przeprowadzenie badań zaimplementowanego modelu.
4. Wstęp do MPI.
Przykłady komunikacji blokujących i nie blokujących.
Typy danych: typy podstawowe i specjalne.
Implementacja zagadnienia gry w życie i sortowania równoległego.
Przeprowadzenie badań zaimplementowanego modelu.
5. Typy komunikacji w MPI.
Komunikacje blokujące i nie blokujące.
Mechanizmy komunikacji grupowej.
Implementacja zagadnienia gry w życie za pomocą bardziej zaawansowanych
mechanizmów komunikacji.
Implementacja programu równoległego mnożenia macierzy.
Przeprowadzenie badań zaimplementowanego modelu.
6. Wirtualia topologii w MPI.
Przykłady algorytmów iteracyjnych w obliczeniach równoległych.
Implementacja algorytmu eliminacji Gaussa.
Przeprowadzenie badań zaimplementowanego modelu.
7. Zaawansowane elementy MPI.
102
Wejście/Wyjście równolegle.
Struktura plików w MPI.
Zastosowanie bibliotek równoległych do rozwiązania wybranych problemów.
Implementacja algorytmu bankiera i Dijkstry.
Przeprowadzenie badań zaimplementowanego modelu.
8. Język dyrektyw OpenMP.
Formaty dyrektyw w OpenMP.
Implementacja algorytmu Djikstry.
Implementacja algorytmu mnożenia macierzy .
Przeprowadzenie badań zaimplementowanego modelu.
9. Wątki w OpenMP.
Dyrektywy tworzenia wątków w OpenMPI.
Dyrektywy sterujące if i num_threads.
Implementacja iteracyjnego algorytmu w OpenMPI.
Implementacja zagadnienia bankiera.
Przeprowadzenie badań zaimplementowanego modelu.
10. Techniki projektowania algorytmów równoległych w języku Java
Wątki w języku Java. Algorytmy sortowania równoległego.
Metoda zrównoważonego drzewa binarnego.
Technika kompresji, zasada harmonogramowania Brenta.
Algorytmy dziel i zwyciężaj.
Przeprowadzenie badań zaimplementowanego modelu.
11. Projektowanie algorytmów równoległych w języku Java.
Wyszukiwanie grafów rozłącznych w grafie niekierowanym.
Obliczanie minimalnego drzewa rozpinającego grafu
Wyszukiwanie redundancji połączeń węzłów w grafie nieskierowanym
Algorytmy przeszukiwania macierzy.
Przeprowadzenie badań zaimplementowanego modelu.
12. Projektowanie algorytmów równoległych w Jave
Równoległe algorytmy do rozwiązywania zadań geometrycznych
Algorytm Ricarta i Agrawala.
Zaliczenie przedmiotu i wpis w indeksach.
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
103
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 90 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 46 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Praca zbiorowa pod redakcją A. Karbowskiego i E. Niewiadomskiej, Obliczenia
równoległe i rozproszone, Wydawnictwa Politechniki Warszawskiej, 2008.
2. Grama A., Kumar V., Gupta A., Karypis G., Introduction to Parallel Computing, 2/E,
Addison Wesley , 2003.
3. Y. H. Zomaya (Ed.), Parallel and Distributed Computing Handbook, McGraw-Hill,
1996.
4. Cyberinfrastructure Tutorial: http://ci-tutor.ncsa.uiuc.edu/login.php
5. OpenMP : https://computing.llnl.gov/tutorials/openMP/
104
Kierunek: Informatyka
Przedmiot:
Zarządzanie sieciami komputerowymi i systemami
rozproszonymi
Management in Computer Networks and Distributed
systems
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład mgr Zbigniew Młynarski 21 egzamin 6
Laboratorium mgr Zbigniew Młynarski 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Technologie sieciowe
Zaawansowane sieci komputerowe
Systemy operacyjne
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym wykładu jest przedstawienie zarządzania sieciami komputerowymi i
systemami rozproszonymi , a w szczególności funkcjonowania systemów zarządzania
sieciami komputerowymi.
Rozwiniętymi celami szczegółowymi są:
Obszary funkcjonalne zarządzania sieciami,
Podstawowe modele zarządzania sieciami,
Charakterystyka protokołów zarządzania sieciami,
Projektowanie systemów zarządzania sieciami,
Architektura wybranych systemów zarządzania sieciami komputerowymi i systemami
rozproszonymi.
Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu
problemów wyjaśnianych w czasie wykładu, a także zdobycie umiejętności w zakresie
105
samodzielnej administracji systemu zarządzania siecią komputerową, efektywnym
zarządzaniem siecią, wykrywaniem potencjalnych zagrożeń pracy systemu i optymalizacją
przepustowości w sieci.
Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
Monitorowanie ruchu sieciowego,
Wykorzystanie protokołu SNMP w zarządzaniu sieciami,
Zastosowanie baz informacji zarządzania MIB-I, MIB-II oraz RMON-MIB,
Zarządzanie sieciami komputerowymi z wykorzystaniem platformy zarządzania HP
OpenView
WYKŁAD
1. Wprowadzenie do zarządzania sieciami komputerowymi i systemami rozproszonymi
architektura zarządzania sieciami komputerowymi,
modele zarządzania sieciami komputerowymi: ISO, IETF oraz TMN,
Web-Based Enterprise Management
2. Protokół SNMP
wersje Simple Network Management Protocol,
przegląd Abstract Syntax Notation One (ASN.1),
wersje SNMPv2 i SNMPv3.
3. Standardowa baza informacji zarządzania MIB
struktura informacji zarządzania,
przykłady zmiennych MIB,
przeglądarki baz MIB.
4. Protokół RMON
monitorowanie sieci,
zdalny nadzór sieci,
alarmy i filtry,
RMON2.
5. Platformy zarządzania sieciami komputerowymi i systemami rozproszonymi
hierarchia systemów zarządzania,
systemy OSS,
systemy NMS,
systemy EMS.
6. Oprogramowanie Open Source w zarządzaniu sieciami komputerowymi
ewolucja technologii SNMP
narzędzia do testowania I monitorowania,
106
ewolucja oprogramowania Open Source NMS
7. Rozpoznawanie sieci i protokół konfigurowania sieci
protokół CDP,
protokół IEEE 802.1ab LLDP,
protokół NETCONF.
8. Opracowywanie strategii zarządzania sieciami komputerowymi i systemami
rozproszonymi
projekt zarządzania siecią,
architektura zarządzania siecią,
wybieranie protokołów zarządzania siecią,
wybieranie narzędzi do zarządzania siecią
9. Zarządzanie sieciami WLAN
sieci bezprzewodowe,
zarządzanie infrastrukturą bezprzewodową,
standard IEEE 802.11v do zarządzania WLAN,
projektowanie systemu zarządzania bezprzewodowymi sieciami komputerowymi.
10. Zarządzanie wydajnością
funkcje obszaru zarządzania wydajnością,
wydajność w sieciach TCP/IP,
problemy związane z zarządzaniem wydajnością,
zagadnienia projektowe.
11. Zarządzanie bezpieczeństwem
zarządzanie bezpieczeństwem w modelu FCAPS,
zarządzanie informacją o bezpieczeństwie,
model bezpieczeństwa USM,
model kontroli dostępu oparty na widokach
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
107
LABORATORIUM
1. Wykorzystanie analizatorów protokołów do zarządzania sieciami
analizatory protokołów,
monitorowanie ruchu sieciowego,
wykorzystanie programu Wireshark.
2. Proste aplikacje do zarządzania sieciami
pakiet Net-SNMP,
konfigurowanie SNMP na routerach Cisco,
pozyskiwanie informacji o routerach za pomocą narzędzi SNMP
rozdanie tematów projektów do samodzielnej realizacji
3. Bazy MIB-II
usługi SNMP w systemach Windows,
przeglądarki MIB
4. Oprogramowanie Open Source w zarządzaniu sieciami
zastosowanie języków skryptowych w zarządzanie sieciami,
rozszerzenia MIB producentów sprzętu i oprogramowania,
pakiety o otwartych źródłach
5. Wykorzystanie narzędzi SNMP do zarządzania sieciami
monitorowanie, wyznaczanie i kreślenie trendów,
monitorowanie dostępności usług,
statystyki sieci w czasie rzeczywistym
6. System obsługi zdarzeń
konfigurowanie SNMP,
wysyłanie komunikatów syslog w postaci pułapek SNMP,
optymalizacja protokołu SNMP pod katem wydajności.
7. RMON
Konfigurowanie zdarzeń i alaramów,
Wykorzystanie sond RMON w routerach.
8. Wprowadzenie do oprogramowania Network Node Manager (NNM)
wymagania systemowe,
przygotowanie środowiska systemowego,
instalacja i uruchomienie NNM.
9. Wykorzystanie map i podmap w NNM
108
usługi pierwszoplanowe i usługi w tle,
początkowe odkrywanie sieci - opcje i rozwiązywanie problemów,
planowanie konfiguracji NNM.
10. Tworzenie mapy sieci
wykorzystanie protokołu CDP,
polecenia CDP,
generowanie mapy sieci.
11. Zarządzanie bezpieczeństwem sieci
inwentaryzacja sieci,
wyszukiwanie słabych punktów w sieciach,
zarządzanie certyfikatami.
12. Prezentacja indywidualnego projektu. Zaliczenie przedmiotu
prezentacja wyników prac,
dyskusja i ocena projektów indywidualnych.
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Blommers J.: OpenView Network Node Manager: Designing and Implementing an
Enterprise Solution. Prentice Hall PTR. 2000
109
2. Mahbub Hassan, Raj Jain, Wysokowydajne sieci TCP/IP, Wydawnictwo Helion,
Gliwice 2004
3. Stallings W., Protokoły SNMP i RMON, Wydawnictwo Helion, Gliwice 2003.
4. Morris S. B., "Network Management, MIBs and MLPS: Principles,Design and
Implementation", Addison Wesley, 2003
5. Barszczewski M., Zarządzanie sieciami telekomunikacyjnymi, Wyższa Szkoła
Informatyki Stosowanej i Zarządzania, Warszawa 2003
6. Bruno A., Kim J., CCDA. Certyfikat projektanta sieci Cisco, Wydawnictwo MIKOM,
Warszawa 2004
7. Dooley K., I. J. Brown. Cisco. Receptury, Wydawnictwo Helion, Gliwice 2004
8. Dooley K., I. J. Brown. Cisco IOS Cookbook, OReilly 2006
9. Oppenheimer P., Projektowanie sieci metodą Top-Down, Wydawnictwo Naukowe
PWN, Warszawa 2006
10. praca zbiorowa, Vademecum teleinformatyka III, IDG, Warszawa 2004
11. Mauro D., Schmidt K., Essential SNMP, OReilly 2005
12. Zitello T., Williams D., Weber P., HP OpenView System Administration Handbook:
Network Node Manager, Customer Views, Service Information Portal, HP OpenView
Operations, Prentice Hall PTR 2004
110
Specjalność: INŻYNIERIA SYSTEMÓW BEZPIECZEŃSTWA KOMPUTEROWEGO
111
Kierunek: Informatyka
Przedmiot:
Systemy kryptograficzne
Cryptographic Systems
Czas trwania: semestr 1
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład prof. dr hab. inż. Wojciech Penczek 30 egzamin 6
Laboratorium mgr Mirosław Szaban 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Elementy kryptografii i systemów kryptograficznych
lub znajomość literatury obowiązującej w tym przedmiocie.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu ”Systemy kryptograficzne” jest zaznajomienie z zadaniami
realizowanymi przez współczesną kryptografię, podstawowych technik kryptograficznych,
szyfrowania i deszyfrowania danych oraz przedstawienie standardowych algorytmów
kryptograficznych i ich kryptoanaliza. Dla zrealizowania powyższego celu niezbędne jest
również zapoznanie z podstawowymi działaniami matematycznymi z dziedziny teorii liczb, w
aspekcie zarówno teoretycznym jak i praktycznym. Rozwiniętymi celami szczegółowymi są:
Tajne schematy współużytkowania
Protokoły kryptograficzne
Klucze i zarządzanie kluczami
Istniejące systemy kryptograficzne
Współczesne badania w dziedzinie kryptografii.
Celem laboratorium jest poszerzenie wiadomości nabytych w ramach wykładu oraz nabycie
praktycznych umiejętności w zakresie zadaniań realizowanych przez współczesną
kryptografię, podstawowych technik kryptograficznych, szyfrowania i deszyfrowania danych
oraz przedstawienie standardowych algorytmów kryptograficznych oraz ich kryptoanaliza.
Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
Implementacja i testowanie schematu współużytkowania
112
Implementacja, testowanie i kryptoanaliza wybranych algorytmów blokowych i
strumieniowych
Analiza bezpieczeństwa WWW i poczty elektronicznej
Protokoły obrotu finansowego.
WYKŁAD
1. Tajne schematy współużytkowania
schemat progowy Shamira
struktury dostępu i ogólne tajne współużytkowanie
konstrukcja oparta na obwodzie niemonotonicznym
względna miara informacji
2. Tajne schematy współużytkowania - cd
konstrukcja Brickella oparta na przestrzeni liniowej
górne ograniczenie względnej miary informacji
konstrukcja przez rozkład
3. Liczby pseudo-losowe
wprowadzenie
nierozróznialne rozkłady prawdopodobieństwa
algorytm przewidywania następnego bitu
generator Bluma-Bluma-Shuba
szyfrowanie probabilistyczne
4. Podstawowe protokoły kryptograficzne
wymiana klucza
uwierzytelnianie
współdzielenie wiadomości
5. Protokoły pośrednie
usługi znakowania czasowego
kanał podprogowy
pośrednie podpisy cyfrowe
6. Protokoły pośrednie - cd
podpisy grupowe
zobowiązanie bitowe
powierzanie kluczy
7. Protokoły zaawansowane
interakcyjne systemy dowodowe
doskonałe dowody o wiedzy zerowej
113
schemat wiążącego bitu
dowody o obliczeniowej wiedzy zerowej
8. Protokoły ezoteryczne
bezpieczne wybory
przesyłanie anonimowych wiadomości
pieniądze cyfrowe
9. Długość klucza
długość klucza systemu symetrycznego
długość klucza w systemach z kluczem publicznym
ataki urodzinowe na jednokierunkowe funkcje skrótu
10. Zarządzanie kluczami
wytwarzanie kluczy
nieliniowe przestrzenie kluczy
kopie, okres ważności, niszczenie kluczy
11. Typy algorytmów i tryby ich pracy
powtórzenie bloku
szyfry strumieniowe
wybieranie trybu szyfru
12. Stosowanie algorytmów
wybieranie algorytmu
szyfrowanie w kanałach komunikacyjnych
wykrywanie szyfrowania
13. Przykładowe realizcje
protokół firmy IBM
sieć MITRENET
sieć ISDN
system SESAME
system kryptoKnight
14. Przykładowe realizacje - cd.
uwierzytelnianie według ISO
poczta elektroniczna zapewniająca tajność
karty inteligentne
układ CAPSTONE
15. Świat polityki
114
National Security Agency (NSA)
National Computer Security Center (NCSC)
Public Key Patrners
International Association of Cryptographic Research
IS)/IEC 9979
Grupa sci.skrypt
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Tajne schematy współużytkowania
implementacja aplikacji liczacej klucze (w ciele liczb całkowitych) w schemacie
progowym Shamira
testowanie aplikacji przy różnych kluczach współużytkowania
tworzenie schematu współużytkowania przy ustalonym kluczu
2. Tajne schematy współużytkowania - cd
konstrukcja tajnego schematu współużytkowania oparta na obwodzie
niemonotonicznym
tworzenie idealnych schematów przy użyciu bazowych wektorów przestrzeni
tworzenie schematów przez rozkład
3. Liczby pseudo-losowe
liniowy kongruentny generator
generator RSA - generowanie ciagów bitowych
generator pseudolosowych ciagów bitowych oparty dyskretne logarytmy -
generowanie ciagów bitowych
generator Bluma-Bluma-Shuba
szyfrowanie wiadomości z kluczem publicznym przy użyciu probabilistycznego
kryptosystemu generatora kluczy Bluma-Goldwassera
4. Data Encryption Standard (DES)
analiza algorytmu DES
implementacja
115
testowanie działania (szyfrowanie, deszyfrowanie)
5. Szyfr blokowy LOKI
analiza algorytmu LOKI91
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
porównanie z DES
6. Szyfr IDEA
analiza algorytmu IDEA
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
porównanie z DES
7. Algorytm blokowy GOST
analiza algorytmu GOST
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
8. Algorytm Blowfish
analiza algorytmu Blowfish
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
9. Szyfr blokowy 3-Way
analiza algorytmu 3-Way
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
10. Szyfr blokowy RC5
analiza algorytmu RC5
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
porównanie z DES i IDEA
11. Szyfr strumieniowy A5
analiza algorytmu A5
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
12. Szyfr strumieniowy SEAL
analiza algorytmu SEAL
116
implementacja
testowanie działania (szyfrowanie, deszyfrowanie)
13. Bezpieczeństwo WWW i poczty elektronicznej
certyfikaty
analiza protokołu SSL
pakiet PEM (Privacy Enhanced Mail)
zabezpieczanie komunikacji teleinformatycznej
14. Szyfrowanie systemu plików
system CFS (Cryptographic File System)
generowanie ciagów pseudolosowych
szyfrowanie plików
pakiet PGP (Pretty Good Privacy)
15. Protokoły obrotu finansowego
bankowość telefoniczna
protokół SET (Secure Electronic TransactionTM)
wydanie certyfikatu
transakcja elektroniczna
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
117
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Douglas R. Stinson Kryptografia. W teorii i w praktyce ., WNT
2. C. Boyd, A. Mathuria Protocols for Authentication and Key Establishment.
3. Carlisle Adams, Steve Lloyd Podpis elektroniczny. Infrastruktura klucza publicznego.
4. A. J. Menezes, P. C. van Oorschot and S. A. Vanstone Handbook of Applied
Cryptography http://www.cacr.math.uwaterloo.ca/hac/
5. Bruce Schneier Kryptografia dla praktyków. Protokoły, algorytmy i programy
źródłowe w jezyku C.
6. S. Goldwasser iM. Bellare Lecture Notes on Cryptography
http://www.cs.ucsd.edu/users/mihir/papers/7.
7. Cryptology ePrint Archive http://eprint.iacr.org/
118
Kierunek: Informatyka
Przedmiot:
Technologie i systemy bezpieczeństwa komputerowego
Technologies and Systems of Computer Security
Czas trwania: semestr 1
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Tadeusz Sydoruk 21 egzamin 6
Laboratorium mgr Krzysztof Pietraszek 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Technologie sieciowe
Systemy operacyjne
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem przedmiotu ”Technologie i systemy bezpieczeństwa komputerowego”
jest przekazanie wiedzy z zaawansowanych technologii oraz systemów bezpieczeństwa sieci
komputerowych w aspekcie zarówno teoretycznym jak i praktycznym w zakresie niezbędnym
do projektowania bezpiecznych sieci, ich wdrażania i eksploatacji oraz adaptacji
nowoczesnych technologii i systemów bezpieczeństwa do zmieniających się wymagań
bezpieczeństwa w sieciach istniejących.
Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu
problemów sygnalizowanych i wyjaśnianych w czasie wykładu, a także zdobycie
umiejętności w zakresie instalowania i samodzielnego zarządzania systemami bezpieczeństwa
komputerowego, wykrywaniem potencjalnych zagrożeń pracy systemu i optymalizacja
przepustowości sieci.
WYKŁAD
1. Ataki i metody obrony ściany ogniowej. Strefy zdemilitaryzowane (DMZ)
Metody atakowania firewalli i przeciwdziałanie
Przykład ataku na firewall: CheckPoint, PIX, ISA, NetScreen
119
Bezpieczna transmisja danych pomiedzy hostem a siecią
Protokoły DMZ
Identyfikacja zagrożen z Internetu
Architektury DMZ
2. Atak i obrona stref zdemilitaryzowanych
Rekonesans i testy penetracyjne
Ataki na DMZ
Ukrywanie tożsamosci
Mapowanie sieci
3. Systemy wykrywania włamań (IDS) w strefach zdemilitaryzowanych
Strategie rozmieszczenia IDS
Snort
CISCO IDS
Pułapki w strefach DMZ
4. Serwer ISA - planowanie i wdrażanie
Szacowanie wymagań
Wymagania systemowe, programowe i sprzętowe
Zastosowanie Active Directory
Planowanie trybu instalacji. Dostosowanie ISA do własnych potrzeb
Optymalizacja wydajności. Integracja ISA z innymi usługami
Tworzenie kopii zapasowej i przywracanie konfiguracji
5. Cyfrowa transmisja głosu. Telefonia IP
Obsługa głosu w sieciach WAN.
Kanały głosowe. Optymalizacja pasma
Sygnalizacja. Echo
Problemy połączen telefonicznych
Uwierzytelnianie użytkowników i urządzeń
Ksiegowanie i billing
Przykłady implementacji
6. Zarządzanie bezpieczeństwem informacji w systemach teleinformatycznych
Schemat procesu budowy bezpieczeństwa teleinformatycznego
Struktura organizacyjna związana z procesem zarządzania bezpieczeństwem
Plan bezpieczeństwa teleinformatycznego
Wdrażanie i utrzymywanie przedsięwziec bezpieczeństwa teleinformatycznego
7. VPN - wirtualne sieci prywatne
Uwierzytelnianie kryptograficzne
Szyfrowanie ładunku danych
Cechy charakterystyczne sieci VPN
120
Popularne implementacje sieci VPN
8. Bezpieczeństwo telekomunikacji. Sieci komórkowe GSM/GPRS
Systemy ochrony telefonii komórkowej GSM. Obrona radioelektroniczna
Transmisja danych w specjalnych (wojskowych) sieciach łącznosci. Bezpieczeństwo
rozmów
Architektura sieci GSM/GPRS
Model bezpieczeństwa i ataki na GSM
Bezpieczeństwo bezprzewodowej transmisji danych
9. Inżynieria zabezpieczeń
Ochrona wielopoziomowa i wielostronna
Bankowość i ksiegowość
Systemy monitorujace
Metody biometryczne
10. Projektowanie systemów bezpieczeństwa
Analiza potrzeb
Analiza zagrozeń
Implementacja AAA
Implementacja wybranych technologii zabezpieczeń
11. Zintegrowane systemy bezpieczeństwa
Monitorowanie sieci
Trendy
Zintegrowane technologie zabezpieczeń
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Systemy bezpieczeństwa - wprowadzenie
Słabości i zagrożenia
Podstawy bezpieczeństwa i polityka
121
Przegląd produktów i rozwiązań
2. Domeny zaufania
Zastosowanie domen zaufania
Zabezpieczanie usług sieciowych programem TPD
3. Ochrona serwerowych środowisk MS Windows
Lokalna Kontrola Dostępu w systemie Windows XP
Korzystanie z możliwości systemu plików NTFS
Wykorzystywanie archiwów z ochroną kryptograficzną
4. 5. Systemy uwierzytelniania i kontroli dostępu do systemu operacyjnego, ograniczanie
środowiska wykonywania aplikacji
Omówienie i korzystanie z mechanizmu PAM (Pluggable Authentication Modules)
Omówienie i korzystanie z mechanizmu SUDO (superuser do)
5. Zabezpieczanie komunikacji pocztowej i www
Integracja mechanizmów kryptograficznych z usługami pocztowymi
Zabezpieczanie serwerów usług aplikacyjnych na przykładzie WWW
6. Konstrukcja urzędów certyfikacji standardu OpenSSL, zarządzanie certyfikatami
Tworzenie własnego centrum certyfikacji
Zarządzanie PKI (Public Key Infrastructure)
7. Tworzenie sieci VPN w środowisku Linux i Windows
Implemetacja połączenia VPN Linux - Linux z wykorzystaniem mechanizmu
współdzielonego klucza
Implemetacja połączenia VPN Linux - Linux z wykorzystaniem mechanizmu
certyfikatów cyfrowych
• Implemetacja połączenia VPN Linux - Windows z wykorzystaniem mechanizmu
współdzielonego klucza
Budowanie sieci VPN z użyciem oprogramowania Openswan
8. Systemy programowych zapór sieciowych
Konfiguracja iptables w systemie Linuks
Korzystanie z modułów rozszerzających IPTABLES
9. Konfiguracja routerów i przełączników
Ogólne bezpieczeństwo routerów i przełączników
Blokowanie usług
Zarządzanie routerem
122
10. Konfiguracja list kontroli dostępu (1)
Projektowanie i konfiguracja list standardowych
Projektowanie i konfiguracja list rozszerzonych
11. Konfiguracja list kontroli dostępu (2)
Typy list kontroli dostępu
Kontrola dostępu CBAC
Konfiguracja CBAC
12. Konfiguracja list kontroli dostępu (3)
Inspekcja list dostępu
Zaliczenie laboratorium
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Behrens T. i in.: CISCO PIX. Firewalle. Wyd. Helion, Gliwice 2006
2. Cherie Amon, Anne Carasik-Henmi, Thomas W. Shinder, Steven Andres, Brian
Kenyon, Hardening the Network Infrastruktures, Syngress, 2004
3. Kurose J.F., Ross K.W.: Sieci komputerowe. Od ogółu do szczegółu z internetem w
tle. Wyd. Helion, Gliwice 2006, wydanie 3
4. Littlejohn Debra , Robert J. Shimonski: Wielka ksiega firewalli, Helion, 2004
5. Pieprzyk J., Hardjono T., Seberry J.: Teoria bezpieczeństwa systemów
komputerowych, Wyd. Helion, Gliwice 2003
123
6. Serafin M.: Sieci VPN. Zdalna praca i bezpieczeństwo danych. Wyd. Helion, Gliwice
2008
124
Kierunek: Informatyka
Przedmiot:
Bezpieczeństwo aplikacji w środowisku sieciowym
Application Security in Network Environments
Czas trwania: semestr 2
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr hab. Andrzej Wiśniewski 30 egzamin 6
Laboratorium dr Jarosław Skaruz 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Aplikacje internetowe
Przetwarzanie rozproszone
specjalistycznych: Zaawansowane sieci komputerowe/ Bezpieczeństwo sieci
komputerowych
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym wykładu jest przedstawienie zróżnicowanych form zagrożeń wynikających z
sytuacji przepełnienia stosu, sterty, jądra. Cele szczegółowe wykładu są następujące:
charakterystyka metod wykrywania błedów przepełnienia, kontroli kodu źródłowego,
audytu kodu binarnego,
charakterystyka systemu Windows ze szczególnym uwzględnieniem zalet i wad
techniologii DCOM/DCE-RPC,
tworzenie exploitów i filtrów (Unicode/alfanumerycznych),
technologie fuzzingu.
Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w zakresie
testowania kodu źródłowego. Cele szczegółowe laboratorium są następujące:
wykonywanie i testowanie kodu w systemie Windows,
wyszukiwanie i wykorzystanie błędów przeopełnień sterty i metody jej naprawy,
techniki tworzenia exploitów,
techniki audytu kodu binarnego.
125
WYKŁAD
1. Przepełnienie Stosu
bufory
stos
przepełnienie buforów na stosie
zdobywanie uprawnień roota
2. Shellcode - wywołanie powłoki
wywołania systemowe
kod powłoki używający wywołania systemowego exit()
wstrzykiwanie kodu powłoki
tworzenie nowej powłoki
3. Błędy łańcuchów formatujących
łańcuchy formatujące
błędy łańcuchów formatujących
włamania za pomocą łańcuchów formatujących
przejęcie sterowania
4. Wprowadzenie do metod przepełnienia sterty
zarządzanie stertą
wyszukiwanie przepełnień sterty
podstawowe metody przepełnień sterty
5. Charakterystyka systemu Windows
sterty
wątki
zalety i wady technologii DCOM i DCE-RPC
śledzenie działania programów w systemie Windows
6. Kody powłoki w Windows
składnia i filtry
przygotowywanie kodu powłoki
tworzenie nowej powłoki
7. Przepełnienia w systemie Windows
przepełnienia buforów na stosie
ochrona stosu
przepełnienia sterty
wykorzystanie przepełnień sterty
8. Rodzaje i zastosowanie filtrów
126
tworzenie eksploitów i filtry alfanumeryczne
tworzenie eksploitów i filtry Unicode
metoda wenecka
dekoder i dekodowanie
9. Wstrzykiwanie błędów
projekt systemu wstrzykiwania błędów
monitorowanie błędów
10. Fuzzing - wykrywanie błędów przepełnienia bufora
teoria fuzzingu
wady fuzzerów
modelowanie dowolnych protokołów sieciowych
program SPIKE
11. Kontrola kodu zródłowego
narzędzia kontroli kodu zródłowego
klasy błędów
metodologia wykrywania błędów
12. Ręczne wykrywanie błędów
filozofia
typowe błędy architektury
obejście kontroli danych wejściowych
wykrywanie ataków odmowy usługi
13. Audyt kodu binarnego
podstawy audytu kodu binarnego
odtwarzanie definicji klas
ręczna analiza kodu binarnego
14. Alternatywne strategie exploitów
modyfikacje programów
proxy wywołań systemowych
koncepcje modyfikacji działającego kodu
15. Przepełnienie jądra
typy słabych punktów jądra
słabe punkty jądra
ZALICZENIE WYKŁADU
127
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Buffer overflow - przepełnienie bufora
implementacja kodów przepełnienia bufora dla aplikacji w systemie Linuks
wykonanie ataku przepełnienia bufora
2. Implementacja kodu powłoki
kompilacja i deasemblacja programów
tworzenie własnej powłoki
3. Wykorzystanie błędów w łańcuchach formatujących
specyfikatory formatu
atakowanie usług sieciowych
odczytywanie danych procesów
modyfikacja działania programów w trakcie wykonywania
4. Wyszukiwanie i wykorzystanie błędów przepełnień sterty
identyfikacja obszaru sterty
przepełnianie sterty w programach
5. Wykonywanie kodu w systemie Windows
analiza słabych punktów DCOM
zastosowanie narzędzia SPIKE
6. Powłoka w systemie Windows
dynamiczne tworzenie kodu powłoki
wstrzykiwanie kodu powłoki do działającego procesu
7. Stos i sterta w Windows
nadpisywanie wskaźnika funkcji
przepełnienie sekcji .data
przepełnienia bloków TEB i PEB
128
naprawa sterty
8. Ataki SQL-injection
analiza typowych ataków SQL-injection
wykrywanie błędów SQL-injection w aplikacjach
9. Testowanie poprawności kodu I
przepełnienia jednym bajtem
błędy braku zakończenia łańcucha
błędy przeskoczenia bajtu zerowego
10. Testowanie poprawności kodu II
błędy porównania wartości ze znakiem
błędy związane z wartościami całkowitymi
błędy podwójnego zwolnienia
11. Zautomatyzowane narzędzia kontroli kodu zródłowego
wykorzystanie szerokiej gamy oprogramowania do wykrywania błędów w kodzie
źródłowym
testowanie aplikacji
12. Audyt kodu binarnego
symbole uruchomieniowe
tablice funkcji wirtualnych
konstrukcje języka C++
13. Ręczna analiza kodu binarnego
weryfikacja wywołań bibliotecznych
błędy logiki
graficzna analiza kodu binarnego
ręczna dekompilacja
14. Zaawansowane techniki tworzenia eksploitów
analiza kodów źródłowych eksploitów wykorzystanych w znanych włamaniach
modyfikacja kodów źródłowych eksploitów
15. Słabe punkty jądra systemu Linuks
wyznaczanie przesunięć i adresów pułapek
nadpisywanie adresu powrotu i przejęcie sterowania
wyszukiwanie deskryptora procesu
powrót kodu wykonywanego na poziomie jądra
129
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Jack Koziol, David Litchfield, Dave Aitel, Chris Anley, Sinan Eren, Neel Mehta,
Riley Hassell, The Shellcoder’s Handbook, Helion,
2. Alex Lukatsky, Wykrywanie włamań i aktywna ochrona danych, Helion, 2004
130
Kierunek: Informatyka
Przedmiot:
Systemy wykrywania włamań
Intrusion Detection Systems
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Tadeusz Sydoruk 21 egzamin 6
Laboratorium dr Jarosław Skaruz 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Podstawy bezpieczeństwa systemów komputerowych,
Modelowanie i analiza systemów informatycznych,
Zaawansowane technologie programistyczne.
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym wykładu jest zapoznanie z przekrojem wszystkich zagadnień wchodzacych
w zakres systemów wykrywania włamań (IDS) oraz zapobiegania włamaniom (IPS) do
systemów informatycznych, koniecznych do uwzględnienia podczas projektowania i
wdrażania tych systemów w organizacjach, firmach i korporacjach w instalacjach
powiązanych z intersiecią. Celami dodatkowym jest wskazanie na prawidłowości i tendencje
rozwojowe systemów IDS oraz IPS, w tym w szczególności przy zastosowaniu technologii
baz danych oraz sztucznej inteligencji, a także kierunki rozwoju zabezpieczeń systemów
informatycznych.
Celem ćwiczeń laboratoryjnych jest rozszerzenie i utrwalenie zagadnień teoretycznych oraz
nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu wybranych problemów
wskazanych w toku wykładu.
WYKŁAD
1. Wprowadzenie do wykrywania włamań. Metody wykrywania włamań
Istota i definicje wykrywania włamań. Idee i koncepcje wykrywania włamań
131
Podstawowe problemy wykrywania włamań.
Rynkowe narzędzia i systemy wykrywania włamań
Przetwarzanie: raportu audytu i
Sygnatury i profile normalnego i nienormalnego zachowania. Korelacja zdarzeń
2. Inspekcja pakietów w celu analizy włamań
Definicje i technologie analizy pakietów
Filtry pakietów, filtrowanie pełnostanowe
Proxy aplikacyjne
Nowe metody analizy pakietów
3. Klasyfikacja systemów wykrywania włamań
Powstanie i rozwój IDS
Przykład ataku, wykrycia i obrony
Lokalne i sieciowe IDS
Systemy IPS
Narzędzia wykrywania ataków odmowy obsługi
4. Architektura systemów wykrywania włamań
Architektura IDS
Informacje wejściowe dla IDS
Przetwarzanie w IDS
Alarmy i dyrektywy
Infrastruktura komunikacyjna
6. Cykl życia i etapy wdrożenia systemu wykrywania włamań. Wybór systemu
wykrywania włamań
Planowanie. Wybór producenta. Testowanie
Projekt pilotażowy
Instalacja (wdrożenie). Obsługa i konserwacja
Analiza wstępna - identyfikacja potrzeb i możliwości nabywcy IDS
Kryteria oceny systemów wykrywania włamań
Systemy IDS i IPS open source
7. Elementy SWW w infrastrukturze informatycznej. Pułapki internetowe
Rozmieszczenie czujników IDS. Czujniki SWW w sieciach przełączanych
Czynniki wpływajace na konfiguracje systemu wykrywania włamań
Definicja pułapki. Typy pułapek
Wytyczne do zaprojektowania pułapki
8. Zarządzanie siecią z IDS
Wybór węzła dla IDS
Strategia skanowania
Konfiguracja mechanizmu rejestrowania zdarzeń
132
Zabezpieczanie SWW
9. Typowe problemy IDS. Reagowanie na incydenty
Problemy natury ogólnej
Ograniczenia sieciowych IDS
Ograniczenia lokalnych IDS
Proces reagowania na incydenty - czynniki i uwarunkowania
Typologia technik reagowania na incydenty i metodologia jej użytku
10. Standaryzacja w dziedzinie systemów wykrywania włamań
Projekt Lincoln Laboratory
Projekt OSEC
Projekt OPSEC
Projekt DARPA
11. Zastosowanie sztucznej inteligencji w SWW
Zastosowanie sieci neuronowych do wykrywania włamań na aplikacje www
Zastosowanie sztucznych systemów immunologicznych do wykrywania intruzów
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Detekcja włamań
instalacja SWW,
konfiguracja systemu
Snort jako sniffer pakietów
wykrywanie złośliwej aktywności sieciowej
2. Analiza alarmów: moduł ACID
instalacja i konfiguracja modułu ACID
wykorzystanie modułu ACID oraz bazy Mysql do zarzadzania alarmami z poziomu
interfejsu WWW
133
3. Korelacja zdarzeń: moduł Sguil
instalacja i konfiguracja modułu Sguil
wykorzystanie modułu Sguil do rozproszonego monitorowania systemu operacyjnego
4. Tworzenie sygnatur
analiza plików konfiguracyjnych
analiza nagłówka reguł
analiza ciała reguł
testowanie reguł
5. Tworzenie sygnatur II
analiza opcji preprocesora
implementacja własnego preprocesora
6. Zarządzanie sensorami
instalacja i konfiguracja modułu Snort Center
wykorzystanie aplikacji Snort Center do zarządzania sensorami Snorta
7. Optymalizacja Snorta
analiza opcji dla testów wydajnościowych
konfiguracja preprocesora
wybór pluginów
8. Zarządzanie systemem Snort: moduł Bernyard
instalacja i konfiguracja aplikacji Bernyard
testowanie wydajności Snorta z zastosowaniem Bernyard
9. Detekcja włamań w połaczeniach szyfrowanych protokołem SSL
instalacja i konfiguracja modułu modsecurity dla serwera WWW
wykrywanie złośliwej aktywności sieciowej szyfrowanej protokołem SSL
10. Integracja systemu wykrywania włamań z firewallem: aplikacje Snort inline i
SnortSam
instalacja łatki Snort inline oraz modułu SnortSam
wykorzystanie dodatkowego oprogramowania do modyfikacji reguł firewalla jako
reakcji na atak
11. System wykrywania anomalii: aplikacja Spade
instalacja i konfiguracja aplikacji
testowanie skuteczności wykrywania włamań
134
12. Zarządzanie pułapką: Specter
instalacja i konfiguracja pułapki
wykorzystanie skanerów bezpieczenstwa do analizy hostów-pułapek
13. Symulacja systemu podatnego na atak: pułapka Honeyd
instalacja i konfiguracja środowiska Honeyd
wykorzystanie skanerów bezpieczeństwa do analizy hostów-pułapek
14. Śledzenie aktywności intruza: aplikacje Honeyd i Sebek
instalacja i konfiguracja środowiska Sebek
śledzenie aktywności intruza po włamaniu na host-pułapke
15. Analiza powłamaniowa: narzędzia chkrootkit
instalacja i konfiguracja narzędzi analizy powłamaniowej
wykorzystanie aplikacji do uzyskania informacji o aktywności intruza
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Amoroso E.: Wykrywanie intruzów.Wyd. Oficyna Wydawnicza RM,Warszawa 1999.
2. Beale J., Foster J.C.:Snort 2.0 Intrusion Detekti9on. Wyd. Syngress, 2003.
3. Birkholz E.P.: Operacje specjalne. Bezpieczenstwo komputerów i sieci. Wyd.
Translator, Warszawa 2003
135
4. Butler J., Hoglund G.: Rootkity. Sabotowanie jadra systemu Windows. Wyd. Helion,
Gliwice 2006.
5. Crothers T.: Implementing Intrusion Detektion Systems: A Hands-On Guide for
Securing the Network. Wiley, 2002.
6. Lockhart A.: 100 sposobów na bezpieczenstwo sieci. Wyd. Helion, Gliwice 2004.
7. Lukatsky A.: Wykrywanie właman i aktywna ochrona danych. Wyd. Helion, Gliwice
2004.
8. RashM., Orebaugh A., Clark G., Pinkard B., Babbin J.: IPS. Zapobieganie I aktywne
przeciwdziałanie intruzom. Wyd. MIKOM, Warszawa 2005.
9. Sklyarov I.: Hakerskie łamigłówki. Wyd. Helion, Gliwice 2005.
136
Kierunek: Informatyka
Przedmiot:
Projektowanie aplikacji i systemów bezpieczeństwa
komputerowego
Design of Computer Security Applications and Systems
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Jarosław Skaruz 30 egzamin 6
Laboratorium mgr Marek Pilski 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Podstawy bezpieczeństwa systemów komputerowych,
Modelowanie i analiza systemów informatycznych,
Zaawansowane technologie programistyczne
lub znajomość literatury z tych przedmiotów.
ZAŁOŻENIA I CELE
Celem wykładu jest przekazanie wiedzy z zakresu projektowania aplikacji i systemów
bezpieczeństwa komputerowego. Zakres ten obejmuje:
zagadnienia metodologiczne dotyczące projektowania systemów z uwzględnieniem
polityki bezpieczeństwa,
analizę i ocenę zagrożeń,
podstawowe metody ataków na aplikacje i systemy komputerowe, oraz metody
obrony.
W zakresie poruszanej problematyki znalazły się zagadnienia związane z projektowaniem
bezpiecznych aplikacji www.
Celem ćwiczeń laboratoryjnych jest nabycie i opanowanie praktycznych umiejętności w
zakresie projektowania aplikacji uwzględniających zasady bezpieczeństwa. Zasadniczym
elementem praktycznym laboratorium jest zadanie indywidualne o charakterze projektu. W
ramch projektu studenci przygotowują i przeprowadzają:
137
projekt aplikacji,
implementację,
program testów z uwzględnieniem elementów bezpieczeństwa aplikacji.
przeprowadzenie testów i analizę wyników.
Ocenie podlega cały proces i jego zgodność z metodyką projektowania systemów
informatycznych.
WYKŁAD
1. Metodologia projektowania systemów informatycznych w aspekcie bezpieczeństwa
Zakres i elementy metodyki projektowania systemów.
Cykl życia systemu informatycznego.
Metodologia projektowania a polityka bezpieczeństwa.
2. Polityka bezpieczeństwa w projektowaniu aplikacji i systemów bezpieczeństwa
komputerowego
Elementy polityki bezpieczeństwa w projektowaniu systemów.
Model polityki bezpieczeństwa w projektowaniu systemów.
3. Specyfikacja zabezpieczeń na etapie projektowania funkcjonalności aplikacji.
Krytyczne błędy programistyczne.
Ochrona przed błędami.
Bezpieczeństwo kompilacji i bibliotek.
Zasada minimalnych uprawnień.
Modele zabezpieczeń.
Obsługa wyjątków.
4. Projektowanie bezpiecznych aplikacji w aspekcie środowiska pracy aplikacji.
Aplikacje dla systemów operacyjnych Windows, Unix, Linux.
Aplikacje dla platformy .NET.
5. Analiza i ocena zagrożeń w aspekcie projektowania aplikacji.
Analiza zagrożeń.
Określenie priorytetów użytkownika i projektanta.
Ocena zagrożeń.
Minimalizacja ryzyka.
Reguły bezpieczeństwa.
6. Ataki na aplikacje.
Klasy ataków.
Metody analizy luk w zabezpieczeniach.
Różnicowanie.
138
7. Techniki wykorzystywania zagrożeń spowodowanych nieoczekiwanymi danymi
wejściowymi.
Techniki wyszukiwania i eliminacji luk.
Zabezpieczenia języków programowania.
Narzędzia do kontroli poprawności funkcjonowania aplikacji.
8. Przepełnianie bufora i ciągi formatujące.
Techniki przepełniania bufora.
Błędy ciągów formatujących.
9. Sposoby zabezpieczeń przed złośliwym oprogramowaniem.
Techniki dostarczania złośliwego kodu.
Wykrywanie złośliwego kodu.
10. Zautomatyzowane badanie systemów zabezpieczeń w aplikacjach.
Narzędzia do rozpoznawania systemów zabezpieczeń.
Testowanie penetracyjne.
11. Projektowanie bezpiecznych aplikacji usługowych.
Bezpieczne środowisko aplikacyjne.
Zagrożenia i ochrona popularnych usług aplikacyjnych (www, poczta elektroniczna,
komunikatory sieciowe).
Bezpieczne protokoły sieciowe.
12. Projektowanie bezpiecznych aplikacji www.
Techniki ataków z poziomu sieci www.
Model zagrożeń dla aplikacji www.
13. Projektowanie bezpiecznych stron WWW w aspekcie poprawności danych.
Źródła danych.
Zagrożenia dla danych.
Walidacja danych po stronie klienta i serwera.
14. Uwierzytelnianie i autoryzacja w projektowaniu bezpiecznych aplikacji www.
Uwierzytelnianie w projektowaniu bezpiecznych aplikacji www.
Autoryzacja w projektowaniu bezpiecznych aplikacji www.
15. Uruchamianie bezpiecznych aplikacji www.
Przygotowanie testów.
Przeprowadzenie testów bezpieczeństwa.
139
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Specyfikacja wymagań projektu.
Analiza wymagań.
Formułowanie wymagań.
2. Specyfikacja wymagań dotyczących bezpieczeństwa.
Analiza wymagań.
Formułowanie wymagań.
3. Specyfikacja zabezpieczeń na etapie projektowania funkcjonalności aplikacji.
Krytyczne błędy programistyczne.
Ochrona przed błędami.
Bezpieczeństwo kompilacji i bibliotek.
Zasada minimalnych uprawnień.
Modele zabezpieczeń.
Obsługa wyjątków.
4. Projektowanie aplikacji.
Architektura aplikacji.
Specyfikacja usług.
Projektowanie podsystemów.
Projektowanie bezpieczeństwa - analiza zagrożeń.
5. Projektowanie aplikacji
Projektowanie interfejsu.
Projektowanie struktur danych.
Projektowanie algorytmów.
Projektowanie bezpieczeństwa - ocena zagrożeń.
6. Programowanie aplikacji.
140
Analiza luk w zabezpieczeniach.
Wprowadzanie zabezpieczeń do aplikacji.
7. Techniki wykorzystywania zagrożeń spowodowanych nieoczekiwanymi danymi
wejściowymi.
Techniki wyszukiwania i eliminacji luk.
Zabezpieczenia języków programowania.
Narzędzia do kontroli poprawności funkcjonowania aplikacji.
8. Przepełnianie bufora i ciągi formatujące - najczęstsze ataki.
Techniki przepełniania bufora.
Błędy ciągów formatujących.
9. Sposoby zabezpieczeń przed złośliwym oprogramowaniem.
Techniki dostarczania złośliwego kodu.
Wykrywanie złośliwego kodu.
10. Zautomatyzowane badanie systemów zabezpieczeń w aplikacjach.
Narzędzia do rozpoznawania systemów zabezpieczeń.
Testowanie penetracyjne.
11. Programowanie bezpiecznych aplikacji usługowych.
Bezpieczne środowisko aplikacyjne.
Zagrożenia i ochrona popularnych usług aplikacyjnych (www, poczta elektroniczna,
komunikatory sieciowe).
Bezpieczne protokoły sieciowe.
12. Programowanie bezpiecznych aplikacji www.
Techniki ataków z poziomu sieci www.
Model zagrożeń dla aplikacji www.
13. Programowanie bezpiecznych aplikacji www - poprawność danych.
Źródła danych.
Zagrożenia dla danych.
Walidacja po stronie klienta i serwera.
14. Testowanie i uruchamianie aplikacji.
Przygotowanie testów.
Przeprowadzenie testów bezpieczeństwa.
Uruchamianie aplikacji.
Sporządzenie dokumentacji projektu.
141
15. Prezentacja projektu i zaliczenie.
Prezentacja i ocena projektu
Zaliczenie przedmiotu
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Barczak A, Florek J., Sydoruk T. - Projektowanie zintegrowanych systemów
informatycznych zarządzania, Akademia Podlaska, 2006
2. Szeliga M., Wileszek R. - PHP 5;Tworzenie bezpiecznych stron WWW. Helion 2006
3. Kevin Lam i inni - Ocena bezpieczeństwa sieciowego, APN Promise 2005
4. Praca zbiorowa - Hack Proofing your Network, Helion 2002
5. Michael Howard, David LeBlanc - Bezpieczny kod, Microsoft Press
6. J.D. Meier, Alex Mackman, Michael Dunner, Srinath Vasireddy - Tworzenie
Bezpiecznych Aplikacji Microsoft ASP.NET, Microsoft Press, 2002
142
Kierunek: Informatyka
Przedmiot:
Zarządzanie bezpieczeństwem systemów komputerowych
Computer Systems Security Management
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Tadeusz Sydoruk 21 egzamin 6
Laboratorium dr Jarosław Skaruz 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Podstawy bezpieczeństwa systemów komputerowych,
Modelowanie i analiza systemów informatycznych,
Zaawansowane technologie programistyczne
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym wykładu jest zapoznanie z przekrojem zagadnień wchodzących w zakres
zarządzania bezpieczeństwem systemów komputerowych, w tym zwłaszcza norm i
standardów, technologii, technik oraz wybranych narzędzi, praktycznym zastosowaniem
wybranych zagadnień projektowania i wdrażania polityki bezpieczeństwa, koniecznych do
uwzględnienia podczas projektowania i wdrażania systemów bezpieczeństwa komputerowego
w systemach informatycznych organizacji, firm, instytucji i korporacji w instalacjach
powiązanych z intersiecią.
Celem dodatkowym jest wskazanie na prawidłowości i tendencje rozwojowe systemów
zarządzania bezpieczeństwem informacji w systemach komputerowych, w tym w
szczególności przy zastosowaniu nowoczesnych technologii, a także kierunki rozwoju
zabezpieczeń systemów informatycznych.
Celem ćwiczeń laboratoryjnych jest rozszerzenie i utrwalenie zagadnień teoretycznych oraz
nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu wybranych problemów
wskazanych w toku wykładu.
WYKŁAD
143
1. Modele bezpieczeństwa informacyjnego. Polityka bezpieczeństwa
formalne modele bezpieczeństwa informacji,
logiczny nadzór bezpieczeństwa,
infrastruktura, poufność oraz integralność danych,
polityka i procedury dla personelu, szkolenia,
zabezpieczenia fizyczne i logiczne,
koordynacja elementów bezpieczeństwa w organizacji;
2. Ocena bezpieczeństwa systemu teleinformatycznego
standard TCSEC,
europejski standard ITSEC,
angielski standard BS 7799,
norma PN-ISO/IEC 27001;
3. Klasyfikacja i kontrola zasobów. Bezpieczeństwo osobowe
metody ochrony danych,
urządzenia przetwarzania danych,
poufność, integralność i dostępność;
czynnik ludzki - świadomość, wiedza i doświadczenie personelu,
certyfikat bezpieczeństwa osobowego, procedury weryfikacyjne;
4. Bezpieczeństwo fizyczne i środowiskowe
zgodność zabezpieczeń z klasyfikacją informacji i oceną ryzyka,
adekwatność zabezpieczeń do istniejących zagrożeń,
mechanizmy zabezpieczeń fizycznych,
integracja systemów zabezpieczeń;
5. System informatyczny a wymagania prawne i własne standardy. Zarządzanie
systemami i sieciami.
zgodność wymagań prawnych związanych z bezpieczeństwem informacji,
ochrona danych osobowych – prawo i praktyka działania,
systemy krytyczne,
zarządzanie kopiami zapasowymi,
ocena skuteczności wdrożonych systemów bezpieczeństwa;
6. Kontrola dostępu do systemu. Rozwój i utrzymanie systemu
zarządzanie uprawnieniami w systemach IT,
kontrola przestrzegania i weryfikacja wdrożonych procedur;
metody i narzędzia testowania oprogramowania,
rozwój i aktualizacja narzędzi i metod,
wdrażanie aktualizacji do systemów informatycznych;
7. Zarządzanie ciągłością działania
144
identyfikacja krytycznych informacji i usług,
identyfikacja potencjalnych zagrożeń,
testowanie procedur i planów awaryjnych;
8. Analiza i szacowanie ryzyka
analiza ryzyka na potrzeby bezpieczeństwa teleinformatycznego,
metody oceny ryzyka – drzewa zdarzeń i drzewa błędów,
metody oceny ryzyka – oszacowania jakościowe,
metody oceny akceptowalności ryzyka;
9. Audyt bezpieczeństwa
analiza bezpieczeństwa w obszarach: serwery, stacje robocze, sieć, oprogramowanie,
metodyki, narzędzia, procedury,
raport o stanie bezpieczeństwa otoczenia systemu informatycznego,
raport o stanie bezpieczeństwa systemu informatycznego,
zalecenia i rekomendacje zmian;
10. Odtwarzanie działania systemów informatycznych
schemat opracowania i wdrożenia planów odtwarzania,
kopie bezpieczeństwa, rodzaje i przeznaczenie,
analiza procesu wytwarzania kopii bezpieczeństwa,
macierze RAID;
11. Ocena poziomu bezpieczeństwa SI
ocena polityki bezpieczeństwa,
audyt serwerów i stacji roboczych,
testy penetracyjne,
analiza wyników audytu,
wnioski – procedury przeciwdziałania atakom.
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Analiza obszaru problemowego – podstawowe definicje
145
firma, instytucja, korporacja,
system informacyjny,
system(y) informatyczny(e),
procesy biznesowe,
personel, sprzęt, oprogramowanie;
2. Analiza zagrożeń i ocena ryzyka
prawdopodobieństwo wystąpienia zagrożenia,
skutki wystąpienia zagrożenia,
szacowanie ryzyka utraty informacji,
akceptowalność ryzyka;
3. Analiza strat, zysków i kosztów
kryteria decyzyjne akceptowalności ryzyka,
definiowanie wymagań sprzętowych,
definiowanie wymagań programowych;
4. Metody kontroli dostępu do systemu
analiza metod zapewniających bezpieczeństwo fizyczne,
elementy systemów ochrony fizycznej,
integracja systemów ochrony fizycznej – zyski i straty;
kontrola dostępu do systemów operacyjnych Linuks,
kontrola dostępu do systemów operacyjnych Windows a,
kontrola dostępu w systemach sieciowych;
5. Metody monitorowania systemu. Metody reagowania na wykrycie zagrożenia
analiza i wybór metod monitorowania chronionego środowiska,
definiowanie procedur obsługi incydentów,
wdrażanie procedur obsługi incydentów;
6. Metody likwidacji skutków realizacji zagrożenia
wybrane elementy procedur tworzenia kopii zapasowych,
procedury odtwarzania systemów z kopii zapasowych;
7. Projektowanie i wdrażanie polityki bezpieczeństwa
Tworzenie dokumentu pt. Polityka bezpieczeństwa przedsiębiorstwa” wg wybranej
metodyki,
analiza i planowanie procesu wdrożenia;
8. Projektowanie zabezpieczeń systemu informatycznego I
zapewnianie poufności danych,
zapewnianie integralności danych,
zapewnianie kontroli dostępu i identyfikowalności tożsamości,
146
zapewnianie dostępności;
9. Projektowanie zabezpieczeń systemu informatycznego II
architektura dostępu do Internetu,
architektura zewnętrznego rutera,
architektura zaawansowanej ściany ogniowej;
10. Audyt systemów baz danych I
zabezpieczanie baz danych: MySQL i PostgreSql,
testy penetracyjne baz danych: MySQL i PostgreSql;
11. Audyt systemów baz danych II
zabezpieczanie bazy Oracle,
testy penetracyjne bazy Oracle;
12. Audyt systemów operacyjnych
zabezpieczanie i testy penetracyjne systemów Linuks,
zabezpieczanie i testy penetracyjne systemu Windows
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-140 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-70 pkt. ndst (F) 99-112 pkt. db (C)
71-84 pkt. dst (E) 113-126 pkt. db+ (B)
85-98 pkt. dst+ (D) 127-140 pkt. bdb (A)
LITERATURA
147
1. Gałach A.: Instrukcja zarządzania bezpieczeństwem systemu informatycznego. Wyd.
OdiDK, Gdańsk 2004.
2. Lam K., LeBlanc D., Smith B.: Ocena bezpieczeństwa sieciowego. Wyd. APN
PROMISE, Warszawa 2005.
3. Liderman K.: Podręcznik administratora bezpieczeństwa teleinformatycznego. Wyd.
MIKOM, Warszawa, 2003.
4. Molski M., Łacheta M.: Przewodnik audytora systemów informatycznych. Wyd.
Helion, Gliwice 2007.
5. Peltier Thomas R.: Information Security Policies, Procedures and Standards:
Guidelines for Effective Information Security Management, CRC Press, 2001.
6. Polaczek T. Audyt bezpieczeństwa informacji w praktyce. Wyd. Helion, Gliwice
2006.
7. Reuvid J.: E-biznes bez ryzyka. Zarządzanie bezpieczeństwem w sieci. Wyd. Helion,
Gliwice 2007.
8. Maiwald E., Sieglein W.: Security Planning and Disaster Recovery, McGraw-Hill
Osborne, 2002.
9. Krause M., Tipton H. F.: Information Security Management Handbook, Fourth
Edition, Volume I, 1999.
10. Kovacich G. L., Kovacich G.: The Information System Security Officer’s Guide:
Establishing and Managing an Information Protection Program, Second Edition,
Butterworth-Heinemann, 2003
11. Peltier T. R.: Information Security Policies and Procedures: A Practitoner’s Reference,
Second Edition, Auerbach Publications, 2004.
148
Specjalność: PROJEKTOWANIE I EKSPLOATACJA SYSTEMÓW INFORMATYCZNYCH
149
Kierunek: Informatyka
Przedmiot:
Projektowanie aplikacji internetowych i rozproszonych
Internet and Distributed Applications Design
Czas trwania: semestr 1
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład prof. dr hab. inż. Mieczysław
Kłopotek 30 egzamin
6
Laboratorium mgr Mariusz Kujawiak 30 zaliczenie na
ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Matematyka dyskretna
Technologie aplikacji internetowych
Inżynieria oprogramowania
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym wykładu jest zapoznanie z podstawowymi pojęciami i metodami
projektowania aplikacji internetowych oraz rozproszonych, a takze problemami
merytorycznymi związanymi z praktycznym wykorzystaniem sieci Internet jako medium
integrującego rozproszone komponenty aplikacji oraz jako środowisko interakcji z
użytkownikami. Rozwiniętymi celami szczegółowymi są:
Projektowanie i implementacja serwisów internetowych takich jak aukcje, sklepy
internetowe i serwery reklam
projektowania standardowych komponentów serwisów: customer relationship
management, rozproszone bazy danych, wyszukiwarki internetowe, problemy
bezpieczeństwa i płatności w Internecie, systemy gridowe
projektowanie aplikacji rozporoszonych typu sieci sensorowej.
150
Celem laboratorium jest nabycie umiejętności projektowania aplikacji rozproszonych w
oparciu o technologie MVC (Model-View-Controller). Cele szczegółowe laboratorium
obejmują następujące umiejętności praktyczne:
Poznanie środowiska programistycznego J2EE
Projektowanie modelu danych dla aukcji, sklepu i serwera reklam,
Projektowanie logiki sterowania dla aukcji, sklepu i serwera reklam,
Projektowanie interfejsu użytkownika dla aukcji, sklepu i serwera reklam.
WYKŁAD
1. Wprowadzenie
pojęcie aplikacji internetowej / rozproszonej
fazy tworzenia aplikacji internetowej / rozproszonej
ogólne wytyczne tworzenia aplikacji internetowej / rozproszonej
2. Aukcja internetowa
historia aukcji internetowych
typy aukcji
wymagania stawiane aukcjom
projektowanie aukcji internetowych
3. Sklep internetowy
znaczenie handlu elektronicznego
wymagania stawiane sklepom internetowym
4. Serwer reklam
pojecie ad-serwera
klasy ad-serwerów
5. Customer Relations Management - rekomendacje
typy systemów rekomendujacych
metody rekomendacji
6. Wyszukiwarki - roboty i analiza
struktura wyszukiwarki
zadania robota internetowego
zadania systemu analizy
7. Wyszukiwarki - indeksowanie i wyszukiwanie informacji
zadania indeksera
kryteria i metody wyszukiwania informacji
151
8. Analiza linków w sieci WWW i jej zastosowanie w tworzeniu
Koncepcja
Algorytmy HITS, PageRank itp.
9. Kryptografia w aplikacjach internetowych
pojęcie pieniądza elektronicznego
rodzaje płatności elektronicznych
10. Rozproszone bazy danych
Wprowadzenie do systemów rozproszonych
Pojęcia związane z rozproszeniem
11. Architektury a przetwarzanie w rozproszonych bazach danych oraz zarządzanie
metadanymi w systemach rozproszonych
Architektury rozproszonych baz danych
Replikacje
12. Rekonfigurowalne systemy obliczeniowe a wymiana informacji między aplikacjami
pojęcie gridu
znaczenie gridów i wymogi technologiczne
13. Bezprzewodowe sieci inteligentnych czujników
Idea bezprzewodowych sieci inteligentnych czujników
zastosowania
podstawowe oprogramowanie
14. Bezprzewodowe sieci inteligentnych czujników cz.2
zadania sensorowych systemów baz danych
języki zapytań do sieci sensorów - składnia i przykłady
15. Drążenie strumieni danych
Analiza strumieni danych - zastosowania i wyzwania technologiczne
Metody i algorytmy
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
152
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Rozproszone aplikacje - Interfejsy WWW dla aplikacji
(gra w kółko i krzyżyk, statki, warcaby, szachy, w tysiąca, brydż, młynek)
Interfejs tekstowy
2. Rozproszone aplikacje - Interfejsy WWW dla aplikacji
interfejs graficzny
rozproszone testy
3. Aukcja internetowa - Baza danych
Rodzaje implementowanych aukcji: Angielska, Holenderska, Amerykańska,
Oczekiwania poza bazowa funkcjonalnoscią: ranking sprzedających i kupujących,
4. Aukcja internetowa - interfejs
Projektowanie mapy serwisu
Projektowanie indywidualnych stron
5. Aukcja internetowa - logika biznesowa
Obsługa przebiegu aukcji
Obsługa przygotowania aukcji oraz jej zakończenia
6. Aukcja internetowa - niezależne testy
Testy funkcjonalności
Testy obciążeniowe
7. Sklep internetowy - Baza danych
Przykładowe rodzaje sklepów: księgarnia, komis samochodowy, sklep z płytami
audio/video, sklep z ubraniami, sklep jubilerski ....
Oczekiwania poza bazowa funkcjonalnoscią: Zintegrowana wyszukiwarka
(wyszukiwarka oparta o system BEATCA, który studenci otrzymają na laboratorium),
system rekomendacji
8. Sklep internetowy , interfejs
Projektowanie mapy serwisu
Projektowanie indywidualnych stron
153
9. Sklep internetowy , logika biznesowa
Obsługa katalogu towarów
Obsługa koszyka zamówień
10. Sklep internetowy niezależne testy
Test scenariusza prezentacji
Testy funkcjonalności
11. Serwer reklam - Baza danych,
Oczekiwania poza bazowa funkcjonalnością: rejestracja click-streamów, klasteryzacja
reklam, klasyfikacja reklam, płatność elektroniczna
12. Serwer reklam interfejs,
Projektowanie mapy serwisu
Projektowanie indywidualnych stron
13. Serwer reklam, logika biznesowa
Obsługa definicji kampanii reklamowej
Zarządzanie stronami (sitami) reklamowymi
14. Serwer reklam, logika biznesowa cz. 2
Automatyczny dobór stron (sitów) do treści reklamy na bazie treści
Automatyczny dobór stron (sitów) do treści reklamy na bazie statystyk
15. Serwer reklam niezależne testy
Test scenariusza prezentacji
Testy funkcjonalności
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
154
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. M.Kłopotek: Inteligentne wyszukiwarki internetowe. EXIT 2001
2. P.Cichosz: Systemy uczące się, WNT
3. K. Subieta: Objektowe jezyki baz danych
4. J2EE. Wzorce projektowe. Wydanie 2 Autorzy: Deepak Alur, John Crupi, Dan Malks
Tłumaczenie: Rafał Jonca ISBN: 83-7361-344-7 Tytuł oryginału: Core J2EE
Patterns.Best Practices and Design 2nd Edition Format: B5, stron: 536 Data wydania:
02/2004
5. J2EE. Stosowanie wzorców projektowych Autorzy: William Crawford, Jonathan
Kaplan Tłumaczenie: Jaromir Senczyk ISBN: 83-7361-428-1 Tytuł oryginału: J2EE
Design Patterns Format: B5, stron: 392 Data wydania: 04/2004
6. Architektura informacji w serwisach internetowych Autorzy: Louis Rosenfeld, Peter
Morville Tłumaczenie: Krzysztof Masłowski, Tomasz Jarzebowicz ISBN: 83-7361-
003-0 Tytuł oryginału: Information Architecture for the World Wide Web Format: B5,
stron: 504 Data wydania: 09/2003
7. J. P.Mueller: Poznaj SOAP. ISBN: 83-7279-229-1. Wydawnictwo: Mikom. 512 s.,
2006
8. E. Roman, S. W. Ambler, T. Jewell: ”Enterprise JavaBeans”, Wydawnictwo Helion
S.A. 2003,
155
Kierunek: Informatyka
Przedmiot:
Multimedialne i obiektowe bazy danych
Multimedia and Object-Oriented Databases
Czas trwania: semestr 1
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr hab. Andrzej Wiśniewski 21 egzamin 6
Laboratorium mgr Dariusz Zacharczuk 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Programowanie obiektowe
Systemy baz danych (Relacyjne bazy danych),
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem podstawowym wykładów jest przedstawienie zasad funkcjonowania systemów
multimedialnych i obiektowych baz danych, porównanie ze strukturą relacyjnych baz danych
oraz zapoznanie z podstawami projektowania relacyjno-obiektowych i obiektowych baz
danych.
Celem zajęć w laboratorium jest nabycie i opanowanie praktycznych umiejętności w
rozwiązywaniu problemów prezentowanych w czasie wykładu, a także opanowaniu
umiejętności w zakresie budowy obiektowych baz danych.
WYKŁAD
1. Wprowadzenie do problematyki modeli danych oraz systemów multimedialnych i
obiektowych baz danych:
podstawowe definicje,
architektury systemów multimedialnych bd,
modele danych dla baz multimedialnych,
2. Charakterystyka standardu obiektowych baz danych ODMG v. 3.0:
156
historia rozwoju standardu,
cele, zakres standaryzacji,
model obiektów OMG
Standard ODMG a technologia systemu rozproszonego CORBA
3. Podstawy obiektowości w architekturze obiektowo-relacyjnej (na przykładzie
Oracle9i):
typy obiektowe (specyfikacja, implementacja),
deklarowanie obiektu i jego inicjalizacja,
komponenty typu obiektowego,
rodzaje dziedziczenia,
4. Operacje na obiektach:
dostęp do atrybutów i metod,
wywoływanie konstruktorów.
tworzenie obiektów kolumnowych i wierszowych.
tworzenie powiązań między obiektami opartych na współdzieleniu i zagnieżdżeniu,
perspektywy obiektowe
5. Kolekcje jako forma związków obiektu jeden do wielu:
budowa tabel zagnieżdżonych oraz tworzenie bazy danych opartych na tych tabelach.
manipulowanie tabelą zagnieżdżoną.
budowa bazy danych z wykorzystaniem tablic o zmiennym rozmiarze.
metody kolekcji,
6. Funkcje i konstrukcje wyzwalaczy:
funkcje, rodzaje, kolejność uruchamiania wyzwalaczy.
tworzenie wyzwalaczy.
zmienne dowiązane w strukturze wyzwalacza.
zagadnienia tabeli mutującej oraz tabel wiążących
7. Pakiety i obiekty LOB:
funkcje i zalety stosowania pakietów w bazie danych (Oracle9i).
deklaracja pakietu (specyfikacja, implementacja).
specyfikacja typów LOB w schemacie tabeli
obiekty typu BFILE, katalogi, ploki BFILE w instrukcjach DML,
zasady manipulowania typem BFILE - pakiet DBMS LOB,
8. Obiektowo Zorientowane Bazy Danych: Objectivity/DB
charakterystyka Objectivity/DB
Elementy architektury systemu
Tworzenie bazy danych i połączeń
9. Składowanie i charakterystyka danych multimedialnych
157
Metody i struktury składowania
Zagadnienia prezentacji danych
Charakterystyka danych: obrazy, audio, wideo
10. Standardy SQL/MM, MPEG-7. Eksploracja i obsługa danych multimedialnych
Geneza i rozwój standardu SQL/MM
Typy danych SQL/MM: FullText, Spatial, Still Image,
Wprowadzenie do standardu MPEG-7
Pakiet SQL/MM Data Mining
Oracle interMedia
11. Podsumowanie
Podstawowe zasady i ograniczenia projektowania obiektowo-relacyjnych i
obiektowych baz danych
Przykład projektu prostej obiektowo-relacyjnej bazy danych
Przykład projektu modyfikacji opracowanych schematów i typów obiektowych
Przykład projektu prostej multimedialnej bazy danych
Perspektywy rozwoju multimedialnych i obiektowych baz danych
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Przekazanie do realizacji tematów projektów multimedialnych/obiektowo-
relacyjnych baz danych. Powtórzenie podstaw SQL
edycja w wierszu poleceń, polecenia describe i column
rodzaje deklaracji SQL: DDL, DML,
polecenie SELECT,
realizacja poleceń DML na tablicy demonstracyjnej (Oracle9i),
2. Typy danych w SQL Oracle9i/10g:
dane liczbowe, znakowe, binarne, daty synonimy, rowid.
operacje na różnych typach danych (hierarchia operatorów, rodzaje operatorów),
funkcje,
transakcje,
158
3. Schematy i ich obiekty:
warunki zapewnienia integralności danych.
tworzenie i obsługa tabel.
tworzenie i modyfikowanie indeksy,
tworzenie i modyfikowanie sekwencje,
tworzenie i modyfikowanie perspektywy,
4. Budowa typu obiektowego w strukturze Oracle9i/10g
specyfikacja typu i implementacja.
deklaracja metod
deklaracja i inicjalizacja obiektów
modele dziedziczenia,
5. Operacje na obiektach
wywoływanie metod (funkcji , procedur) deklarowanych i definiowanych w
schemacie typu obiektowego.
tworzenie obiektów wierszowych i kolumnowych.
zagadnienia manipulacji wymienionymi rodzajami obiektów.
budowa powiązań między obiektami,
6. Kolekcje:
tworzenie baz danych z wykorzystaniem tabel zagnieżdżonych oraz tablic o
zmiennym rozmiarze.
wykorzystanie metod kolekcji do manipulacji
7. Perspektywy obiektowe:
tworzenie perspektyw obiektowych.
zagadnienia manipulacji perspektywami obiektowymi.
tworzenie wyzwalaczy do perspektyw obiektowych,
8. Wyzwalacze:
budowa wyzwalaczy dla realizacji m.in. funkcji automatycznej aktualizacji.
zagadnienia tabeli mutującej
rozwiązanie problemu wyzwalaczy operujących równocześnie na poziomie instrukcji i
na poziomie wiersza,
9. Pakiety:
budowa pakietów.
tworzenie pakietów w celu wspólnego grupowania obiektów skojarzonych,
zwiększenia wydajności pracy aplikacji.
inicjalizacja pakietu,
10. Obiekty o dużych rozmiarach LOB:
159
budowa tabeli z wykorzystaniem różnych rodzajów typów LOB.
inicjalizacja LOB.
obiekty typu BFILE, tworzenie katalogów dla plików zewnętrznych.
zastosowanie metod pakietu DBMS LOB,
11. Kompresja plików graficznych, audio oraz wideo
Kompresja formatów graficznych m.in. GIF, TIFF, JPEG, PNG
Kompresje plików audio: MPEG-1 Layer III
Metody kodowania plików wideo: MPEG1, MPEG2, MPEG4
12. Obsługa danych multimedialnych
obsługa typów danych ORDAudio, ORDImage, ORDVideo,
zapytania o zawartości obrazów (ORDImageSignature)
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Date, C. J., Wprowadzenie do baz danych, Warszawa 1981,
2. Ullman, J. D., Systemy baz danych, Warszawa 1988,
3. Lausen G., Vossen G., Obiektowe bazy danych, Warszawa 1998,
4. Muller R.J., Bazy danych. Język UML w modelowaniu danych, Warszawa 2000,
5. Loney, K., Oracle Database 10g. Kompedium administratora, Gliwice 2005,
6. H. Garcia-Molina,H, Ullman,J.D., Widom, J., Systemy baz danych. Pełny wykład,
Warszawa 2006
7. Elmasri, R., Navathe, Sh. B., Wprowadzenie do baz danych, Gliwice 2005.
160
Kierunek: Informatyka
Przedmiot:
Analiza i eksploracja danych
Data Mining
Czas trwania: semestr 2
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr Anna Kołkowicz 30 egzamin 6
Laboratorium dr Anna Kołkowicz 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Metody probabilistyczne i statystyka
Sztuczna inteligencja
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Celem głównym przedmiotu "Analiza i eksploracja danych" jest przedstawienie istoty
wydobywania wiedzy z danych i metodologii prowadzenia analizy i eksploracji danych .
Rozwiniętymi celami szczegółowymi są:
sposoby reprezentacji wiedzy,
techniki eksploracji danych,
systemy umożliwiających eksplorację danych
praktyczne zastosowania metod eksploracji danych
Celem laboratorium jest nabycie umiejętności obsługi systemu ORACLE DATA MINER w
zakresie wykonywania analiz statystycznych i prowadzenia procesu eksploracji danych. Cele
szczegółowe laboratorium obejmują następujące umiejętności praktyczne:
przygotowanie danych do analizy z wykorzystaniem narzędzi dostępnych w systemie
prowadzenia analizy statystycznej
wykorzystanie Oracle Data Miner do prowadzenia eksploracji danych
161
WYKŁAD
1. Cel i zakres przedmiotu. Podstawowe zadania w analizie statystycznej i eksploracji
danych
Definicja eksploracji danych
Zadania analizy danych i eksploracji
Przygotowanie danych do analizy
Miejsce eksploracji w procesie wydobywania wiedzy z danych
Różnice pomiędzy analizą sterowana zapytaniami i eksploracją danych
2. Analiza statystyczna
Skale pomiarowe
Miary tendencji centralnej oraz dyspersji
Testy hipotez
3. Statystyczna analiza wielowymiarowa- wprowadzenie
Analiza struktury zbioru obserwacji - prezentacja graficzna
Metody transformacji w przestrzeń dwuwymiarową
4. Wielowymiarowa analiza statystyczna
Analiza głównych składowych
Analiza czynnikowa
Analiza regresji
Korelacja kanoniczna
5. Analiza szeregów czasowych
Trend, wahania cykliczne, wahania sezonowe, wahania przypadkowe
Metoda średniej ruchomej
Wygładzanie szeregu za pomocą funkcji liniowej, kwadratowej
6. Metodologia odkrywania wiedzy z danych
Przygotowanie danych do analizy (próbkowanie, transformacja, filtrowanie,
uzupełnianie brakujących danych)
Tworzenie i dopasowanie modelu danych
Ewaluacja modelu
7. Eksploracja danych
Techniki eksploracji danych
Weryfikacja i wizualizacja wyników w eksploracyjnej analizy danych
Testowanie trafności prognostycznej modelu
8. Wykorzystanie metod indukcyjnych uczenia maszynowego w eksploracji danych.
Modelowanie opisowe - analiza skupień
162
Odległość i podobieństwo obserwacji wielowymiarowych
Algorytmy grupowania
Metoda k-średnich
Metody aglomeracyjne
9. Wykorzystanie metod indukcyjnych uczenia maszynowego w eksploracji danych.
Modelowanie predykcyjne - drzewa decyzyjne
Poszukiwanie wiedzy klasyfikacyjnej w danych
Budowanie i przycinanie drzew decyzyjnych
Zastosowanie drzew decyzyjnych
10. Modelowanie predykcyjne. Wykorzystanie sztucznych sieci neuronowych w procesie
eksploracji danych
Przygotowanie danych, budowa i trenowanie sieci
Wykorzystanie sieci neuronowych w analizie szeregów czasowych
Mapy samoorganizujące się
Analiza regresji z wykorzystaniem sztucznych sieci neuronowych
11. Odkrywanie wzorców i reguł
Wsparcie, zaufanie
Generowanie reguł
Analiza koszykowa (ang. Market basket analysis)
Wykrywanie praw zmienności w danych marketingowych
12. Wykorzystanie technik eksploracji w analizie danych niestrukturalnych - tekstowych
i obrazowych
Text-mining
Web-mining
Analiza obrazów
13. Wybrane systemy odkrywania wiedzy
Postępy i najnowsze badania w zakresie eksploracji danych
Wykorzystanie pakietu Oracle do eksploracji danych
Wykorzystanie pakietu SAS do eksploracji danych
Możliwości pakietu STATISTICA
Mozliwości pakietu SPSS
Weka, Rapidminer i inne
14. Zastosowanie technik eksploracji
Ekonomia i marketing
Diagnostyka medyczna
Telekomunikacja
Przemysł
163
15. CRM - wykorzystanie technik eksploracji danych w zarządzaniu klientami
Cele CRM
Operacyjny i analityczny CRM - zadania
Projekty marketingowe
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Poznanie srodowiska pracy. Przygotowanie danych.
Dyskretyzacja danych
Normalizacja danych
2. Analiza struktury
Miary położenia
Miary zmienności
Miary asymetrii, spłaszczenia i koncentracji
SQL
3. Wnioskowanie statystyczne - estymacja i weryfikacja hipotez
Test na trafność dopasowania
Porównywanie pojedynczej średniej z określoną wartością
Porównywanie średnich i wariancji dwóch i więcej prób
SQL
4. Analiza wariancji
Testowanie jednorodności wariancji
Ocena wpływu czynnika klasyfikującego
Analiza wariancji wielorakiej
SQL
5. Analiza korelacji i regresji
Prosta regresja liniowa
164
Liniowa regresja wieloraka
Predykcja
6. Analiza szeregów czasowych
Wygładzanie szeregu za pomocą średniej ruchomej
Wykładnicze wygładzanie szeregu
Inkorporowanie wahań sezonowych
Środowisko SQL
7. Ekstrakcji cech
algorytm NNMF,
PCA
8. Grupowanie
Przygotowanie danych
Przeprowadzenie grupowania na zbiorze przykładowych danych metodą k-średnich
9. Grupowanie
Przygotowanie danych
Przeprowadzenie grupowania na zbiorze przykładowych danych metodą O-Cluster
10. Klasyfikacja danych z wykorzystaniem drzew decyzyjnych
Wstępne przygotowanie danych
Naiwny klasyfikator Bayesa
11. Klasyfikacja danych z wykorzystaniem drzew decyzyjnych
Wstępne przygotowanie danych
Indukcja drzew decyzyjnych
12. Odkrywanie reguł asocjacyjnych
Generowanie reguł
Odkrywanie sekwencji
13. Odkrywanie osobliwości
Algorytm SVM
Odktywanie outliers w środowisku SQL
Wykorzystanie ODM
14. Eksploracja danych tekstowych
Przetwarzanie tekstu w środowisku SQL
Wykorzystanie ODM do analizy danych tekstowych
165
15. Inne środowiska do eksploracji danych
Weka
RapidMiner
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia. W przypadku nieobecności studenta na
laboratorium sposób ich odpracowania określa osoba odpowiedzialna za kurs i jest on podany
na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-140 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-70 pkt. ndst (F) 99-112 pkt. db (C)
71-84 pkt. dst (E) 113-126 pkt. db+ (B)
85-98 pkt. dst+ (D) 127-140 pkt. bdb (A)
LITERATURA
1. Daniel T.Larose, Odkrywanie wiedzy z danych. Wprowadzenie do eksploracji danych,
PWN, Warszawa 2006
2. Daniel T.Larose, Metody i modele eksploracji danych, PWN, Warszawa 2008
3. Zdravko Markov, Daniel T.Larose, Eksploracja zasobów internetowych. Analiza
struktury, zawartości i użytkowania sieci WWW, PWN, Warszawa 2009
4. D.Hand, H.Mannila, P.Smyth, Eksploracja danych, WNT, 2005.
5. P.Cichosz, Systemy uczące się, WNT, Warszawa, 2000
6. K. Jajuga, Statystyczna analiza wielowymiarowa, PWN, Warszawa 1993
7. R.P.Trueblood, J.N.Lovet, jr. , Zastosowanie jezyka SQL do analizy statystycznej i
aksploracji danych, Mikom, Warszawa 2002
8. Metody Data Mining w analizowaniu i prognozowaniu kondycji ekonomicznej
przedsiębiorstw. Zastosowania SAS Enterprise Miner, Difin, Warszawa 2007
9. S.Brandt, Analiza danych, WN PWN, Warszawa 2002
10. M.J.A.Berry, G.Linoff, Data mining techniques for marketing, sales and customer
support, John Wiley & Sons, Inc., 1997
11. M.Lasek, Data mining. Zastosowania w analizach i ocenach klientów bankowych.
Biblioteka Menedżera i Bankowca, Warszawa 2002
166
12. M.Morzy, Oracle Data Mining – odkrywanie wiedzy w dużych wolumenach danych,
XI Konferencja PLOUG, Kościelisko, Październik 2005
http://www.ploug.org.pl/konf_05/materialy/pdf/05.pdf
13. K.Kawa, Zastosowanie reguł asocjacyjnych, pakietu Oracle Data Mining for Java do
analizy koszyka zakupów w aplikacjach
e-commerce. Integracja ze środowiskiem Oracle JDeveloper, XI Konferencja PLOUG,
Kościelisko, Październik 2005 http://www.ploug.org.pl/konf_05/materialy/pdf/18.pdf
14. http://wazniak.mimuw.edu.pl/index.php?title=Eksploracja_danych
15. An introduction to data mining http://www.thearling.com/text/dmwhite/dmwhite.htm
16. A.Berson, S.Smith, K.Therling, An overview of data mining techniques, in Building
data mining applications for CRM ewline
http://www.thearling.com/text/dmtechniques/dmtechniques.htm
17. K.Thearling, B.Becker, D.DeCoste, B.Mawby, M.Pilote, D.Sommerfield , Visualizing
data maining models, in Information vizualization in data mining and knowledge
discovery, 2001, ewline http://www.thearling.com/text/dmviz/modelviz.htm
167
Kierunek: Informatyka
Przedmiot:
Hurtownie danych
Data warehouses
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład prof. dr hab. inż. Andrzej Barczak 30 egzamin 6
Laboratorium mgr Krzysztof Pietraszek 30 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Bazy danych
Systemy baz danych
Systemy informatyczne zarządzania
Technologie programistyczne - systemy internetowe
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem wykładu ”Hurtownie danych” jest wprowadzenie do problematyki
hurtowni danych zarówno w zakresie podstaw teoretycznych, jak i praktyki ich projektowania
przy użyciu zaawansowanych aplikacji (systemów).
Rozwiniętymi celami szczegółowymi są:
zapoznanie z technologiami, architektura i infrastruktura hurtowni danych,
zapoznanie z cyklem życia i uwarunkowaniami projektowo-programowymi hurtowni
danych,
zapoznanie z procesem integracji i agregacji danych,
zapoznanie z funkcjonalnością i użytecznością systemu SAS jako środowiska
hurtowni danych.
Podstawowym celem zajęć laboratoryjnych jest uzyskanie praktycznych umiejętności
posługiwania sie zestawem narzędziowym do tworzenia i administrowania hurtowni danych
firmy SAS, w tym w szczególnosci - SAS Warehause Administrator, a także narzędziami do
tworzenia i administrowania hurtownia danych ORACLE. Układ zajęć laboratoryjnych został
168
zaprojektowany w taki sposób, aby poznawane kolejno elementy oprogramowania
umożliwiały ich wykorzystanie w procesie projektowania hurtowni danych. Zaliczeniu
podlega zarówno znajomość narzędzi oraz ich wykorzystania, jak i procedury projektowania
hurtowni danych.
WYKŁAD
1. Pojęcia i technologie
przetwarzanie analityczne a operacyjne
system wspomagania podejmowania decyzji
hurtownia danych
tematyczna hurtownia danych,
środowisko dostepu do danych,
architektura
2. Pojęcia i technologie
infrastruktury techniczne
dane źródłowe i docelowe
poziomy użytkowników
klasy narzędzi - systemy MOLAP, ROLAP, HOLAP
integracja danych
synonimy, homonimy, analogie
3. Pojęcia i technologie
transformacja danych
narzędzia konwersji danych
narzędzia programowo-sprzętowe
metadane
układ gwiaździsty
hierarchie, ziarnistość
łącze bazodanowe;
4. Architektura i infrastruktury
charakterystyka architektury hurtowni danych
rozszerzanie ogólnej architektury hurtowni danych
związki między infrastrukturami a architektura
architektura i infrastruktury jako różne przedsięwziecia
wyróżniki hurtowni danych,
typowe zastosowania;
5. Cykl życia DSS - hurtowni danych
planowanie
zbieranie wymagań na dane oraz modelowanie
fizyczny projekt i rozwój bazy danych
pozyskiwanie, integracja i odwzorowywanie danych
169
zapełnianie hurtowni danych
6. Cykl życia DSS - hurtowni danych
automatyzowanie procesu ładowania danych
stworzenie poczatkowego zbioru raportów
kontrola poprawności i testowanie danych
uruchamianie hurtowni
7. Uwarunkowania projektowania hurtowni danych
waga projektu wstępnego
wybór obszaru działalnosci przedsiębiorstwa dla hurtowni danych
kluczowe czynniki warunkujace wdrożenie i wykorzystanie hurtowni danych
wymogi i warunki realizacji udanej hurtowni danych;
8. Specyfikacja wymagań względem danych
rozmowy z użytkownikami
zestrajanie wymagań
tworzenie modelu danych
logiczny model danych
9. Integracja danych
kroki integracji danych
architektura danych
metadaneproces integracji danych
pozyskiwanie danych
10. Integracja danych
konsolidacja danych
proces konsolidacji danych
dodatkowe analizy na potrzeby konsolidacji danych,
konwersja danych
przenoszenie danych
11. Projektowanie bazy danych dla hurtowni danych
bazy danych wspomagające podejmowanie decyzji
bazy danych o schemacie gwiaździstym
rodzaje schematów gwiaździstych
agregacja
denormalizacja
ograniczenia schematu gwiaździstego
12. Dostęp do danych
znaczenie dostępu do danych
170
rodzaje dostępu do danych
poziomy użytkowników
charakterystyczne cechy dostępu do danych
13. Dostęp do danych
klasy narzędzi
systemy zarządzania wielowymiarowymi bazami danych (MDBMS)
zaawansowane narzędzia DSS
architektury warstwowe
wybór narzędzi dla firmy
14. Metadane
metadane a zarządzanie zmianami
metadane i administracja danymi
katalog metadanych
zarządzanie zmianami
rzeczywistość zarządzania metadanymi w przedsiębiorstwach
metadane do integracji danych
metadane do transformacji danych
15. Analiza porównawcza narzędzi projektowania hurtowni danych
kryteria oceny narzędzi
architektura produktu i jej funkcjonalność
wydajność i skalowalność
dostępność i funkcjonalność interfejsu
prezentacja wyników
środowisko systemowe i administracja
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Środowisko pracy SAS.
Interfejs aplikacji
Tworzenie bibliotek
171
Przeglądanie i edycja tabel
Podstawowe narzędzia importu i eksportu danych.
Proste raporty
Podstawowe analizy statystyczne.
2. Projekt hurtowni danych. Schemat przykładowej hurtowni:
Określenie celu tworzenia hurtowni - jakie informacje chcemy uzyskać
Okreslenie struktury fizycznej i modelu logicznego
Opisanie tabel bazowych
Wymiary tabel
Opis danych.
3. Tworzenie tabel bazy danych na podstawie projektu.
Import danych
Edycja tabel za pomoca dostępnych narzędzi
Tworzenie tabel za pomoca skryptów 4GL i SQL
4. Wielowymiarowa baza danych - techniki MOLAP.
Tworzenie tabel w postaci kostek wielowymiarowych MDDB
Programowanie SAS data step
Korzystanie z PROC MDDB
Wykorzystanie narzędzi EIS do utworzenia prostej aplikacji
5. Analizy danych techniki HOLAP
Wykonanie wirtualnej kostki MDDB (kostki ”proxy”)
Edycja kostki wirtualnej przy pomocy narzędzia mdmddb.
Eksport kostki wirtualnej do metabazy EIS
Prosta prezentacja danych w EIS
6. Analiza danych w technice HOLAP.
Zastosowanie funkcji statystycznych modułu SAS/STAT
Tworzenie wielowymiarowych wykresów
Tworzenie aplikacji prezentujacej wyniki
7. SAS Warehouse Administrator - wstęp
Zadania i możliwości Warehouse Administratora
Zasady pracy z Warehouse Administratorem
Prześledzenie przykładowej bazy.
8. Praca z SAS Warehouse Administrator
Definiowanie użytkowników hurtowni,
Definiowanie struktur danych operacyjnych zasilajacych hurtownie.
Transfer danych do hurtowni
172
9. Praca z SAS Warehouse Administrator
Dodawanie grup OLAP
Dodawanie tabel OLAP
Dodawanie MDDB
10. Rozwijanie hurtowni
Definiowanie nowych zadań hurtowni
Rozwijanie struktury metadanych
Transfer danych do hurtowni
Tworzenie nowej grupy HOLAP
11. Tworzenie nakładek/aplikacji informacyjnych
Eksport metadanych do SAS EIS
Ustawianie atrybutów tabel w EIS
Tworzenie wielowymiarowych raportów
12. Użycie modułu SAS/EIS, AF we współpracy z Warehouse Administrator
Tworzenie wielowymiarowych raportów graficznych z elementów EIS
Tworzenie aplikacji informacyjnych w SAS/AF z użyciem elementów EIS
Tworzenie aplikacji z uzyciem jezyka SCL
13. Udostępnianie informacji przez internet
Moduł SAS/IntrNet
Udostępnianie danych z hurtowni na stronach www
14. Narzędzia hurtowni danych ORACLE
Oracle Discoverer Administrator - przygotowanie do pracy
ORACLE DA przegląd komponentów - foldery, elementy, złączenia, formuły,
warunki, hierarchie.
Oracle Discoverer Desktop - łączenie, formatowanie danych
15. Prezentacja projektu. Zaliczenie przedmiotu
prezentacja wyników prac zespołów
dyskusja i ocena projektów
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
173
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 60 pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 31 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Barquin R.C.; Planning and designing the date Warehause; Prentice Hall, 1997.
2. Building a Date Warehause Using SAS/Warehause Administrator Software;
Wydawnictwo SAS Institute; 2001
3. Dec Z.; Wprowadzenie do systemu SAS Wydawnictwo Edition; 2000
4. Dokumentacja systemu SAS - OnLineDoc
5. Poe V.; Tworzenie hurtowni danych; Wydawnictwa Naukowo Techniczne, 2000
6. SAS/Warehouse Administrator. User’s Guide; SAS Inst. 1998
7. Simon A.R., Shaffer S.L.; Hurtownie danych i systemy informacji gospodarczej.
Zastosowanie w handlu elektronicznym; Wydawnictwo Dom Wydawniczy ABC,
2003
8. Allen S.; Modelowanie danych; Wydawnictwo Helion, 2006
9. SAS Language. Wyd. SAS Inst., Warszawa 1998.
10. Zwierz U.; Wstep do systemu SAS wersja 8.1.; Wyd. SGH,Warszawa 2001.
11. Jarke M., Lenzerini M., Vassiliou Y.; Hurtownie danych - podstawy organizacji i
funkcjonowania, Wydawnictwa Szkolne i Pedagogiczne, 2003
12. Lane P., Schupmann V., Stuart I.; Oracle Database Data Warehousing Guide, 10g
(10.1); Oracle Corporation, 2001, 2003
13. Wrembel R., Koncilia Ch.; Data Warehouses and OLAP: Concepts, Architectures and
Solutions; IRM Press, 2007
174
Kierunek: Informatyka
Przedmiot:
Administrowanie systemami baz danych
Database Systems Administration
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład prof. dr hab. inż. Andrzej Barczak 21 egzamin
6 Laboratorium
mgr Michał Wolski
mgr Dariusz Zacharczuk 24 zaliczenie na ocenę
POZIOM
Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących
przedmiotów:
Bazy danych
Rozproszone bazy danych
Systemy baz danych
Systemy operacyjne
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Zasadniczym celem wykładu "Administrowanie baz danych" jest wprowadzenie do
problematyki administrowania złożonymi sieciowymi systemami baz danych,
funkcjonującymi w środowisku WWW i architekturze klient-serwer. Rozwiniętymi celami
szczegółowymi są:
zapoznanie z procesami zarządzania tworzenia aplikacji i segmentami wycofywania,
zapoznanie z procedurami strojenia bazy danych i wykonywania kopii zapasowych
oraz odtwarzania danych,
zapoznanie z zarządzaniem bazą danych w środowisku rozproszonym,
zapoznanie z konfigurowaniem architektury klient-serwer w środowisku WWW.
Podstawowym celem zajęć laboratoryjnych jest pozyskanie praktycznych umiejętności w
zakresie zarządzania systemem bazodanowym na przykładzie rozwiązań firmy ORACLE.
Zakres treści realizowanych na laboratorium przewiduje zapoznanie się narzędziami
Enterprise Manager, Database Configuration Assistant, Recovery Manager, Net Manager,
175
tworzenie, modyfikację i usuwania podstawowych obiektów bazy danych, optymalizowanie i
dostrajanie bazy danych oraz tworzenie kopii bezpieczeństwa.
WYKŁAD
1. Administrator bazy danych
sposoby porozumiewania się z bazą danych
typy administratorów baz danych
zadania administratora baz danych
zarządzanie bazami danych
warsztat archiwizacji i odtwarzania baz danych
warsztat dostrajania baz danych
2. Zarządzanie bazą danych
proces zarządzania
technologie
zarządzanie pakietami
zarządzanie środowiskiem
3. Monitorowanie baz danych
identyfikacja problemu i celu monitorowania
projekt i realizacja monitorującej bazy danych
monitorowanie struktur pamięci
4. Zarządzanie segmentami wycofania
typy segmentów wycofania
wykorzystanie przestrzeni wewnątrz segmentu wycofania
monitorowanie wykorzystania segmentu wycofania
wykorzystanie pakietu OEM (Oracle Enterprise Manager) do zarządzania segmentami
wycofania
określanie listy i segmentów wycofania
aplikacje OLTP (online transaction processing)
5. Strojenie bazy danych
strojenie projektu aplikacji
strojenie kodu SQL
strojenie wykorzystania pamięci i strojenie pamięci danych
manipulacja danymi strojenia
strojenie pamięci fizycznej i logicznej
redukowanie ruchu w sieci
pakiety strojenia wydajności
6. Zarządzanie bezpieczeństwem bazy danych
rodzaje zabezpieczeń
176
wdrażanie zabezpieczeń
ograniczanie dostępnych poleceń
zabezpieczanie i szyfrowanie hasła
obserwacja logowania, działań i obiektów
ochrona zapisu obserwacji
zabezpieczanie w środowisku rozproszonym
7. Optymalizacja procedur wykonywania kopii zapasowych i odtwarzania danych
logiczne i fizyczne kopie zapasowe
programy narzędziowe Eksport i Import
kopie zapasowe zamkniętych plików danych
kopie zapasowe otwartych plików danych
bazy danych typu - stand by
integracja procedur wykonywania kopii zapasowych
scenariusze odtwarzania dla procedur wykonywania kopii zapasowych
8. Zarządzanie dużymi bazami danych
zarządzanie transakcjami
kopie zapasowe
strojenie
przenośne przestrzenie tabel
przestrzenie tabel zarządzane lokalnie
9. Administrowanie bazą danych w sieci
deskryptory połączeń, opisy połączeń
procesy nasłuchujące, uruchamianie nasłuchującego procesu serwera
sterowanie nasłuchującym procesem serwera
identyfikacja hosta, identyfikacja bazy danych
identyfikacja usług
monitorowanie i identyfikowanie problemów połączeniowych
10. Zarządzanie rozproszonymi bazami danych
zapytania zdalne
replikacja danych dynamicznych
zarządzanie danymi rozproszonymi i transakcjami rozproszonymi
domeny i wspólnoty baz danych
strojenie rozproszonych baz danych
monitorowanie rozproszonych baz danych
zarządzanie zadaniami rozproszonych baz danych
11. Konfigurowanie architektury Klient-Serwer oraz środowiska WWW
architektura klient-serwer
konfiguracja serwera
konfiguracja klienta
warstwa pośrednia - serwer aplikacji
177
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Zapoznanie z aplikacjami do administrowania bazą danych ORACLE
przegląd funkcji Oracle Enterprise Manager
łączenie z bazą danych, parametry połączenia
przegląd obiektów bazy danych ORACLE - odczyt szczegółowych własności
2. Użytkownicy i role
typy i rodzaje użytkowników, typy przywilejów, metody autoryzacji
tworzenie, usuwanie użytkownika, przydział przywilejów, tworzenie profili i limitów
tworzenie, usuwanie, zamiana przywilejów dla ról, przydział ról użytkownikom
3. Tworzenie bazy danych
korzystanie z narzędzia Database Configuration Assistant
parametry inicjalizacyjne, tworzenie pliku inicjalizacyjnego
uruchamianie i zatrzymywanie bazy danych, tryby normal, immediate, transactional i
abort
4. Zarządzanie przestrzeniami tabel
tworzenie przestrzeni tabel i ustalanie parametrów
rodzaje przestrzeni tabel - lokalne, słownikowe tymczasowe, zastosowania
pliki fizyczne, ograniczenia rozmiaru, quota i autoextension
5. Zarządzanie segmentami wycofania
prywatne i publiczne segmenty wycofania
parametry segmentów wycofania, włączanie i wyłączanie segmentów wycofania
jawne przypisywanie transakcji do segmentów wycofania
6. Zarządzanie tabelami i indeksami
określanie rozmiaru - parametry PCTFREE, FREELISTS, umiejscowienie tabel
zmiana parametrów tabeli online i offline, przenoszenie tabel
178
tworzenie indeksów i kontrola ich parametrów
7. Zarządzanie zdarzeniami
tworzenie i modyfikacja zestawów zdarzeń
rejestracja zestawów zdarzeń
powiadamianie o zaistnieniu zdarzenia
8. Monitorowanie stanu bazy danych
aktywne procesy bazy danych, lista sesji, użycie zasobów
zarządzanie sesjami - identyfikacja sesji, przerywanie sesji
9. Kolejkowanie zadań i mechanizmy inspekcji
zarządzanie kolejkami, atrybuty kolejkowania, parametry konfiguracyjne kolejek
włączanie i wyłączanie mechanizmu inspekcji, zapis śladu inspekcji na dysk
10. Zarządzanie warstwą sieciową bazy danych
metody nazewnictwa, protokoły transmisji, porty
konfiguracja lokalna tnsnames i testowanie połączeń
konfiguracja i zarządzanie listenerem
11. Archiwizacja bazy danych
metody archiwizacji kompletna, przyrostowa, kumulacyjna
odtwarzanie bazy danych, Recovery Manager
tworzenie bazy rezerwowej
12. Przegląd perspektyw systemowych bazy danych
perspektywy słownika danych, dotyczących użytkowników, danych logicznych
użycie perspektyw V$ do dostrajania bazy danych
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 11 zajęć może uzyskać od 0 do 110 pkt.
179
Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-110 pkt. Ocena
końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali
ECTS):
Zakres Ocena Zakres Ocena
0-55 pkt. ndst (F) 78-88 pkt. db (C)
56-66 pkt. dst (E) 89-99 pkt. db+ (B)
67-77 pkt. dst+ (D) 100-110 pkt. bdb (A)
LITERATURA
1. Dokumentacja ORACLE: Administrator's Guide, Administrator's Guide for Windows,
Advanced Security Administrator's Guide, Advanced Replication, Application
Developer's Guide - Fundamentals
2. Rodgers U.; ORACLE - przewodnik projektanta baz danych. WNT, Warszawa 1995.
3. Theriault M., Carmichael R., Viscusi J.ORACLE DBA - administrowanie baządanych.
Wyd. RM, Warszawa 2001.
4. Loney K.; Oracle Database 10g; Kompendium administratora, Helion 2005
5. Freeman R.G.; Oracle Database 10g. ; Helion, 2004
6. Baylis R., Lane P., Lorentz D.; Oracle Database Administrator's Guide, 10g Release 1
(10.1); Copyright © 2001, 2003 Oracle
7. Dawes Ch., Bryla B., Johnson J.C., Weishan M.: Oracle 10g™ Administration I.
Study Guide; SYBEX Inc., 2005
180
Kierunek: Informatyka
Przedmiot:
Projektowanie zintegrowanych systemów informatycznych
Integrated Information Systems Design
Czas trwania: semestr 3
Przedmiot: specjalnościowy
Język wykładowy: polski
Rodzaj zajęć Prowadzący Liczba
godzin
Tryb
zaliczenia
Punkty
ECTS
Wykład dr inż. Jacek Florek 21 egzamin 6
Laboratorium mgr Marek Pilski 24 zaliczenie na ocenę
POZIOM
Warunkiem udziału w zajęciach jest ogólna znajomość zagadnień związanych
z funkcjonowaniem instytucji gospodarczych i ich zarządzaniem, a ponadto wcześniejsze
uzyskanie zaliczenia z następujących przedmiotów:
Modelowanie i analiza systemów informatycznych (do realizacji ćwiczeń lab. wymaga
się zachowanie plików projektu z tego przedmiotu)
Zastosowania informatyki
Zaawansowane technologie programistyczne
lub znajomość literatury obowiązującej w tych przedmiotach.
ZAŁOŻENIA I CELE
Podstawowym celem wykładów jest poznanie zasad obowiązujących podczas tworzenia
zintegrowanych systemów informatycznych zarządzania ze szczególnym uwzględnieniem
etapów planowania oraz projektowania i wdrażania. Rozwiniętymi celami szczegółowymi sa:
zapoznanie z metodologicznymi podstawami tworzenia zintegrowanych systemów
informatycznych
zapoznanie z procesami planowania oraz analizy strukturalnej i projektowania
zintegrowanych systemów informatycznych
zapoznanie z organizacją prac projektowo-wdrożeniowych
poznanie zasad obowiązującyh w procesie zarządzania przedsięwzięciem
informatycznym
181
Realizacja zajęć jest to kontynuacją prac projektowych z przedmiotu "Modelowanie i analiza
systemów informacyjnych" stąd wymagane jest posiadanie plików projektu z laboratorium
tego przedmiotu.
Celem laboratorium jest nabycie umiejętności w wykorzystaniu pakietów Oracle Designer 6i
oraz Rational Rose w procesie projektowania systemów informatycznych. Cele szczegółowe
laboratorium obejmują następujące umiejętności praktyczne:
znajomość organizacji prac projektowych i wdrożeniowych z wykorzystaniem
pakietów CASE w procesie tworzenia SI
nabycie umiejętności w wykorzystaniu podejścia strukturalnego (w oparciu o Oracle
Designer 6i) w odniesieniu do imprtu modeli, generowania i definiowania tabel
logicznych, tworzenie tabel, więzów i sekwencji w fizycznej bazie danych, a także
transformowania hierarchii encji oraz generowania modułów aplikacji
nabycie umiejętności w wykorzystaniu podejścia obiektowego (w oparciu o Rational
Rose) w odniesieniu do importu modeli, budowania diagramów czynności
i przebiegów czasowych a także generowania kodu i dokumentacji
WYKŁAD
1. Wykorzystanie IT w zarządzaniu organizacją
istota i rola zasobów informacyjnych w przedsiębiorstwie
istota informatycznych systemów zarządzania
zastosowanie pojedynczych aplikacji
wewnętrzna integracja
reorganizacja procesów biznesowych
reorganizacja sieci gospodarczej
zmiana zakresu działalności gospodarczej
2. Typologia metod projektowania ZSI (1)
zakres i składniki metodyki tworzenia ZSI,
klasyfikacja metodyk
ogólne wymagania dla metodyk
3. Typologia metod projektowania ZSI (2)
podejście strukturalne (cechy, techniki, etapy),
podejście obiektowe (cechy, etapy),
podejście społeczne (cechy, etapy)
4. Planowanie zintegrowanych systemów informatycznych zarządzania
cele i proces planowania,
formułowanie strategii informatycznej
zawartość i znaczenie strategii,
metody i techniki analizy sytuacyjnej,
5. Analiza strukturalna i projektowanie ZSI
182
analiza systemów informatycznych,
modelowanie z wykorzystaniem narzędzi CASE
projekt ogólny i projekt techniczny
projektowanie we/wy, interfejsu użytkownika, plików i baz danych z wykorzystaniem
narzędzi CASE
6. Scenariusze realizacji zintegrowanych systemów informatycznych
złożoność realizacyjna,
kategorie ZSI,
przebieg działań w ramach realizacji przedsięwzięcia i scenariusze realizacji ZSI
7. Procedura wyboru gotowego SI
fazy procedury,
ocena aktualnej technologii,
zdefiniowanie założeń przedsiębiorstwa,
opracowanie zapytania ofertowego,
ocena ofert,
prezentacje i wizyty referencyjne,
negocjacje, wybór ZSI i podpisanie umowy
8. Organizacja prac wdrożeniowych SIZ
model i etapy wdrażania systemu,
konieczność działań integrujących,
rola i zadania integratora wdrożeniowego,
model integracji działań
praca zespołowa,
9. Zarządzanie procesem tworzenia ZSI (1)
projekt i otoczenie zarządzania projektami
cykl życia projektu
procesy i obszary zarządzania projektem
10. Zarządzanie procesem tworzenia ZSI (2)
plan projektu
organizacja projektu
struktura prac w projekcie
realizacja zarządzania w podstawowych obszarach przedsięwzięcia
11. Jakość, ryzyko i efektywność przedsięwzięcia informatycznego
pojęcie jakości
kształtowanie efektywności
model zarządzania ryzykiem
wskaźnik zagrożenia przedsięwzięcia informatycznego
korzyści z inwestycji ekonomicznych
183
ZALICZENIE WYKŁADU
Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów.
Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być
następująca (w nawiasach ocena wg skali ECTS):
Zakres Ocena Zakres Ocena
0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+ (D) 91-100 pkt. bdb (A)
LABORATORIUM
1. Oracle Designer. Import modelu
importowanie pliku projektu w Repository Object Nawigator,
sprawdzenie i uzupełnienie kompletności modelu.
2. Oracle Designer. Generowanie i definiowanie projektu tabel logicznych
sprawdzenie modelu zwiazku encji,
uruchomienie generatora Database Design Transformer,
utworzenie nowego diagramu modelu serwera w narzędziu Design Editor,
utworzenie sekwencji w Repozytorium ustawienie właściwości wyświetlania dla
kolumn w tabelach,
powiązanie sekwencji z kluczami głównymi tabel.
3. Oracle Designer. Utworzenie tabel, więzów i sekwencji w fizycznej bazie danych
uruchomienie Generatora Bazy Danych z narzędzia Design Editor,
ustawienie opcji generowania,
wybranie tabel i sekwencji do procesu generowania,
uruchomienie procesu tworzenia skryptów DDL i wykonanie skryptów DDL.
4. Oracle Designer. Transformowanie hierarchii encji do projektu bazy danych
transformacja do pojedynczej relacji,
transformacja do oddzielnych relacji,
transformacja do oddzielnych relacji połączonych ograniczeniami referencyjnymi w
łuku.
5. Oracle Designer. Wygenerowanie modułów aplikacji oraz ich udoskonalanie
uruchomienie transformatora pierwotnego projektu aplikacji,
przetransformowanie hierarchii funkcji na moduły aplikacji,
akceptacja modułów kandydujących,
utworzenie diagramów komponentów dla wybranych modułów,
udoskonalenie projektu modułów.
184
6. Oracle Designer. Szczegółowa definicja projektu modułów i generowanie aplikacji
szczegółowa modyfikacja modułów,
uruchomienie generatora aplikacji,
wygenerowanie formularzy aplikacji.
7. IBM Rational Software Modeler. Import modelu
sprawdzenie i uzupełnienie modelu,
sprawdzenie i uzupełnienie struktury projektu.
8. IBM Rational Software Modeler. Budowanie diagramów czynności
dodawanie czynności,
dodawanie przepływów sterujących,
dodawanie węzłów decyzyjnych, rozwidlających, scalających, początkowych i
końcowych.
9. IBM Rational Software Modeler. Budowanie diagramów przebiegów czasowych
definiowanie linii stanów dla wybranego obiektu,
definiowanie linii wartości dla wybranego obiektu.
10. IBM Rational Software Modeler. Generowanie dokumentacji projektowej i kodu
wygenerowanie dokumentacji projektowej,
wygenerowanie kodu na podstawie utworzonego modelu,
analiza wygenerowanych elementów.
11. OCL
definiowanie ograniczeń
nakładanie niezmienników na atrybuty,
definiowanie warunków początkowych i końcowych.
12. Prezentacja projektu
prezentacja wyników prac,
ocena zadań indywidualnych,
dyskusja i ocena projektów.
ZALICZENIE LABORATORIUM
Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach
wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem
pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen
cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.
W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba
odpowiedzialna za kurs i jest on podany na pierwszych zajęciach.
185
Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na
następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do
10 pkt. Łącznie student za 10 zajęć może uzyskać od 0 do 100 pkt.
Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za
projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 100pkt. Zaliczenie
projektu następuje po uzyskaniu co najmniej 51 pkt. i jest możliwe najpóźniej na ostatnich
zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach 0-200 pkt.
Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg
skali ECTS):
Zakres Ocena Zakres Ocena
0-100 pkt. ndst (F) 141-160 pkt. db (C)
101-120 pkt. dst (E) 161-180 pkt. db+ (B)
121-140 pkt. dst+ (D) 181-200 pkt. bdb (A)
LITERATURA
1. Barczak. A., Florek J., Sydoruk T.: Projektowanie zintegrowanych systemów
informatycznych zarządzania, Wyd. AP, Siedlce 2006
2. Chmielarz W.: "Systemy informatyczne wspomagające zarządzanie. Aspekt
modelowy w budowie systemów". Elipsa, Warszawa 1996
3. Szyjewski Z.: Zarządzanie projektami informatycznymi. Metodyka tworzenia
systemów informatycznych. Agencja Wydawnicza Placet. Warszawa 2001
4. Wrycza S.: "Analiza i projektowanie systemów informatycznych zarządzania.
Metody, techniki, narzędzia". PWN. Warszawa, 1997.