informator -sylabus - Instytut Informatyki UPH
Transkrypt
informator -sylabus - Instytut Informatyki UPH
AKADEMIA PODLASKA WYDZIAŁ NAUK ŚCISŁYCH Kierunek INFORMATYKA INFORMATOR -SYLABUS- studia I stopnia (inżynierskie) czas trwania: 7 semestrów Siedlce 2009/2010 SPIS TREŚCI JĘZYK ANGIELSKI SEM. 1 FOREIGN LANGUAGE - ENGLISH ......................................................... 5 JĘZYK ANGIELSKI SEM. 2 FOREIGN LANGUAGE - ENGLISH ....................................................... 10 BEZPIECZEŃSTWO I ERGONOMIA PRACY WORKPLACE SAFETY AND ERGONOMICS ......... 15 PODSTAWY ZARZĄDZANIA MANAGEMENT FUNDAMENTALS .................................................... 18 HISTORIA SZTUKI ART HISTORY ........................................................................................................ 20 ANALIZA MATEMATYCZNA MATHEMATICAL ANALYSIS ............................................................ 23 MATEMATYKA DYSKRETNA DISCRETE MATHEMATICS .............................................................. 28 PODSTAWY ELEKTRONIKI ELECTRONICS FUNDAMENTALS ...................................................... 34 FIZYKA DLA INFORMATYKÓW PHYSICS FOR COMPUTER SCIENTIST ..................................... 39 ALGEBRA LINIOWA LINEAR ALGEBRA ............................................................................................. 44 PODSTAWY TECHNIKI CYFROWEJ DIGITAL CIRCUITS FUNDAMENTALS ............................... 49 METODY PROBABILISTYCZNE I STATYSTYKA PROBABILISTIC METHODS AND STATISTICS ....................................................................................................................................................................... 54 PODSTAWY MIERNICTWA ELECTRONIC MEASURING FUNDAMENTALS ................................. 60 PODSTAWY TELEKOMUNIKACJI DLA INFORMATYKÓW INFORMATION AND COMMUNICATION TECHNOLOGY FUNDAMENTALS FOR COMPUTER SCIENTISTS ............... 64 PODSTAWY SYSTEMÓW TELEINFORMATYCZNYCH INFORMATION AND COMMUNICATION TECHNOLOGY FUNDAMENTALS .......................................................................................................... 68 PODSTAWY PROGRAMOWANIA PROGRAMMING FUNDAMENTALS .......................................... 72 ALGORYTMY I ZŁOŻONOŚĆ ALGORITHMS AND COMPLEXITY ................................................. 78 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH COMPUTER SYSTEM ARCHITECTURE . 84 PROGRAMOWANIE NISKOPOZIOMOWE LOW-LEVEL PROGRAMMING ................................... 90 SYSTEMY OPERACYJNE OPERATING SYSTEMS .............................................................................. 96 TECHNOLOGIE SIECIOWE NETWORKING TECHNOLOGIES ...................................................... 103 TECHNOLOGIE PROGRAMISTYCZNE - SYSTEMY INTERNETOWE PROGRAMMING TECHNOLOGIES - INTERNET TECHNOLOGIES ............................................................................... 109 TECHNOLOGIE PROGRAMISTYCZNE - SIECIOWE SYSTEMY BIZNESOWE PROGRAMMING TECHNOLOGIES - NETWORK BUSINESS SYSTEMS......................................................................... 115 MOBILNE SYSTEMY KOMPUTEROWE MOBILE COMPUTER SYSTEMS ................................... 121 SYMULACJA KOMPUTEROWA COMPUTER SIMULATION .......................................................... 126 PROGRAMOWANIE OBIEKTOWE OBJECT-ORIENTED PROGRAMMING ................................. 131 PROGRAMOWANIE DEKLARATYWNE DECLARATIVE PROGRAMMING ................................. 137 PLATFORMY PROGRAMOWANIA PROGRAMMING PLATFORMS.............................................. 144 PODSTAWY PRZETWARZANIA ROZPROSZONEGO DISTRIBUTED COMPUTING FUNDAMENALS ....................................................................................................................................... 150 2 PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO PARALLEL COMPUTING FUNDAMENALS ..................................................................................................................................................................... 157 PROGRAMOWANIE FUNKCYJNE FUNCTIONAL PROGRAMMING ............................................. 164 GRAFIKA I KOMUNIKACJA CZŁOWIEKA Z KOMPUTEREM COMPUTER GRAPHICS AND HUMAN-COMPUTER COMMUNICATION ........................................................................................... 170 MODELOWANIE I WIZUALIZACJA GRAFIKI 3D MODELING AND VISUALISATION 3D GRAPHICS ................................................................................................................................................. 176 CYFROWE PRZETWARZANIE OBRAZU I DŹWIĘKU DIGITAL IMAGE AND SOUND PROCESSING ............................................................................................................................................ 182 SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE ........................................................... 188 BAZY DANYCH DATABASES ................................................................................................................ 195 ROZPROSZONE BAZY DANYCH DISTRIBUTED DATABASES ....................................................... 202 ŚRODOWISKA PROGRAMOWANIA APLIKACJI WIRTUALNYCH I MULTIMEDIALNYCH VIRTUAL AND MULTIMEDIA APPLICATION PROGRAMMING ENVIRONMENT ...................... 209 INŻYNIERIA OPROGRAMOWANIA SOFTWARE ENGINEERING ................................................. 215 SYSTEMY WBUDOWANE EMBEDDED SYSTEMS............................................................................. 222 PROBLEMY SPOŁECZNE I ZAWODOWE INFORMATYKI SOCIAL AND PROFESIONAL ISSUES OF COMPUTER SCIENCE ....................................................................................................................... 227 PODSTAWY BEZPIECZEŃSTWA SYSTEMÓW KOMPUTEROWYCH ............................................. 231 ZINTEGROWANE SYSTEMY INFORMATYCZNE ZARZĄDZANIA INTEGRATED MANAGEMENT INFORMATION SYSTEMS ........................................................................................ 238 KOMPUTEROWE SYSTEMY WSPOMAGANIA DECYZJI COMPUTER-AIDED DECISION SYSTEM ..................................................................................................................................................... 244 PROJEKT ZESPOŁOWY TEAM PROJECT.......................................................................................... 250 PROGRAMOWANIE ZAAWANSOWANE ADVANCED PROGRAMMING ...................................... 254 SYSTEMY BAZ DANYCH DATABASE SYSTEMS ............................................................................... 260 APLIKACJE INTERNETOWE I ROZPROSZONE INTERNET AND DISTRIBUTED APPLICATIONS ..................................................................................................................................................................... 267 ZAAWANSOWANE SYSTEMY GRAFIKI KOMPUTEROWEJ ADVANCED COMPUTER GRAPHICS SYSTEMS .............................................................................................................................. 274 ROZPROSZONE SYSTEMY OPERACYJNE DISTRIBUTED OPERATING SYSTEMS ................... 280 ZAAWANSOWANE SIECI KOMPUTEROWE ADVANCED COMPUTER NETWORKING ............ 287 PROJEKTOWANIE I ADMINISTROWANIE SIECIAMI KOMPUTEROWYMI COMPUTER NETWORKS DESIGN AND ADMINISTRATION .................................................................................. 293 ZAAWASOWANE TECHNOLOGIE INTERNETOWE ADVANCED INTERNET TECHNOLOGIES ..................................................................................................................................................................... 299 SYSTEMY INFORMATYCZNE W BIZNESIE I ADMINISTRACJI INFORMATION SYSTEMS IN BUSINESS AND ADMINISTRATION ...................................................................................................... 306 METODY I NARZĘDZIA MODELOWANIA SYSTEMÓW INFORMATYCZNYCH METHODS AND TOOLS FOR INFORMATION SYSTEMS DESIGN ............................................................................... 313 3 PROJEKTOWANIE INFORMATYCZNYCH SYSTEMÓW ZARZĄDZANIA MANAGEMENT INFORMATION SYSTEMS DESIGN ...................................................................................................... 319 ZARZĄDZANIE PROJEKTEM INFORMATYCZNYM SOFTWARE PROJECT MANAGING ........ 326 ELEMENTY KRYPTOGRAFII I SYSTEMÓW KRYPTOGRAFICZNYCH CRYPTOGRAPHY AND CRYPTOGRAPHIC SYSTEMS FUNDAMENTALS ............................................................................... 334 BEZPIECZEŃSTWO ROZPROSZONYCH SYSTEMÓW OPERACYJNYCH SECURITY OF DISTRIBUTED OPERATING SYSTEMS ................................................................................................ 341 BEZPIECZEŃSTWO SIECI KOMPUTEROWYCH COMPUTER NETWORKS SECURITY ........... 347 ADMINISTROWANIE BEZPIECZEŃSTWEM SYSTEMU KOMPUTEROWEGO COMPUTER SYSTEM SECURITY ADMINISTRATION ............................................................................................. 354 4 Kierunek: Informatyka Przedmiot: Język angielski sem. 1 Foreign Language - English Czas trwania: semestr 1 Przedmiot: ogólny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Ćwiczenia mgr Joanna Madej 60 zaliczenie na ocenę 5 POZIOM Student przystępujący do kursu powinien posiadać określone umiejętności językowe na poziomie B1 wg poziomów biegłości językowej [ESOKJ]. Test diagnostyczny przeprowadzany na pierwszych zajęciach ma pomóc studentom zorientować się we własnym poziomie językowym i wskazać braki do nadrobienia we własnym zakresie. ZAŁOŻENIA I CELE Celem nauczania języka obcego jest rozwijanie następujących umiejętności językowych: • • • • mówienia pisania rozumienia czytania umożliwiających posługiwanie się językiem ogólnym i specjalistycznym na poziomie B2 [ESOKJ]. ĆWICZENIA 1. Skróty i słownictwo specjalistyczne • • wprowadzenie podstawowych skrótów z dziedziny informatyki test diagnostyczny 2. Czasy teraźniejsze • • forma twierdząca, przecząca i pytająca -powtórzenie porównanie zastosowania czasu Present Simple i Present Continuous - ćwiczenia 5 3. Food - fuel or pleasure • • powtórzenie słownictwa związanego z odżywnianiem i artykułami żywnościowymi dyskusja nt. nawyków żywieniowych i diety. 4. Czasy przeszłe • • forma twierdząca, przecząca i pytająca -powtórzenie i ćwiczenia porównanie zastosowania czasów Past Simple, Past Continuous i Past Perfect Simple ćwiczenia 5. Sport • • wprowadzenie i utrwalenie słownictwa związanego ze sportem, czytanie tekstu dyskusja nt. wydarzeń sportowych i roli sportu w życiu człowieka, zainteresowań sportowych 6. Czasy przyszłe • • • forma twierdząca, przecząca i pytająca -powtórzenie porównanie zastosowania czasów Future Simple i zwrotu going to, uzyskiwanie i udzielanie informacji odnośnie planów zamiarów i wydarzeń przyszłych 7. Rodzina • • Słownictwo nt rodziny i cech charakteru - ćwiczenia Wyrażenie opinii nt zmian zachodzących w modelu rodziny, oraz wypowiedź nt cech danego członka rodziny 8. Sieci komputerowe • • • topologie sieciowe oraz ich wady i zalety - podanie słownictwa, dyskusja sieci komputerowe - warstwy i ich zadania, bezpieczeństwo w sieciach - dyskusja 9. Zwroty grzecznościowe • • zwroty grzecznościowe stosowane w miejscu pracy, zawieranie znajomości w pracy dialogi redagowanie krótkich e-mailów prywatnych i zawodowych 10. Past Simple vs Present Perfect • • omówienie różnic w zastosowaniu czasów Past Simple i Present Perfect ćwiczenia utrwalające 11. świat pieniądza i finansów • Podanie słownictwa dot finansów - ćwiczenia 6 • • rola pieniądza w świecie, sposobów gospodarowania środkami finansowymi - analiza tekstu i dyskusja powtórzenie liczebników głównych, porządkowych, ułamków dziesiętnych i zwykłych 12. czasy Present Perfect Simple i Present Perfect Continuous • • forma twierdząca, przecząca i pytająca -powtórzenie porównanie zastosowania czasów Present Prefect Simple i Present Perfect Continuous - ćwiczenia utrwalające 13. zmiany w życiu • • przymiotniki (strong adjectives) - omówienie i ćwiczenia opisywanie zmian w życiu, procesów - analiza tekstu i dyskusja 14. powtórzenie czasów • • powtórzenie konstrukcji ćwiczenia utrwalające 15. opisywanie wydarzeń z życia osobistego i z pracy • • • omówienie słownictwa omówienie struktur gramatycznych dyskusja 16. Urządzenia peryferyjne • • charakterystyka i podział urządzeń peryferyjnych - wprowadzenie słownictwa analiza tekstu i dyskusja nt. urządzeń peryferyjnych i ich zastosowań 17. Strona bierna • • Strona bierna - omówienie konstrukcji w różnych czasach i z czasownikami modalnymi ćwiczenia utrwalające 18. Strona bierna - c.d. • • Różnice między stroną bierną i czynną, czasowniki, które nie mają strony biernej Strona bierna i czynna - ćwiczenia 19. Film i kino • • • wprowadzenie u utrwalenie słownictwa związanego z typami filmów i światem filmu słuchanie relacji z planu filmu analiza tekstu i dyskusja nt ulubionych filmów, reżyserów 20. Zdania podrzędne 7 • • zdania podrzędne (definiujące i niedefiniujące) - analiza, omówienie zdania podrzędne - cwczenia utrwalające 21. Bohaterowie i idole • • analiza tekstu nt. współczesnych bohaterów - ćwiczenia, dyskusja słowotwórstwo - tworzenie nazw zawodów 22. Rozmowy telefoniczne • • • wyrażanie uprzejmych próśb oraz ich odrzucanie bądź przyjmowanie - dialogi urzielanie i odmawianie pozwolenia z podaniem przyczyny - dialogi redagowanie notatek służbowych 23. Internet i www • • • analiza tekstu nt. ewolucji internetu -ćwiczenia dyskusja nt. wad, zalet, zastosowań i przyszłości internetu, zasady projektowania stron internetowych 24. Mowa zależna • • zdania oznajmujące i przeczące - omówienie mowa zależna - ćwiczenia utrwalające 25. Mowa zależna - cd • • zdania pytające, rozkazy i zakazy - omówienie ćwiczenia utrwalające 26. Zakupy • • wprowadzenie u utrwalenie słownictwa związanego z zakupami i typami sklepów analiza tekstu i dyskusja nt różnych form robienia zakupów (m.in. przez internet), reklamacje wadliwych produktów 27. stopniowanie przymiotników i przysłówków • • tworzenie stopnia wyższego i najwyższego przymiotników i przysłówków, formy nieregularne, wyjątki - omówienie i ćwiczenia przymiotniki z końcówką -ed i -ing - omówienie i ćwiczenia utrwalające 28. Transport i podróżowanie • • środki transportu i podróżowanie - wprowadzenie słownictwa, ćwiczenia utrwalające udzielanie i uzyskiwanie informacji nt. sposobów podróżowania, ich wad i zalet, bezpieczeństwa, analiza tekstu, słuchanie, dyskusja 29. Aplikacje komputerowe 8 • • podział i charakterystyka aplikacji komputerowych - omówienie i wprowadzenia słownictwa analiza tekstu - dyskusja nt. aplikacji komputerowych ich wad i zalet 30. Zaliczenie przedmiotu • • omówienie ocen końcowych zaliczenie ćwiczeń ZALICZENIE ĆWICZEŃ Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Na zajęciach student jest zobowiązany posiadać książkę oraz ćwiczenia podane przez prowadzącego. Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych z kolokwiów (2 w semestrze). Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA Gramatyki Repetytorium jęz. angielskiego - B. Jaślan, A. Mańczak English grammar in Use Intermediate - R. Murphy - Cambridge Słowniki Oxford Wordpower – słownik angielsko-polski z indeksem polsko – angielskim Wielki Słownik Angielsko- Polski wyd. Oxford –PWN Wielki Słownik Polsko – Angielski wyd. Oxford - PWN Macmillan Essential Dictionary z CD-ROM wyd. Macmillan Słownik skrótów komputerowych, Szaniawski, Arskom Słownik komputerów i internetu, WILGA 9 wyd. OUP Język angielski sem. 2 Foreign Language - English Czas trwania: semestr 1 Przedmiot: ogólny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Ćwiczenia mgr Joanna Madej 60 zaliczenie na ocenę 5 POZIOM Student przystępujący do kursu powinien mieć zaliczony semestr pierwszy języka angielskiego. ZAŁOŻENIA I CELE Celem nauczania języka obcego jest rozwijanie następujących umiejętności językowych: • • • • mówienia pisania rozumienia czytania umożliwiających posługiwanie się językiem ogólnym i specjalistycznym na poziomie B2 [ESOKJ]. ĆWICZENIA 1. czasowniki modalne • • czasowniki: have to, must, should - omówienie konstrukcji oraz użycia, ćwiczenia utrwalające nowoczesne technologie - dyskusja nt. telefonów komórkowych 2. kultura i dobre maniery • • • analiza tekstu nt. manier - ćwiczenia, słuchanie wypowiedzi nt. dobrych manier - ćwiczenia dobre i złe maniery, uwarunkowania i różnice kulturowe - dyskusja 3. architektura komputera • omówienie, zapoznanie ze słownictwem - ćwiczenia 10 • analiza tekstu - ćwiczenia 4. czasowniki modalne w dedukcji odnośnie zdarzeń teraźniejszych • • czasowniki must, may, might, can't - omówienie konstrukcji ćwiczenia utrwalające 5. wygląd zewnętrzny • • • wprowadzenie słownictwa, ćwiczenia utrwalające analiza tekstu nt. wyglądu - ćwiczenia dyskusja nt. oceniania po wyglądzie 6. sukces i porażka w życiiu człowieka • • czasowniki modalne - can could, be able to - omówienie, ćwiczenia dyskusja nt. umiejętności, znaczenia sukcesu i porażki, 7. bezpieczeństwo w sieci • • wprowadzenie słownictwa związanego z bezpieczeństwem, wirusami komp. itp, ćwiczenia analiza tekstu nt. bezpieczeństwa w sieci 8. Wynajmowanie mieszkania • • • słuchanie - omówienie słownictwa dialogi redagowanie ogłoszenia prasowego odn. wynajęcia mieszkania 9. Pierwszy okres warunkowy i zdania czasowe • • omówienie konstrukcji z podaniem przykładów ćwiczenia utrwalające 10. Wykształcenie i system szkolnictwa • • • wprowadzenie słownictwa, ćwiczenia utrwalające analiza tekstu nt. systemu szkolnictwa - ćwiczenia słuchanie audycji nt. metod kształcenia - ćwiczenia 11. Grafika i multimedia • • • wprowadzenie słownictwa analiza tekstu nt. grafiki - ćwiczenia, dyskusja nt. technik multimedialnych i ich możliwości 12. idealny świat 11 • • • drugi okres warunkowy: omówienie konstrukcji, ćwiczenia słownictwo związane z domem, wyposażeniem - wprowadzenie i utrwalenie dyskusja nt. idealnego domu 13. konstrukcja used to • • analiza tekstu nt. przyjaźni - ćwiczenia omóienie struktury used to - ćwiczenia utrwalające 14. systemy operacyjne • • wprowadzenie słownictwa - ćwiczenia analiza tekstu nt. systemów operacyjnych - ćwiczenia, dyskusja 15. problemy w pracy w zawodzie informatyka • • poszerzenie i utrwalenie słownictw dyskusja 16. Praca zawodowa a życie osobiste • • analiza tekstu - ćwiczenia, dyskusja nt. współczesnego stylu życia wyrażenia określające ilość - omówienie, ćwiczenia 17. Programowanie • • • wprowadzenie słownictwa związanego z programowaniem analiza tekstu nt. programowania - ćwiczenia, dyskusja nt. języków programowania tworzenie prostych schematów blokowych w j. ang. 18. Kobiety i mężczyźni • • czytanie tekstu - ćwiczenia dyskusja nt. preferencji kobiet i mężczyzn oraz ich roli we współczesnym świecie 19. Przedimki, czasowniki i przymiotniki z przyimkami • • przedimek określony a, an, określony the oraz tzw zerowy - zasady stosowania omówienie ćwiczenia utrwalające konstrukcje czasownik lub przymiotnik + przyimek 20. Konstrukcje gerundialne i bezokolicznikowe • • omówienie ćwiczenia utrwalające 21. Praca i kariera • wprowadzenie słownictwa i ćwiczenia utrwalające 12 • • czytanie i słuchanie relacji z przygotowania do programu bądź dziennikarzem w 1 miesiąc - ćwiczenia dyskusja nt. kariery w branży informatycznej oraz wad i zalet zawodów informatycznych 22. Czasowniki modalne w dedukcji zdarzeń przeszłych • • omówienie, ćwiczenia utrwalające dedukcja dot. zdarzeń teraźniejszych i przeszłych z użyciem czasowników modalnych - ćwiczenia 23. Sztuczna inteligencja • • wprowadzeni słownictwa analiza tekstu nt. sztucznej inteligencji - ćwiczenia, dyskusja nt. zadań i celów szt. int. 24. Szczęście i pech • • czytanie i słuchanie - ćwiczenia słowotwórstwo - przymiotniki i przysłówki 25. Trzeci okres warunkowy • • omówienie konstrukcji, ćwiczenia porównanie trzech okresów warunkowych - ćwiczenia 26. Roboty i rzeczywistość wirtualna • • wprowadzenie słownictwa, utrwalenie analiza tekstu i dyskusja nt. przyszłości i zastosowań robotów oraz rzeczywistości wirtualnej 27. Tworzenie pytań pośrednich i question tags • • omówienie konstrukcji, podanie wyjątków ćwiczenia utrwalające 28. Nawyki telewizyjne • • czasowniki frazalne - omówienie, ćwiczenia dyskusja nt. roli TV w naszym życiu 29. List motywacyjny i CV • • omówienie struktury CV i LM na przykładzie tworzenie własnych CV i LM 30. Zaliczenie przedmiotu 13 • • omówienie ocen końcowych wpisanie zaliczeń ZALICZENIE ĆWICZEŃ Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Na zajęciach student jest zobowiązany posiadać książkę oraz ćwiczenia podane przez prowadzącego. Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych z kolokwiów (2 w semestrze). Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA Gramatyki Repetytorium jęz. angielskiego - B. Jaślan, A. Mańczak English grammar in Use Intermediate - R. Murphy - Cambridge Słowniki Oxford Wordpower – słownik angielsko-polski z indeksem polsko – angielskim Wielki Słownik Angielsko- Polski wyd. Oxford –PWN Wielki Słownik Polsko – Angielski wyd. Oxford - PWN Macmillan Essential Dictionary z CD-ROM wyd. Macmillan Słownik skrótów komputerowych, Szaniawski, Arskom Słownik komputerów i internetu, WILGA 14 wyd. OUP Kierunek: Informatyka Przedmiot: Bezpieczeństwo i ergonomia pracy Workplace Safety and Ergonomics Czas trwania: semestr 3 Przedmiot: ogólny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Wykład dr inż. Tadeusz Sydoruk 15 zaliczenie na ocenę 1 POZIOM Nie ma żadnych szczególnych wymagań. ZAŁOŻENIA I CELE Zgodnie z wytycznymi dla studiów pierwszego stopnia zawartymi w standardzie kształcenia dla kierunku studiów Informatyka, program tych studiów powinien obejmować treści kształcenia w zakresie bezpieczeństwa i higieny pracy oraz ergonomii. Biorąc pod uwagę najważniejsze z potrzeb zawodowych absolwenta informatyki w w/w zakresie przyjęto, że celem głównym przedmiotu jest zapoznanie z zasadniczymi zagadnieniami prawnymi i organizacyjnymi oraz normami bezpieczeństwa i higieny pracy oraz ergonomii, zarówno w aspekcie obowiązków pracodawcy, jak i praw i obowiązków pracownika. Jako cel dodatkowy przyjęto zapoznanie z zagrożeniami porażenia prądem elektrycznym oraz ze szczególnymi warunkami ochrony przeciwporażeniowej w warunkach pracy z komputerami, a także zagrożeniami w pracy biurowej związanymi z promieniowaniem świetlnym (podczerwień i nadfiolet) WYKŁAD 1. Wprowadzenie do problematyki bhp. Podstawy prawne i system ochrony pracy w Polsce • • • Rys historyczny ochrony pracy. Podstawy prawne w dziedzinie bhp. System ochrony pracy w Polsce. 2. Obowiązki pracodawcy i organizacja bezpiecznej pracy • Podstawowe obowiązki pracodawcy. 15 • • • • Procesy pracy. Służba BHP. Organizacja bezpiecznej pracy w kontakcie z urządzeniami elektrycznymi. Kwalifikacje pracowników i sprzęt ochronny. 3. Warunki bhp w nowoczesnym biurze • • • • Nowoczesne biuro i jego wyposażenie. Procesy pracy i zagrożenia. Informatyka i telekomunikacja w nowoczesnym biurze. Praca z komputerem stscjonarnym i przenośnym. 4. Zagrożenia porażenia prądem elektrycznym i ochrona przeciwporażeniowa cz. 1 • • • • Zagrożenia od elektryczności statycznej. Zagrożenia porażenia prądem z sieci energetycznej. Czynniki wpływające na stopień porażenia. Ochrona przeciwporażeniowa i stopnie ochrony. 5. Zagrożenia porażenia prądem elektrycznym i ochrona przeciwporażeniowa cz. 2 • • • • Środki ochrony dodatkowej. Warunki środowiskowe. Stopnie ochrony obudów. Klasy ochronności i zakresy napięć. 6. Ochrona przed promieniowaniem w pracy biurowej • • • Aspekty bezpieczeństwa przy obsłudze urządzeń laserowych. Ochrona przed promieniowaniem nadfioletowym. Ochrona przed promieniowaniem podczerwonym. 7. Ergonomia w pracy biurowej • • • • • Powstanie, rozwój i zadania ergonomii. Ergonomia w dyrektywach i normach. Problemy ergonomii w relacji - człowiek-maszyna. Ergonomia a materialne środowisko pracy. Ergonomia w pracy umysłowej. 8. Kolokwium zaliczeniowe • • Pisemne kolokwium zaliczeniowe. Wystawienie ocen i wpisy do indeksów. ZALICZENIE WYKŁADU Przedmiot kończy się zaliczeniem na ocenę. Ocena jest wystawiana na podstawie pisemnego kolokwium zaliczeniowego. Zagadnienia do opracowania i odpowiedzi na pytania są punktowane. Maksymalna liczba możliwych do uzyskania punktów wynosi 100. Ocena 16 końcowa zaliczenia, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Barczak A., Leszczyński A., Mamcarz K., Sydoruk T.: Informatyka i telekomunikacja w nowoczesnym biurze. Wyd. PWE, Warszawa 1998 2. Rosner J.: Ergonomia. Wyd. PWE, Warszawa 1985. 3. Ustawa "Kodeks Pracy" 4. Rozporządzenie RM w sprawie służby bhp (z 1997 r., zmiany w 2004 i 2005 r.) 17 Kierunek: Informatyka Przedmiot: Podstawy zarządzania Management Fundamentals Czas trwania: semestr 1 Przedmiot: ogólny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Wykład prof. dr hab. Yury Pauliuchuk 30 zaliczenie na ocenę 2 POZIOM Nie ma żadnych szczególnych wymagań. ZAŁOŻENIA I CELE Program wykładu obejmuje następujące zagadnienia: • • • • • • • • zarządzanie i jego istota organizacja jako obiekt zarządzania, jej składowe i cele i cechy procesy (funkcje) zarządzania i przedsiębiorstwa struktury organizacyjne i ich projektowanie - procesy informacyjno – decyzyjne, decyzje właścicielskie i menedżerskie planowanie i podejmowanie decyzji na poziomie strategicznym, taktycznym i operacyjnym istota pracy kierowniczej: role kierownicze, style kierowania, umiejętności kierownicze, składniki kierowania etyczny i humanistyczny kontekst zarządzania otoczenie organizacji, a skuteczność zarządzania. Cele kształcenia i kompetencje jakie powinien osiągnąć student: • • poznanie istoty zarządzania i organizacji nabycie umiejętności i kompetencji polegających na uwzględnianiu zasad zarządzania w różnych formach aktywności. WYKŁAD 1. Geneza nauk o zarządzaniu 2. Szkoły i kierunki w naukach o zarządzaniu 3. Prawo gospodarcze w Polsce 18 4. Kierowanie i kierownicy 5. Planowanie w organizacji 6. Struktury organizacyjne 7. Motywowanie 8. Kontrola i controlling 9. Zarządzanie strategiczne – biznesplan 10. Zarządzanie potencjałem społecznym organizacji 11. Systemy informacyjne w organizacji 12. Prognozy w procesie zarządzania 13. Zarządzanie organizacjami publicznymi. 14. Zarządzanie zmianami. 15. zmian w organizacjach i zarządzaniu. ZALICZENIE WYKŁADU Przedmiot kończy się egzaminem testowym, 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. red. A. K. Koźmiński, W. Piotrkowski: Zarządzanie. Teoria i praktyka. PWN, Warszawa 1999 2. R.B. Tucker: Zarządzanie z przyszłością. Prószyński i S-ka 3. Strategor: Zarządzanie firmą. PWE, Warszawa 1997 4. J. Stoner, R. Freeman, D. Gilbert: Kierowanie. PWE, Warszawa 1999 5. Z. Martyniak: Nowe metody I koncepcje zarządzania. Wyd AE w Krakowie, Kraków 2002 6. K. Obłój: Strategia organizacji, PWE, Warszawa 1999 7. M. Bednarczyk: Organizacje publiczne. Zarządzabnie konkurencyjnością, PWN, Kraków 2001 8. J. Kisielnicki, H. Sroka: Systemy informacyjne biznesu, AW Placet, Warszawa 2001 9. A. Stabryła: Zarządzanie strategiczne w teorii i praktyce, PWN Warszawa – Kraków 2002 10. L. Krzyżanowski: O podstawach zarządzaniaa, kierowania inaczej: paradygmaty, filozofia, dylematy, modele, metodologia, metafory, trendy. PWN , Warszawa 1999 11. Z. Pierścionek: Strategie konkurencji i rozwoju przedsiębiorstwa. PWE, Warszawa 2003 12. M. J. Hatch: Teoria organizacji. PWN Warszawa 2002 13. Y Allare, M. Firsirotu: Myślenie strategiczne. PWN Warszawa 2000 14. Leksykon zarządzania. Difin. Warszawa 2004 15. Z.. Martyniak: Metody organizowania procesów pracy. PWE, Warszawa 1996 16. S. Robbins, D. DeCenzo: Podstawy zarządzania. PWE, Warszawa 2002 17. R. W. Griffin: Podstawy zarządzania organizacjami. PWN, Warszawa 2005 19 Kierunek: Informatyka Przedmiot: Historia sztuki Art History Czas trwania: semestr 2 Przedmiot: ogólny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Wykład dr hab. Mikołaj Bieluga 30 zaliczenie na ocenę 2 POZIOM Nie ma żadnych szczególnych wymagań. ZAŁOŻENIA I CELE Celem ogólnym jest przekazanie wiedzy o różnych koncepcjach sztuki. Cele szczegółowe przedmiotu obejmują następujące zagadnienia: • • • • Korelacja sztuki i kultury. Postawy artystyczne wybranych osobowości ze świata sztuki. Współczesne prądy i zjawiska w sztuce. Zaznajomienie z językiem sztuki. WYKŁAD 1. Historyczny przekrój koncepcji sztuki. • • Kulturowe tło zmian zachodzących w sztuce Koncepcja klasyczna. 2. Historyczny przekrój koncepcji sztuki. • • Kulturowe tło zmian zachodzących w Koncepcja modernistyczna. 3. Historyczny przekrój koncepcji sztuk. • Kulturowe tło zmian zachodzących w sztuce 20 • Koncepcja postmodernistyczna. 4. Różnorodne koncepcje sztuki w oparciu o wybranych artystów (1). • • Analiza życiorysów artystycznych Jackson Pollock. 5. Różnorodne koncepcje sztuki w oparciu o wybranych artystów (2). • • Analiza życiorysów artystycznych Nikifor Krynicki. 6. Różnorodneodne koncepcje sztuki w oparciu o wybranych artystów (3). • • Analiza życiorysów artystycznych Jerzy Nowosielski. 7. Sztuki plastyczne. • • Dyscypliny. Podstawy kompozycji. 8. Kompozycja przestrzeni. • • Historia perspektywy. Perspektywy linearne zbieżne. 9. Teoria barw. • • Barwa w kompozycji Powstawanie i klasyfikacja barw.. 10. Wstęp do analizy dzieł sztuki. • • Forma a treść. Ikonografia a ikonologia. 11. Sztuka użytkowa. • • Celowość formy. Antroposfera 12. Wizualizacja kultury. • • Ikonosfera. Przestrzenie sztuki. 13. Intermedia w sztuce. • Instalacje. 21 • Sztuka akcji. 14. Multimedia. • • Grafika komputerowa. Sztuka wideo. 15. Od mistycyzmu do skandalu. • • Rynek sztuki. Galerie autorskie ZALICZENIE WYKŁADU Przedmiot kończy się zaliczeniem na ocenę. Ocena jest wystawiana na podstawie pisemnego referatu zaliczeniowego. Maksymalna liczba możliwych do uzyskania punktów wynosi 100. Ocena końcowa zaliczenia, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. 5. M. Ałpatow, Historia sztuki, W-wa 1982 B. Kowalska, Od impresjonizmu do konceptualizmu, Arkady, Wa-wa 1986 J. M. Parramon, Kolor w malarstwie, WSiP, W-wa 1995 J. Gage, Kolor i kultura, Universitas, Kraków 2008 D. Hornung, Kolor. Kurs dla artystów i projektantów, Universitas, Kraków 2009 22 Kierunek: Informatyka Przedmiot: Analiza matematyczna Mathematical Analysis Czas trwania: semestr 1 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Agnieszka Gil - Świderska 21 egzamin Ćwiczenia mgr Sergiusz Kęska dr Agnieszka Gil - Świderska 24 zaliczenie na ocenę Punkty ECTS 6 POZIOM Do studiowania analizy matematycznej na kierunku informatyka zalecana jest dobra znajomość kursu matematyki na poziomie szkoły średniej. Zakłada się, że student zna podstawowe pojęcia z teorii funkcji, teorii zbiorów i opanował w dobrym stopniu techniki rachunkowe matematyki. ZAŁOŻENIA I CELE Celem wykładu jest przekazanie wiedzy z zakresu z teorii ciągów, szeregów liczbowych i funkcyjnych, zapoznanie z rachunkiem różniczkowym funkcji jednej i wielu zmiennych oraz rachunkiem całkowym (całką oznaczoną i nieoznaczoną). Wprowadza się także elementy równań różniczkowych. Ćwiczenia prowadzone są według programu wykładów. WYKŁAD 1. Ciągi liczb rzeczywistych. • • • • • Wartość bezwzględna liczby rzeczywistej i jej własności, Definicja ciągu liczbowego, ciągu monotonicznego, ciągu ograniczonego, Granica ciągu, własności ciągów zbieżnych, Przykłady ciągów zbieżnych, liczba e, Podciągi. 2. Szeregi liczbowe. • Definicja szeregu liczbowego, szereg zbieżny i szereg rozbieżny, 23 • • • Szereg geometryczny, szereg harmoniczny, Kryteria zbieżności szeregów o wyrazach nieujemnych (porównawcze, Cauchy’ego, d’Alemberta), Szeregi zbieżne bezwzględnie i warunkowo, szeregi naprzemienne, kryterium Leibniza. 3. Funkcje jednej zmiennej rzeczywistej. • • • • Własności funkcji rzeczywistych jednej zmiennej (funkcje różnowartościowe, „na”, monotoniczne, okresowe, parzyste, nieparzyste) Superpozycja funkcji, Funkcje odwrotne, Przegląd funkcji elementarnych. 4. Granica funkcji. • • • • Granica funkcji jednej zmiennej rzeczywistej w sensie Heinego i w sensie Cauchy’ego, Granice niewłaściwe i granice w punktach niewłaściwych, Granice jednostronne, Ważniejsze przykłady granic funkcji. 5. Funkcje ciągłe. • • Definicja funkcji ciągłej w punkcie, Własności funkcji ciągłych w przedziale domkniętym (tw. Weierstrassa). 6. Pochodna funkcji. • • • • • Definicja pochodnej funkcji w punkcie i jej interpretacja geometryczna i fizyczna, Funkcje różniczkowalne, różniczka funkcji, Własności funkcji różniczkowalnych, Pochodne funkcji elementarnych, Funkcje n-krotnie różniczkowalne. 7. Zastosowanie rachunku różniczkowego funkcji jednej zmiennej. • • • • • • Twierdzenia: Rolle’a, Lagrange’a i Cauchy’ego, Reguła de l’Hospitala, Funkcje wypukłe i wklęsłe, Ekstrema lokalne funkcji, Asymptoty funkcji, Przebieg zmienności funkcji. 8. Rachunek różniczkowy funkcji wielu zmiennych. • • • • Funkcje wielu zmiennych, Pochodna kierunkowa, pochodne cząstkowe, gradient, Różniczka funkcji wielu zmiennych, Ekstrema lokalne funkcji. 24 9. Całka nieoznaczona. • • • Funkcja pierwotna i całka nieoznaczona, Twierdzenie o całkowaniu przez części i przez podstawienie, Całkowanie funkcji wymiernych, niewymiernych i trygonometrycznych. 10. Całka oznaczona i niewłaściwa • • • • • Definicja całki oznaczonej i jej własności, Związek całki oznaczonej z nieoznaczoną, Zastosowanie geometryczne całki oznaczonej (pole obszaru płaskiego, długość łuku krzywej, objętość i pole bryły obrotowej) Definicja całki niewłaściwej, Związek całki z szeregami. 11. Równanie różniczkowe • • • Równanie różniczkowe zwyczajne, rozwiązanie ogólne, szczególne, Zagadnienie początkowe Cauchy’ego, Przykłady równań różniczkowych, 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Ciągi liczb rzeczywistych. • • • • • Wartość bezwzględna liczby rzeczywistej i jej własności, Definicja ciągu liczbowego, ciągu monotonicznego, ciągu ograniczonego, Granica ciągu, własności ciągów zbieżnych, Przykłady ciągów zbieżnych, liczba e, Podciągi. 2. Szeregi liczbowe. • • • Definicja szeregu liczbowego, szereg zbieżny i szereg rozbieżny, Szereg geometryczny, szereg harmoniczny, Kryteria zbieżności szeregów o wyrazach nieujemnych, 25 • Szeregi zbieżne bezwzględnie i warunkowo, szeregi naprzemienne, kryterium Leibniza, 3. Funkcje jednej zmiennej rzeczywistej. • • • • Własności funkcji rzeczywistych jednej zmiennej (funkcje różnowartościowe, „na”, monotoniczne, okresowe, parzyste, nieparzyste) Superpozycja funkcji, Funkcje odwrotne, Przegląd funkcji elementarnych. 4. Granica funkcji. • • • • Granica funkcji jednej zmiennej rzeczywistej w sensie Heinego i w sensie Cauchy’ego, Granice niewłaściwe i granice w punktach niewłaściwych, Granice jednostronne, Ważniejsze przykłady granic funkcji. 5. Funkcje ciągłe. • • Definicja funkcji ciągłej w punkcie, Własności funkcji ciągłych w przedziale domkniętym (tw. Weierstrassa). 6. Pochodna funkcji. • • • • • Definicja pochodnej funkcji w punkcie i jej interpretacja geometryczna i fizyczna, Funkcje różniczkowalne, różniczka funkcji, Własności funkcji różniczkowalnych, Pochodne funkcji elementarnych, Funkcje n-krotnie różniczkowalne. 7. Zastosowanie rachunku różniczkowego funkcji jednej zmiennej. • • • • • • Twierdzenia: Rolle’a, Lagrange’a i Cauchy’ego, Reguła de l’Hospitala, Funkcje wypukłe i wklęsłe, Ekstrema lokalne funkcji, Asymptoty funkcji, Przebieg zmienności funkcji. 8. Rachunek różniczkowy funkcji wielu zmiennych. • • • • Funkcje wielu zmiennych, Pochodna kierunkowa, pochodne cząstkowe, gradient, Różniczka funkcji wielu zmiennych, Ekstrema lokalne funkcji. 9. Całka nieoznaczona. • Funkcja pierwotna i całka nieoznaczona, 26 • • • Twierdzenie o całkowaniu przez części i przez podstawienie, Wzory rekurencyjne, Całkowanie funkcji wymiernych, niewymiernych i trygonometrycznych. 10. Całka oznaczona. • • • Definicja całki oznaczonej i jej własności, Związek całki oznaczonej z nieoznaczoną, Zastosowanie geometryczne całki oznaczonej. 11. Całki niewłaściwe. • • Definicja całki niewłaściwej, Związek z szeregami. 12. Równania różniczkowe. • • • Równanie różniczkowe zwyczajne, rozwiązanie ogólne, szczególne, osobliwe, Zagadnienie początkowe Cauchy’ego, Przykłady równań różniczkowych, ZALICZENIE LABORATORIUM Zaliczenie ćwiczeń będzie przeprowadzone na podstawie wyników uzyskanych w jednym kolokwium. Maksymalnie można uzyskać 100 punktów. Ocena końcowa z ćwiczeń, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA G.M. Fichtenholz - Rachunek różniczkowy i całkowy, 3 tomy, PWN, 1966, M. Gewert, Z. Skoczylas Analiza matematyczna 1+2 (W sumie sześć tomów) M. Gewert, Z. Skoczylas Równania różniczkowe zwyczajne, G i S Wrocław 2001 F. Leja - Rachunek różniczkowy i całkowy, PWN, 1959, W. Kołodziej - Analiza matematyczna, PWN, 1978, 5. W. Krysicki, L. Włodarski - Analiza matematyczna w zadaniach, cz.I i cz. II, PWN, 1994 6. W. Rudin Podstawy analizy matematycznej, PWN 2000 7. R. Sikorski Rachunek różniczkowy i całkowy funkcji wielu zmiwnnych, PWN 1977 8. W. P. Minorski Zbiór zadań z matematyki wyższej WNT Warszawa 1966 9. W. Żakowski, W. Leksiński Matematyka Części1 +2+4 WNT 1999-2002 10. G. Berman Zbiór zadań z analizy matematycznej PWN 1955 1. 2. 3. 4. 27 Kierunek: Informatyka Przedmiot: Matematyka dyskretna Discrete Mathematics Czas trwania: semestr 1 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Sergiej Nowikow 30 egzamin Ćwiczenia dr hab. Sergiej Nowikow 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Wymagana jest znajomość matematyki na poziomie szkoły średniej. ZAŁOŻENIA I CELE Celem zajęć z przedmiotu Matematyka dyskretna jest rozwój myślenia algorytmicznego oraz opanowanie podstawowych pojęć, modeli, metod i algorytmów potrzebnych programistom. Efektami kształcenia są następujęce umiejętności: • • interpretowanie pojęć z zakresu informatyki w terminach funkcji i relacji; stosowania aparatu logiki,technik dowodzenia twierdzeń, teorii grafów i rekurencji do rozwiązywania problemów o charakterze informatycznym Opanowanie podstawowych modeli, metodów i zlgorytmów matematyki dyskretnej. Umiejętnośc rozwiązywania zagadnień praktycznych za pomocą algorytmów matematyki dyskretnej. WYKŁAD 1. Wstęp • • • • • Matematyka ciągła a dyskretna Treść matematyki dyskretnej Modele dyskretne do rozwiązywania zagadnień za pomocą komputerów Cechy algorytmów: dyskretność, ścisłość, elementarność kroków, skuteczność O złożoności obliczeniowej algorytmów 2. Algebra zbiorów 28 • • • • • Sposoby wyznaczenia elementów zbiorów Suma, iloczyn, różnica, uzupełnianie zbiorów Operacje na zbiorach Prawa algebry zbiorów Dowody za pomocą diagramów Venna Analityczne dowody twierdzeń algebry zbiorów 3. Relacje • • • • • Pary uporządkowane, iloczyn kartezjański Relacje dwuczłonowe i wielu członowe Relacje równoważności Funkcje jako relacje Zbiory uporządkowane 4. Indukcja matematyczna i rekurencja • • • • • • Ciągi Zasada indukcji matematycznej Dowody indukcyjne Twierdzenie (z dowodem) o liczbie dwójkowych słów o długości n Zależności i równania rekurencyjne Algorytmy rekurencyjne (TEST, sortowanie, wieże Hanoi) 5. Kombinatoryka (podstawowe modele) • • • • • • Kombinacje z n elementów po k bez powtórzeń Kombinacje z n elementów po k z powtórzeniami Wariacje bez powtórzeń i z powtórzeniami Permutacje z n elementów (Pn), dowód że Pn = n! Zasada właczania-wyłączania Zasada szufladowa Dirichleta 6. Kombinatoryka (algorytmy) • • • • • Algorytmy generacji kombinacji, wariacji, permutacji Formuła binoma Newtona i inne ważne formuły analizy kombinatorycznej Dowody podstawowych twierdzeń Przykłady zastosowań modeli kombinatorycznych Funkcje tworzące 7. Grafy • • • • • • Sposoby zapisywania grafów Grafy a relacje Izomorfizm a homomorfizm grafów Twierdzenia o stopniach wierzchołków grafu Regularność, pełność, dwudzielne grafy Spójność, składowe grafu 8. Drogi i cykli w grafie 29 • • • • • • • Twierdzenia o drogach Twierdzenia o cyklach i drodze Eulera Algorytm Fleury’ego konstruowania drogi Eulera Cykl Hamiltona Twierdzenia o grafach hamiltonowskich Algorytm konstruowania drogi Hamiltona Przykłady zagadnień znalezienia cyklów Eulera i Hamiltona 9. Planarność grafów. Wymalowanie grafów • • • • • • • • Twierdzenie o możliwości realizacji dowolnego skończonego grafu w 3D przestrzeni (z dowodem) Twierdzenie Eulera o płanarnych grafach (z dowodem) Twierdzenie Kuratowskiego-Pontrjagina (bez dowodu) Mapa i graf oporny Problem wymalowania mapy z minimalną liczbą kolorów Twierdzenie o czterech barwach Malowanie wierzchołków i żeber grafu Algorytm malowania wierzchołków grafu 10. Grafy skierowane • • • • • • Podstawowe definicje Algorytm Robertsa i Floresa znalezienia cyklu Hamiltona Najkrótsze drogi w grafie Algorytm Forda-Bellmana Algorytm Dijkstry Grafy z etykietkami 11. Drzewa i lasy. Oszacowania liczby grafów • • • • • • Algorytm TEST DRZEWA Twierdzenie o istnieniu drzewa spinającego (z dowodem) Drzewa z wyróżnionym korzeniem Algorytmy przeszukiwania wierzchołków grafu Oszacowanie liczby drzew i lasów (z dowodem) Oszacowania liczby grafów 12. Algebra Boole’a • • • • • • Obiekty i operacje Tablicy prawdy Funkcje Boole'a jako modeli Prawa logiczne i formuły Podstawowe tautologie Przetwarzania formuł do postaci normalnej (PNAK, PNKA) 13. Funkcje Boole’a (FB) • • Problem zupełności układów FB Klasy zamknięte 30 • • • • Twierdzenie Posta o zupełności układu FB Metoda Kuajna-McKlaski budowania minimalnej PNAK Realizacja FB sieciami z bramek ({NOT, OR, AND}, {NOR} i tp) Schemat porównania (komparator) i sumator 14. Kodowanie optymalne • • • • Kody alfabetyczne. Optymalny kod Huffmana Metoda Shannona-Fano Specjalne metody kodowania do redukcji plików 15. Kody wykrywające i korygujące błędy • • • • • • Kod z kontrolą parzystości liczby jedynek Kody ze stałą liczbą jedynek Kodowanie przez powtarzanie Kod Hamminga Twierdzenie Shannona (bez dowodu) Kody do korygowania kilku błędó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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wstępne zajęcie • • • Język matematyki dyskretnej Omówienie typów zadań na ćwiczeniach Rozwiązywanie zagadnień za pomocą modeli zbiorowych 2. Algorytmy • • • Obliczenie wartości ciągu za pomocą algorytmu Generowania prostych algorytmów, algorytm generowania liczb losowych Porównania algorytmów 3. Algebra zbiorów 31 • • • Formuły algebry zbiorów, prawa algebry zbiorów Diagramy Venna Dowody twierdzień algebry zbiorów 4. Relacje • • • • Iloczyn kartezjański, charakterystyki relacji Relacja równoważności Relacje porządku Funkcje 5. Indukcja matematyczna ( dowody) • • • Zasady skończonei i nieskończonej indukcji Dowody indukcylne (równości, nierówności) Dowód twierdzenia o liczbe słów dwójkowych 6. Modele rekurencyjne • • • Definicje rekurencyjne, równania rekurencyjne, wzór na n-ty wyraz Generowanie definicji rekurencyjnych dla wybranych ciągów Algorytmy rekurencyjne (TEST, wieże Hanoi) 7. Analiza kombinatoryczna • • • Podstawowe modele kombinatoryczne (kombinacje, wariacje, permutacje) Współczynniki Newtona, trójkąt Paskala Rozwiąsywanie praktycznych zagadnień 8. Kombinatoryka (podstawowe techniki zliczania) • • • Algorytmy generowania kombinacji Algorytmy generowania permutacji Ważne formuły analizy kombinatorycznej 9. Grafy (sposoby zapisywania, właściwości), izomorfizm a homomorfizm • • • Podstawowe sposoby zapisywania grafów Ustalenie izomorficzności grafów Homomorficzność grafów 10. Znalezienie dróg i cyklów Eulera • • • Zastosowania twierdzenia Eulera Drogi i cykli Eulera Algorytm Fleury’ego do znalezienia dróg Eulera 11. Znalezienie dróg i cyklów Hamiltona • • Twierdzenia o cyklach Hamiltona Algorytm znalezienia drogi Hamiltona 32 • Przykłady rozwiązywania problemu komiwojażera 12. Malowanie wierzchołków grafu • • Sprowadzienie problemu wymalowania mapy i krawiędzi do problemu wymalowania wierzchołków grafu Algorytm (pełnych podgrafów) wymalowania wierzchołków grafu 13. Minimalizacja funkcji Boole'a (FB) • • • Sposoby zapisu FB (tablicowe, analityczne. gemetryczne), podstawowe prawa rachunku zdań Przekształcenia formuł do PNAK i PNKA, absolutna, skrócona i minimalna PNAK Metoda Kuajna-McKlaski budowania MAK 14. Znalezienie optymalnego nakrycia macierzy Boole’a • • • • Budowanie macierzy Bool’a (MB) Istotne wiersze Nakrycie wiersza wierszem, nakrycie kolumny wierszem Algorytmy (Petrik, Zakrewski) minimalnego nakrycia kolumn MB wierszami 15. Kodowanie. • • • Algorytm Huffmana optymalnego kodowania słów w {0,1} Algorytm dekodowania Zaliczenie ćwiczeń (test kontrolny). ZALICZENIE LABORATORIUM Zaliczenie ćwiczeń będzie przeprowadzone na podstawie wyników uzyskanych w jednym kolokwium. Maksymalnie można uzyskać 100 punktów. Ocena końcowa z ćwiczeń, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. Kenneth A. Ross, Charles R.B.Wright.: Matematyka dyskretna. W-wa 2000, PWN. Michal Marczak.: Matematyka dyskretna dla finansistów. Siedlce 2003, AP. W.Lipski: Kombinatoryka dla programistów. WNT. Новиков Ф.А. Дискретная математика для программистов.Учебник для вузов. СПб. Питер 2004. 5. Andrzej Szepietowski. Matematyka dyskretna. W-wo GU. Gdańsk, 2004. 33 Kierunek: Informatyka Przedmiot: Podstawy elektroniki Electronics Fundamentals Czas trwania: semestr 1 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Wiaczesław Szamow 30 egzamin Laboratorium dr Wiaczesław Szamow prof. dr hab. Teresa Tymieniecka 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Wymagana jest znajomość matematyki i fizyki na poziomie szkoły średniej. ZAŁOŻENIA I CELE Celem głównym wykładu jest omówienie podstawowych pojęć teoretycznych stosowanych w elektronice takich jak : aktywne i pasywne elementy elektroniczne, prawa teorii obwodów, elementy półprzewodnikowe, filtry, wzmacniacze, generatory . Celem laboratorium jest nauka obsługi typowych urządzeń elektronicznych, zdobycie umiejętności łączenia prostych układów i utrwalanie pojęć wprowadzonych podczas wykładu. WYKŁAD 1. Pola i prądy elektryczne. • • • ładunki elektryczne, wektor natężenia pola elektrycznego, praca w polu elektrycznym, potencjał i napięcie elektryczne, pochodna funkcji, natężenie prądu 2. Przebiegi elektryczne. • • • napięcia przemienne, przebiegi prostokątny, trójkątny i impulsowy, parametry kształtu, moc prądu, wartość średnia i skuteczna napięcia 3. Liniowe elementy elektroniczne. 34 • • • sieci elektryczne i prawa Kirchhoffa, dwójniki i czwórniki, opornik, kondensator i cewka 4. Łączenie elementów. Źródła napięciowe i źródła prądowe. • • • szeregowe i równoległe łączenie elementów, dzielnik napięcia, transformator, źródła napięciowe i źródła prądowe 5. Rachunek wskazowy. • • • liczby zespolone i działania na nich, postać wskazowa przebiegów harmonicznych, moc czynna i moc bierna 6. Filtry RC. • • • impedancja, admitancja i zawada, transmitancja widmowa i pasmo przenoszenia, filtry RC 7. Półprzewodniki. • • • półprzewodnictwo samoistne, półprzewodniki domieszkowane typu p i n, złącze p-n 8. Diody prostownicze i prostowniki. • • • diody prostownicze i ich parametry, prostownik jednopołówkowy prostownik dwupołówkowy 9. Inne typy diod półprzewodnikowych. • • • dioda Zenera, dioda tunelowa, dioda LED 10. Tranzystory i układy scalone. • • • tranzystory warstwowe, tranzystory polowe, układy scalone 11. Tranzystor jako wzmacniacz sygnałów. • • • charakterystyki i parametry tranzystora warstwowego dobór punktu pracy tranzystora, wzmacniacze klasy A, B, C 35 12. Typy wzmacniaczy. • • • układy pracy WE, WB, WK, wzmacniacz przeciwsobny, wzmacniacze różnicowe i operacyjne 13. Sprzężenie zwrotne. • • • sprzężenie zwrotne ujemne i dodatnie, funkcja przenoszenia układu ze sprzężeniem zwrotnym, stabilizacja napięcia 14. Analogowe układy realizujące operacje matematyczne. • • • wzmacniacz operacyjny ze sprzężeniem zwrotnym, układy realizujące dodawanie i odejmowanie, układy różniczkujący i całkujący 15. Generatory i przerzutniki. • • generacja przebiegów sinusoidalnych, generator Meissnera, przerzutniki astabilny, monostabilny i bistabilny ZALICZENIE WYKŁADU Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 30 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 0-15 pkt. 16-28 pkt. 19-21 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 22-24 pkt. 25-27 pkt. 28-30 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wprowadzenie do laboratorium podstaw elektroniki • • zapoznanie z przepisami BHP i systemem jednostek SI metody szacowania błędu, działanie amperomierza i woltomierza analogowego 2. Badanie zjawiska rozładowania kondensatora i układu różniczkującego RC • • Badanie przy pomocy zestawu komputerowego Coach procesu rozładowania kondensatora Badanie działania układu różniczkującego RC 3. Badanie dolnoprzepustowego filtru RC 36 • • Wyznaczanie charakterystyki amplitudowej filtru RC przy użyciu oscyloskopu dwukanałowego Wyznaczanie charakterystyki fazowej filtru RC przy użyciu oscyloskopu dwukanałowego 4. Badanie obwodu rezonansowego RLC • • • Wyznaczanie krzywej rezonansowej, Wyznaczanie częstotliwości rezonansowej Wyznaczanie dobroci obwodu RLC. 5. Wyznaczanie charakterystyk i parametrów diod półprzewodnikowych • • Pomiar charakterystyk prądowo-napięciowych w kierunku przewodzenia i zaporowym różnych diód półprzewodnikowych. Wyznaczanie oporności statycznej i dynamicznej badanych diód. 6. Wyznaczanie charakterystyk i parametrów tranzystora warstwowego • • Pomiar charakterystyki przejściowej i wyjściowej tranzystora pnp. Obliczanie wzmocnienia prądowego i oporności statycznej zależnie od wysterowania tranzystora. 7. Badanie prostowników jedno- i dwupołówkowego • • Mierzenie przebiegów napięciowych na wyjściu prostowników jedno- i dwupołówkowego z włączonym i wyłączonym filtrem RC Wyznaczanie współczynnika tętnień. 8. Badanie generatora funkcyjnego za pomocą oscyloskopu cyfrowego • • Mierzenie przebiegów napięciowych o różnych kształtach Wyznaczanie parametrów przebiegu: wartość średnia, wartość skuteczna, amplituda, napięcie międzyszczytowe itd. 9. Badanie wzmacniacza operacyjnego za pomocą programu komputerowego PSpice • • Badanie wzmacniacza operacyjnego przy użyciu programu komputerowego Pspice Wyznaczanie wzmocnienia, pasma przenoszenia i odpowiedzi przejściowej LM324 z ujemnym sprzężeniem zwrotnym. 10. Zaliczenie laboratorium • • Odrabianie zaległych ćwiczeń Poprawa niezaliczonych laboratorió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 37 pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen uzyskanych za sprawozdania z poszczególnych zajęć oraz kolokwium. 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. Zakres zadań dla studentów do przygotowania i wykonania na zajęciach określone są w instrukcjach do poszczególnych ćwiczeń. Maksymalnie można uzyskać 50 punktów. Ocena końcowa z ćwiczeń, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-25 pkt. 26-30 pkt. 31-35 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 36-40 pkt. 41-45 pkt. 46-50 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. P.Horowitz, W.Hill,Sztuka elektroniki,tom1 i 2,WKiŁ, W-wa, 1993 2. S.Osowski, K.Siwek, M.Śniałek,Teoria obwodów,OWPW, W-wa, 2006 3. M.Rusek, J.Pasierbiński,Elementy i układy elektroniczne w pytaniach i odpowiedziach WN-T, W-wa, 2007 4. D.Halliday, R.Resnick, J.Walker,Podstawy fizykitom3 i 5, PWN, W-wa 2003 5. S. Bolkowski, Teoria obwodów elektrycznych, Wydawnictwa Naukowo Techniczne, Warszawa 1995 6. P. Kaźmierkowski, J. Matysik, Wprowadzenie do elektroniki i energoelektroniki, Oficyna Wydawnicza PW, Warszawa, 2005 38 Kierunek: Informatyka Przedmiot: Fizyka dla informatyków Physics for Computer Scientist Czas trwania: semestr 1 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład prof. Michael Ałania 21 egzamin Laboratorium mgr Barbara Wybraniec prof. dr hab. Teresa Tymieniecka 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Wymagana jest znajomość matematyki i fizyki na poziomie szkoły średniej. ZAŁOŻENIA I CELE Celem przedmiotu Fizyka dla informatyków jest powtórzenie i rozszerzenie znajomości podstawowych pojęć praw fizyki klasycznej i kwantowej oraz nabycie następujących umiejętności • • • • rozwiązywanie różnych problemów fizycznych; analizowanie i wyjaśnianie obserwowanych zjawisk; tworzenie i weryfikacja modeli świata rzeczywistego oraz posługiwanie się nimi w celu predykcji zdarzeń i stanów. pomiar różnych wielkości fizycznych z uwzględnieniem rachunku błędów. W czasie ćwiczeń laboratoryjnych wykonywane są eksperymenty fizyczne z różnych działów fizyki (niektóre ze wspomaganiem komputerowym). WYKŁAD 1. Mechanika klasyczna: Kinematyka i Dynamika (1) • • • • • Ruch, Wektor, Prędkość, przyspieszenie, przemieszenie I prawo Newtona, II prawo Newtona, Rodzaje sił. III prawo Newtona Masa i pęd ciała, Jednostki i wymiary wielkości fizycznych ( Układ SI ) Prawo zachowania, Wielkości zachowawcze( siły wewnętrzne i zewnętrzne) 39 2. Mechanika klasyczna: Kinematyka i Dynamika (2) • • • • Energia kinetyczna i potencjalna, Praca, Prawo zachowania energii, Prawo zachowania pędu i momentu pędu Powszechna grawitacja, Prędkości kosmiczne, Drgania mechaniczne 3. Mechanika relatywistyczna • • • Szczególna teoria względności Przekształcenia Lorentza, Wnioski z przekształceń Lorentza Pęd i energia cząstki w mechanice klasycznej 4. Mechanika statystyczna i termodynamika (1) • • • • • • Fizyka cząsteczkowa, Masa i rozmiary cząstek Energia wewnętrzna układu Praca wykonana przez ciało w przypadku zmiany objętości Ciśnienie gazu, Temperatura, Stan układu, przemiana Mikrostany i mikrostany, prawdopodobieństwo termodynamiczne, Rozkład Maxwella, Entropia. 5. Mechanika statystyczna i termodynamika (2) • • • • Termodynamika; Zerowa zasada termodynamiki, I zasada termodynamiki II zasada termodynamiki, III zasada termodynamiki Maszyna cieplna, Proces odwracalny i nieodwracalny, Cykl Carnota, sprawność Maszyny cieplnej , Perpetuum mobile 6. Elektro-magnetyzm (1) • • • • • • Pole elektryczne w próżni Ładunek elektryczny, Prawo Coulomba, Pole elektryczne, Natężenie pola Potencjał pola elektrycznego, Związek pomiędzy natężeniem pola i potencjałem Pole elektryczne w dielektrykach, Przewodniki w polu elektrycznym Przewodniki w zewnętrznym polu elektrycznym, Pojemność elektryczna 7. Elektro-magnetyzm (2) • • • • Kondensatory, Energia naładowanego kondensatora, Energia pola elektrycznego Prąd elektryczny, Siła elektromotoryczna, Prawo Ohma, opór przewodników Prawa Kirchhoffa, Moc prądu, Prawo Joule’a- Lenza.Pole magnetyczne w próżni Oddziaływanie prądów, Pole magnetyczne poruszającego się ładunku 8. Elektro-magnetyzm (3) • • • Prawo Biota- Savarta, Siła Lorenza, Prawo Ampere’a, Praca wykonywana przy przemieszczeniu prądu w polu magnetycznym Dywergencja i rotacja pola magnetycznego Pole solenoidu i toroidu, Pole magnetyczne materii, rodzaje magnetyków 40 9. Elektro-magnetyzm (4) • • • Indukcja elektromagnetyczna, Samoindukcja Równanie Maxwella, drgania elektryczne Prąd zmienny, Fala elektromagnetyczna 10. Optyka, Promieniowanie cieplne • • • • • Światło. Optyka geometryczna dyspersja, interferencja, dyfrakcja, polaryzacja światła Soczewka cienka, Lupa, okulary Prawo Kirchhoffa, Prawo Stefana _Boltzmanna i Prawa Wiena. Prawo Rayleigh-Jeansa. Prawo Planka 11. Model atomu Bohra, elementy fizyki kwantowej • • • • Model atomu Thomsona. Jąndrowy model atomu, Postulaty Bobra. Model atomu wodoru Bohra Hipoteza de Broglie'a, Zasada nieoznachonności, Zasada superpozycji, Zakaz Pauliego 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wykonywanie ćwiczeń w pracowni Mechanika • • • • Wyznaczanie gęstości ciał Pomiar natężenia pola grawitacyjnego w Siedlcach przy pomocy modelu wahadła matematycznego Zapoznanie z regulaminem pracowni i przepisami BHP Omówienie sposobu opracowanie danych w formie sprawozdania. Omówienie rachunku błędów 2. Wykonywanie ćwiczeń w pracowni Mechanika (2) • • Pomiar momentu bezwładności przy pomocy wahadła fizycznego Wyznaczanie modułu Younga przez zginanie. 41 3. Wykonywanie ćwiczeń w pracowni Mechanika (3) • • Badanie fal akustycznych. Wahadło sprężynowe. Pomiar pola elipsy energii 4. Wykonywanie ćwiczeń w pracowni Ciepło • • • Sprawdzenie słuszności I zasady termodynamiki Wyznaczanie entalpii układu. Wyznaczanie zależności temperatury wrzenia wody od ciśnienia 5. Wykonywanie ćwiczeń w pracowni Ciepło (2) • • Wyznaczanie objętości przepływającej krwi metodą kalorymetryczną. Wyznaczanie gęstości powietrza metod± Regnaulta. 6. Wykonywanie ćwiczeń w pracowni Ciepło (3) • • • Wyznaczanie stosunku Cp/Cv metodą Clementa - Desormesa. Wyznaczanie ciepła topnienia lodu. Sprawdzanie prawa Boyla-Mariotte'a 7. Wykonywanie ćwiczeń w pracowni Elektryczność • • Wyznaczanie charakterystyki żarówki Wyznaczanie sprawności grzejnika elektrycznego 8. Wykonywanie ćwiczeń w pracowni Elektryczność (2) • • • Pomiar indukcji magnetycznej przy pomocy teslomierza. Wyznaczanie współczynnika indukcji własnej cewki. Badanie zmian ładunku elektrycznego zgromadzonego na okładkach kondensatora 9. Wykonywanie ćwiczeń w pracowni Elektryczność (3) • • • Drgania relaksacyjne Badanie transformatora Pomiar mocy czynnej biernej i pozornej jednofazowego prądu zmiennego. 10. Wykonywanie ćwiczeń w pracowni Optyka • • • Badanie współczynnika załamania Wyznaczanie ogniskowej soczewki cienkiej. Badanie mikroskopu. Pomiary małych długości. 11. Wykonywanie ćwiczeń w pracowni Optyka (2) • • Badanie dyspersji Pomiary przy wykorzystaniu zjawiska interferencji 42 12. Wykonywanie ćwiczeń w pracowni Optyka (3) • • • Dyfrakcja. Polaryzacja Lasery. Zewnętrzne zjawisko fotoelektryczne 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. Student zobowiązany jest wykonać 12 ćwiczeń (3 z mechaniki, 3 z ciepła, 3 z elektryczności i 3 z optyki). Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen cząstkowych uzyskanych z odpowiedzi ustnych z zagadnień teoretycznych dotyczących danego ćwiczenia, za poprawne wykonanie ćwiczenia i opracowania sprawozdania z uwzględnieniem dyskusji błędów. W przypadku usprawiedliwionej nieobecności studenta na laboratorium sposób ich odpracowania określa osoba odpowiedzialna za kurs i jest on podany na pierwszych zajęciach. Na pierwszych ćwiczeniach prowadzący podaje zakres zagadnień teoretycznych dla studentów do przygotowania na każde ćwiczenie. LITERATURA 1. 2. 3. 4. 5. 6. 7. Sawieliew I.W. Kurs Fizyki t.1,2,3 Halliday D.,R. Resnick, Fizyka t1 i t2 Orear J, Fizyka t.1 i2. Januszajtis A, Fizyka t.1 i 2. Dryński T., Ćwiczenia laboratoryjne z fizyki A. Wróblewski i J. Zakrzewski, Wstęp do Fizyki, t. I-II, PWN. K. Wódkiewicz i in., Problemy i zadania z fizyki, PWN. 43 Kierunek: Informatyka Przedmiot: Algebra liniowa Linear Algebra Czas trwania: semestr 2 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Mikołaj Trusz 21 egzamin Ćwiczenia mgr Beata Medak dr hab. Mikołaj Trusz 24 zaliczenie na ocenę Punkty ECTS 6 POZIOM Do studiowania algebry na kierunku informatyka wystarczająca jest wiedza matematyczna na poziomie szkoły średniej. ZAŁOŻENIA I CELE Podstawowym celem wykładu jest zapoznanie studentów ze strukturami algebraicznymi takimi jak: grupa, pierścień, ciało, przestrzeń wektorowa, operacjami macierzowymi, przekształceniami liniowymi, układami równań liniowych, arytmetyką modularną. Wprowadza się również elementy geometrii analitycznej oraz rozwiązuje wybrane problemy obliczeniowe. WYKŁAD 1. Podstawowe struktury algebraiczne. Ciało liczb zespolonych. • • • • Definicja grupy, pierścienia, ciała. Przykłady. Definicja ciała liczb zespolonych. Sprzężenie, moduł, argument liczby zespolonej. Pierwiastki n-tego stopnia z liczb zespolonych. 2. Pierścień wielomianów. Macierze. • • Zasadnicze twierdzenie algebry. Pierwiastki wielomianu. Schemat Hornera. Definicja macierzy. Działania na macierzach. Transponowanie macierzy. 3. Wyznacznik macierzy kwadratowej. 44 • • • Permutacje, rozkład permutacji na cykle rozłączne, znak permutacji. Definicja wyznacznika macierzy, podstawowe własności. Rozwinięcie Laplace’a. 4. Macierze odwracalne. • • • Odwracanie macierzy. Definicja rzędu macierzy. Przykłady. 5. Układy równań liniowych. • • • • Twierdzenie Kroneckera – Capellego. Układy Cramera. Układy jednorodne. Metoda eliminacji Gaussa. 6. Przestrzeń liniowa. • • • Definicja przestrzeni liniowej. Definicja podprzestrzeni liniowej. Przykłady. 7. Baza przestrzeni liniowej. • • • Kombinacja liniowa wektorów. Liniowa zależność i niezależność wektorów. Baza i wymiar przestrzeni liniowej. 8. Przekształcenia liniowe. • • • • Definicja przeksztalcenia liniowego. Jądro i obraz przekształcenia liniowego. Macierz przekształcenia liniowego w bazie. Macierz przejścia od bazy do bazy. 9. Elementy geometrii analitycznej. • • Iloczyn skalarny, wektorowy i mieszany. Proste i płaszczyzny w R3. 10. Wektory i wartości własne. • • Definicja wektorów i wartości własnych. Macierz przekształcenia liniowego w bazie złożonej z wektorów własnych. 11. Arytmetyka modularna. • • • Grupy i pierścienie Zn, podgrupy i podpierścienie. Twierdzenie Lagrange'a. Konstrukcja grupy ilorazowej. 45 • Małe twierdzenie Fermata. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Ciało liczb zespolonych. • • • Sprzężenie, moduł. Argument liczby zespolonej. Interpretacja geometryczna. 2. Obliczenia związane z liczbami zespolonymi. Macierze. • • • • Pierwiastki n-tego stopnia z liczb zespolonych. Rozkład wielomianu na czynniki, krotność pierwiastka. Schemat Hornera. Podstawowe działania macierzowe. Transponowanie macierzy. 3. Wyznacznik macierzy kwadratowej. • • • Wyznaczniki macierzy 3 x 3. Podstawowe własności wyznaczników. Rozwinięcie Laplace’a. 4. Macierze odwracalne. • • Wzór na macierz odwrotną. Rząd macierzy. 5. Układy równań liniowych. • • Twierdzenie Kroneckera – Capellego, Układy Cramera. 6. Układy równań liniowych c.d. • • Układy jednorodne. Metoda eliminacji Gaussa. 46 7. Przestrzeń liniowa. • • Przykłady przestrzeni liniowych. Podprzestrzenie liniowe. 8. Baza przestrzeni liniowej. • • • Kombinacja liniowa wektorów. Liniowa zależność i niezależność wektorów. Baza i wymiar przestrzeni liniowej. 9. Przekształcenia liniowe. • • • • Definicja przekształcenia liniowego. Jądro i obraz przekształcenia liniowego. Macierz przekształcenia liniowego w bazie. Macierz przejścia od bazy do bazy. 10. Elementy geometrii analitycznej. • • Iloczyn skalarny, wektorowy i mieszany. Proste i płaszczyzny w R3. 11. Wektory i wartości własne. • • Obliczanie wektorów i wartości własnych, Macierz przekształcenia liniowego w bazie złożonej z wektorów własnych. 12. Arytmetyka modularna. • • • Grupy i pierścienie Zn, podgrupy i podpierścienie, Twierdzenie Lagrange’a, Konstrukcja grupy ilorazowej. ZALICZENIE LABORATORIUM Zaliczenie ćwiczeń będzie przeprowadzone na podstawie wyników uzyskanych w jednym kolokwium. Maksymalnie można uzyskać 100 punktów. Ocena końcowa z ćwiczeń, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LITERATURA 47 Ocena db (C) db+ (B) bdb (A) 1. J. Klukowski, I. Nabiałek , Algebra dla studentów, Wydawnictwa NaukowoTechniczne, Warszawa 1999. 2. S. Przybyło, A. Szlachtowski, Algebra i wielowymiarowa geometria analityczna w zadaniach,Wydawnictwa Naukowo – Techniczne, Warszawa 1993. 3. W. Dubnicki, L. Filus, H. Sosnowska, Algebra liniowa w zadaniach, PWN, Warszawa 1985. 4. G. Banaszak, W. Gajda, Elementy algebry liniowej, cz. I, II, Wydawnictwa NaukowoTechniczne, Warszawa 2002. 5. A. Białynicki Birula. Algebra, PWN, Warszawa 1976. 6. B. Gleichgewicht, Algebra – Podręcznik dla kierunków nauczycielskich studiów matematycznych, PWN, Warszawa 1983. 7. E. Kącki, D. Sadowska, L. Siewierski, Geometria analityczna w zadaniach, PWN, Warszawa 1975. 8. W. Stankiewicz, Zadania z matematyki dla wyższych uczelni technicznych, cz. I.A, PWN, Warszawa 1986. 48 Kierunek: Informatyka Przedmiot: Podstawy techniki cyfrowej Digital Circuits Fundamentals Czas trwania: semestr 2 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Marek Siłuszyk 30 egzamin Laboratorium mgr Arkadiusz Wysokiński dr Marek Siłuszyk 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Fizyka dla informatyków Matematyka dyskretna Podstawy elektroniki lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest przekazanie podstawowego zasobu wiedzy z zakresu Techniki Cyfrowej. Treści wykładu obejmują następujące zagadnienia:Systemy liczbowe i kody. Arytmetyka dwójkowa. Algebra Boole’a. Układy kombinacyjne. Układy sekwencyjne. Cyfrowe układy scalone. Praktyka projektowania układów kombinacyjnych. Praktyka projektowania układów sekwencyjnych. Układy programowalne. Pamięci półprzewodnikowe. Wstęp do mikroprocesorów. Konwersja ac i ca. Zakres minimalnych wymagań odnośnie wiedzy i umiejętności po ukończeniu przedmiotu przez studenta: Znajomość podstawowych kodów logicznych i operacji arytmetycznych. Znajomość podstawowych układów logicznych i projektowania prostych układów kombinacyjnych i sekwencyjnych. Znajomość podstawowych cyfrowych układów scalonych, pamięci półprzewodnikowych oraz podstaw organizacji mikroprocesora. Zajęcia laboratoryjne mają na celu praktyczną weryfikację, ugruntowanie i poszerzenie nabytej wiedzy teoretycznej oraz kształtowanie umiejętności praktycznych łączenia układów pomiarowych, poprawnego odczytywania wyników i prowadzenia odpowiedniej 49 dokumentacji pomiarów. Kształtowanie umiejętności metrologicznych, takich jak: prawidłowe zaplanowanie pomiarów celem przeprowadzenia doświadczenia, poprawna organizacja stanowiska pomiarowego i właściwa eksploatacja aparatury oraz ocena i dyskusja wyników pod względem ich wiarygodności. Zapoznanie studentów z układami cyfrowymi klasy TTLS, stosowanymi strukturami układów cyfrowych, a także metodyką projektowania urządzeń cyfrowych na poziomie stosowania bloków funkcjonalnych. Oczekuje się, że uczestnictwo w zajęciach pozwoli studentom na wykonywanie samodzielnych projektów z użyciem cyfrowych układów scalonych oraz interpretację i dyskusję otrzymanych w trakcie badań wyników. WYKŁAD 1. Wprowadzenie do wykładu • • Program, wymagania, literatura, zaliczenie Aplikacja PSpice – podstawowe dane, składnia, praca z programem 2. Systemy liczbowe • • Informacja, sygnał analogowy i sygnał cyfrowy, Systemy: dziesiętny, dwójkowy, 3. Arytmetyka dwójkowa • • Kody naturalne, kod BCD, Kodowanie tekstów (kod ASCII), 4. Dwuelementowa algebra Boole’a • • • Funkcje i wyrażenia boolowskie, Zmienne i operacje logiczne, Aksjomaty algebry Boole’a i prawa de Morgana, 5. Minimalizacja funkcji logicznych • • Funkcje logiczne, tablice Karnaugha, Realizacja funkcji logicznych, 6. Elementarne układy logiczne: bramki • • Podział układów logicznych, Układy iteracyjne, 7. Układy sekwencyjne: struktury i metody opisu • • Synchroniczne układy sekwencyjne, Automaty asynchroniczne, 8. Logika przerzutników 50 • • Przerzutniki asynchroniczne, Przerzutniki synchroniczne, parametry dynamiczne, 9. Podstawy syntezy sekwencyjnych układów synchronicznych • • Przerzutniki monostabilne, Układy uzależnień czasowych, wyzwalające 10. Przykładowe realizacje układów sekwencyjnych • • Programowalny układ czasowy, Rejestry, liczniki, minimalizacja liczby układów scalonych 11. Układy komutacyjne i konwersji kodów • • Multipleksery i demultipleksery, Przetworniki kodów, 12. Rejestry scalone • • Rejestry równoległe, Rejestry przesuwające 13. Liczniki i układy zliczające: struktura i zastosowania • • Scalone liczniki asynchroniczne, Scalone liczniki synchroniczne 14. Układy arytmetyczne • • Sumatory, subtraktory i komparatory Funkcje arytmetyczne 15. Układy programowalne • • Urządzenia wykorzystujące układy cyfrowe Czasomierz 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. 51 Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Zajęcia wstępne – wprowadzenie do ćwiczeń laboratoryjnych • • • • • Zapoznanie z Regulaminem Pracowni oraz Zasadami BHP Wprowadzenie do Programu PSpice Modelowania układów cyfrowych Platforma - Instrukcja obsługi Sprawdzenie poprawności działania podstawowych bramek logicznych: NOT, AND, OR 2. Tworzenie układów – sieci kombinacyjnych zbudowanych z bramek logicznych: NOT, AND, OR, NAND, NOR, XOR • • Wirtualne zaprojektowanie układu w Programie PSpice Sprawdzenie poprawności działania układu cyfrowego na Platformie 3. Sprawdzenie poprawności działania przerzutników • • Wirtualne zaprojektowanie przerzutników w Programie PSpice Sprawdzenie poprawności działania przerzutników na Platformie 4. Projektowanie i badanie koderów i dekoderów • • Wirtualne zaprojektowanie koderów i dekoderów w Programie PSpice Sprawdzenie poprawności działania koderów i dekoderów na Platformie 5. Projektowanie i badanie multiplekserów i demultiplekserów • • Wirtualne zaprojektowanie (de)/multiplekserów w Programie PSpice Sprawdzenie poprawności działania (de)/multiplekserów na Platformie 6. Projektowanie i badanie rejestrów równoległych i przesuwających • • Wirtualne zaprojektowanie rejestrów równoległych i przesuwających w Programie PSpice Sprawdzenie poprawności działania rejestrów równoległych i przesuwających na Platformie 7. Projektowanie i badanie liczników synchronicznych i asynchronicznych • • Wirtualne zaprojektowanie liczników a/synchronicznych w Programie PSpice Sprawdzenie poprawności działania a/synchronicznych na Platformie 8. Projektowanie i badanie układów arytmetycznych: sumatorów i komparatorów • • Wirtualne zaprojektowanie sumatorów i komparatorów w Programie PSpice Sprawdzenie poprawności działania sumatorów i komparatorów na Platformie 9. Zajęcia demonstracyjne oraz sprawdzające całość materiału 52 • • Demonstracje ciekawych, złożonych układów cyfrowych Kolokwium zaliczające Laboratorium z Podstaw Techniki Cyfrowej 10. Podsumowanie. Zaliczenie przedmiotu • • • Termin dodatkowy umożliwiający wykonanie zaległego ćwiczenia Termin dodatkowy na Poprawkowe Kolokwium zaliczające Podsumowanie wyników, wpisy do indeksu ZALICZENIE LABORATORIUM Zaliczenie odbywa się na podstawie ocenianych sprawozdań z ćwiczeń, wyników z kolokwium (obowiązują również treści omawiane na wykładzie) i oceny zaangażowania studentów na zajęciach. Z każdych ćwiczeń można uzyskać maksymalnie 5 pkt, student musi wykonać przynajmniej 6 ćwiczeń (jeżeli wykona więcej oceny z 2 najgorszych nie będą brane pod uwagę), z kolokwium można uzyskać do 15 pkt i do 5 pkt za zaangażowanie na zajęciach. Można więc uzyskać maksymalnie 50 pkt, ocena pozytywna (zaliczenie przedmiotu) od 26 pkt. Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-50 pkt. Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 1. Gajewski P., Turczyński J., Cyfrowe układy scalone CMOS, WKiŁ, Warszawa 1990. 2. Kalisz J., Podstawy elektroniki cyfrowej, WKiŁ, Warszawa 2002. 3. Łakomy M., Zabrodzki I., Cyfrowe układy scalone, PWN, Warszawa 1980. 4. Majewski W., Układy logiczne, WNT, Warszawa 1999. 5. Misiurewicz P., Podstawy techniki cyfrowej, WNT, Warszawa 1992. 6. Pieńkos J., Turczyński: J. „Układy cyfrowe TTL w systemach cyfrowych". WKiŁ, Wwa, 1986. 7. Skorupski A., Podstawy budowy i działania komputerów, WKiL 1998. 8. Willkinson B., Układy cyfrowe, WKiL 2000 9. Traczyk W., Układy cyfrowe. Podstawy teoretyczne i metody syntezy, WNT,. Warszawa 1982. 53 Kierunek: Informatyka Przedmiot: Metody probabilistyczne i statystyka Probabilistic Methods and Statistics Czas trwania: semestr 3 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Mikołaj Trusz 30 egzamin Ćwiczenia dr hab. Mikołaj Trusz 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • Analiza matematyczna lub znajomość literatury obowiązującej w tym przedmiocie. ZAŁOŻENIA I CELE Celem głównym wykładu jest zapoznanie studenta z zagadnieniami związanymi z rachunkiem prawdopodobieństwa, statystyki matematycznej i procesami stochastycznymi.Efektami kształcenia są następujęce umiejętności: • • • • • obliczanie prawdopodobiestwa zdarzeń, wartości oczekiwanej, wariancji i odchylenia standardowego; analiza algorytmów pod względem średniego zachowania; obliczanie niezawodności prostych układów sprzętowych i systemów programowych; zastosowanie koncepcji procesów stochastycznych do analizy wydajności prostych układów sprzętowo-programowych; przeprowadzanie prostego wnioskowania statystycznego. Ćwiczenia będą dotyczyły treści przedstawionych na wykładzie. WYKŁAD 1. Zdarzenia losowe. • Przestrzeń zdarzeń elementarnych. 54 • • • • Działania na zdarzeniach. Układ zupełny zdarzeń. Zdarzenia losowe w skończonej przestrzeni zdarzeń elementarnych. Zdarzenia losowe w n-wymiarowej przestrzeni euklidesowej. 2. Rozkład prawdopodobieństwa. • • • Aksjomaty rachunku prawdopodobieństwa. Prawdopodobieństwo zdarzeń. Własności prawdopodobieństwa. 3. Przestrzeń probabilistyczna. • • • Klasyczna definicja prawdopodobieństwa. Prawdopodobieństwo geometryczne. Rozkład prawdopodobieństwa w przestrzeni euklidesowej Rn. 4. Prawdopodobieństwo warunkowe. • • • Zdarzenia niezależne. Twierdzenie o prawdopodobieństwie zupełnym. Wzór Bayesa. 5. Zmienna losowa. • • • • Rozkład prawdopodobieństwa zmiennej losowej. Dystrybuanta. Zmienne losowe typu skokowego i typu ciągłego. Funkcje zmiennej losowej. 6. Charakterystyki liczbowe zmiennych losowych. • • Wartość oczekiwana. Momenty. 7. Charakterystyki liczbowe zmiennych losowych. • • Wariancja, odchylenie standardowe. Kwantyle. Mediana. 8. Funkcje charakterystyczne. • • Własności funkcji charakterystycznej. Twierdzenie Levy’ego. 9. Niektóre zmienne losowe typu skokowego. • • • • Rozkład dwumianowy. Rozkład hipergeometryczny. Rozkład geometryczny. Rozkład Poissona. 55 10. Niektóre zmienne losowe typu ciągłego. • • • • Rozkład jednostajny. Rozkład normalny. Rozkład wykładniczy. Rozkład Gamma. 11. Zmienne losowe wielowymiarowe. • • • • Rozkład prowdopodobieństwa. Dystrybuanta. Wielowymiarowa zmienna losowa typu skokowego. Wielowymiarowa zmienna losowa typu ciągłego. 12. Przypadek dwuwymiarowy. • • • • • • • Rozkłady brzegowe. Rozkłady warunkowe. Kowariancja. Współczynnik korelacji. Zmienne losowe niezależne. Charakterystyki liczbowe. Funkcja charakterystyczna. 13. Ciągi zmiennych losowych. • • • Rodzaje zbieżności ciągów losowych. Prawa wielkich liczb. Centralne twierdzenia graniczne. 14. Elementy statystyki matematycznej. • • • • • Parametry empiryczne zmiennej losowej. Rozkłady prawdopodobieństwa występujące w statystyce. Estymatory nieobciążone. Estymatory zgodne. Metody uzyskiwania estymatorów. 15. Elementy procesów stochactycznych. • • Wartość przeciętna. Wariancja. Funcja kowariancyjna Proces Poissona. Proces Wienera. Procesy Markowa. 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 56 Ocena 0-50 pkt. 51-60 pkt. 61-70 pkt. ndst (F) dst (E) dst+ (D) 71-80 pkt. 81-90 pkt. 91-100 pkt. db (C) db+ (B) bdb (A) LABORATORIUM 1. Zdarzenia losowe. • • • • • Przestrzeń zdarzeń elementarnych. Działania na zdarzeniach. Układ zupełny zdarzeń. Zdarzenia losowe w skończonej przestrzeni zdarzeń elementarnych. Zdarzenia losowe w n-wymiarowej przestrzeni euklidesowej. 2. Rozkład prawdopodobieństwa. • • • Aksjomaty rachunku prawdopodobieństwa. Prawdopodobieństwo zdarzeń. Własności prawdopodobieństwa. 3. Przestrzeń probabilistyczna. • • • Klasyczna definicja prawdopodobieństwa. Prawdopodobieństwo geometryczne. Rozkład prawdopodobieństwa w przestrzeni euklidesowej Rn. 4. Prawdopodobieństwo warunkowe. • • • Zdarzenia niezależne. Twierdzenie o prawdopodobieństwie zupełnym. Wzór Bayesa. 5. Zmienna losowa. • • • • • Rozkład prawdopodobieństwa zmiennej losowej. Dystrybuanta. Gęstość prawdopodobieństwa. Zmienne losowe typu skokowego i typu ciągłego. Funkcje zmiennej losowej. 6. Charakterystyki liczbowe zmiennych losowych. • • Wariancja, odchylenie standardowe. Kwantyle. Mediana. 7. Funkcje charakterystyczne. • Własności funkcji charakterystycznej. 57 • Twierdzenie Levy’ego. 8. Niektóre zmienne losowe typu skokowego. • • • • Rozkład dwumianowy. Rozkład hipergeometryczny. Rozkład geometryczny. Rozkład Poissona. 9. Niektóre zmienne losowe typu ciągłego. • • • • Rozkład jednostajny. Rozkład normalny. Rozkład wykładniczy. Rozkład Gamma. 10. Zmienne losowe wielowymiarowe. • • • • Rozkład prowdopodobieństwa. Dystrybuanta. Wielowymiarowa zmienna losowa typu skokowego. Wielowymiarowa zmienna losowa typu ciągłego. 11. Przypadek dwuwymiarowy. • • • • • • • Rozkłady brzegowe. Rozkłady warunkowe. Kowariancja. Współczynnik korelacji. Zmienne losowe niezależne. Charakterystyki liczbowe. Funkcja charakterystyczna. 12. Ciągi zmiennych losowych. • • • Rodzaje zbieżności ciągów losowych. Prawa wielkich liczb. Centralne twierdzenia graniczne. 13. Elementy statystyki matematycznej. • • • • • Parametry empiryczne zmiennej losowej. Rozkłady prawdopodobieństwa występujące w statystyce. Estymatory nieobciążone. Estymatory zgodne. Metody uzyskiwania estymatorów. 14. Elementy procesów stochactycznych. • • Wartość przeciętna. Wariancja. Funcja kowariancyjna. Gęstość spektralna. 58 • Proces Poissona. Proces Wienera. Procesy Markowa. 15. Zaliczenie zajęć • • Kolokwium Praca indywidualna ZALICZENIE LABORATORIUM Zaliczenie ćwiczeń będzie przeprowadzone na podstawie wyników uzyskanych w jednym kolokwium. Maksymalnie można uzyskać 100 punktów. Ocena końcowa z ćwiczeń, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. A. Plucińska, E. Pluciński. Rachunek prawdopodobieństwa. Statystyka matematyczna. Procesy stochastyczne . WNT, Warszawa, 2002. 2. M. Krzyśko. Statystyka matematyczna.Wydanie II poprawione, Wyd. Nayk. UAM. Poznań, 2004. 3. A.D. Wentzell. Wykłady z teorii procesów stochastycznych. Warszawa, PWN, 1980. 4. H. Cramer. Metody matematyczne w statystyce. PWN, Warszawa, 1958. 5. W. Feller. Wstęp do rachunku prawdopodobieństwa, PWN, Warszawa, 2006. 6. L. Gajek, M. Kałuszka. Wnioskowanie statystyczne. Modele i metody.. WNT, Warszawa, 2000. 7. G.E.R. Box, G.M. Jenkins. Analiza szeregów czasowych. Warszawa, PWN, 1983. 59 Kierunek: Informatyka Przedmiot: Podstawy miernictwa Electronic Measuring Fundamentals Czas trwania: semestr 3 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Wiaczesław Szamow 21 egzamin Laboratorium mgr Arkadiusz Wysokiński dr Wiaczesław Szamow 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • podstawy elektroniki podstawy techniki cyfrowej lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest omówienie podstawowych technik pomiarowych wielkości elektrycznych i nieelektrycznych stosowanych w miernictwie elektronicznym. Celem laboratorium jest nauka metod pomiarowych oraz opanowanie obsługi nowoczesnych mierników analogowych i cyfrowych. WYKŁAD 1. System jednostek SI • • • układ jednostek SI, jednostki pochodne, krotność jednostek, wzorce jednostek elektrycznych i czasu, organizacja działania GUM 2. Elementy teorii błędów. • źródła i rodzaje błędów, 60 • • statystyczna metoda szacowania błędów, rozkład błędów Gaussa, szacowanie błędów metodą różniczki zupełnej, 3. Podstawowe mierniki analogowe. • • • zakres pomiarowy, rozdzielczość i klasa przyrządu, mierniki elektromechaniczne, inne typy mierników analogowych 4. Mostki i układy kompensacyjne. • • • mostek stało i zmiennoprądowy, układy kompensacyjne, układy komparacyjne 5. Pomiary cyfrowe. • • • przetwarzanie analogowo-cyfrowe, przetwarzanie cyfrowo-analogowe, woltomierz cyfrowy i multimetr 6. Mierniki częstotliwości i generatory funkcyjne. • • • pomiary wielkości nieelektrycznych, pomiary czasu, generatory funkcyjne 7. Oscyloskopy. • • • działanie oscyloskopu analogowego, oscyloskop cyfrowy, analiza matematyczna zarejestrowanych przebiegów 8. Czujniki klasyczne. • • • pomiary wielkości nieelektrycznych, tensometry, czujniki akustyczne i temperaturowe 9. Detektory. • • • fale akustyczne i elektromagnetyczne, detektory ultradźwiękowe, detektory optyczne 10. Komputerowe systemy pomiarowe. • • • czujniki inteligentne, rejestratory, interfejsy 61 11. Komputerowe systemy pomiarowe c.d. • • karty komputerowe programy pomiarowe ZALICZENIE WYKŁADU Przedmiot kończy się kolokwium zaliczającym, na którym można uzyskać maksymalnie 30 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 0-15 pkt. 16-18 pkt. 19-21 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 22-24 pkt. 25-27 pkt. 28-30 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Cechowanie multimetra miernikami analogowymi. • • Cechowanie multimetra miernikami klasy 0.2 Badanie wpływu oporności wewnętrznej na wyniki pomiarów 2. Pomiary statystyczne serii oporników • • Badanie wpływu częstotliwości na pojemność i impedancję kondensatorów Badanie rozkładu Gaussa dla serii oporników 3. Badanie przebiegów napięciowych za pomocą multioscyloskopu • • Badanie zjawiska dudnień Badanie krzywych Lissajous 4. Badanie tranzystorowego wzmacniacza różnicowego • • Wyznaczanie podstawowych parametrów wzmacniacza Opracowanie charakterysktyk wzmacniacza 5. Badanie propagacji mikrofal • • Określanie polaryzacji fali elmg. Badanie wpływu przeszkód na propagację sygnału 6. Badanie fal akustycznych przy użyciu programu Coach • • Badanie dudnień i tłumienia fal akustycznych Analiza widmowa dźwięków 62 7. 7. Pomiary z ultradźwiękowym detektorem ruchu • • Cechowanie ultradźwiękowego detektora ruchu Rejestracja ruchów mechanicznych przy użyciu ultradźwiękowego detektora ruchu 8. Zaliczenie laboratorium • • Odrabianie zaległych ćwiczeń, Poprawa niezaliczonych laboratorió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 uzyskanych za sprawozdania z poszczególnych ćwiczeń oraz końcowego kolokwium. 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. Zakres zadań i zagadnienia teoretyczne do przygotowania określone są w instrukcjach do ćwiczeń. Sprawozdania z ćwiczeń są oceniane w skali od 0 do 5 pkt, z kolokwium można uzyskać do 15p. Maksymalna łączna nota wynosi 50p. Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-25 pkt. 26-30 pkt. 31-35 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 36-40 pkt. 41-45 pkt. 46-50 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. A.Marczyński, Podstawy miernictwa elektrycznego, Wyd. Pol. Śl., Gliwice 2002 J.Taylor, Wstęp do analizy błędu pomiarowego, PWN, Warszawa 1995 W.Nawrocki, Komputerowe systemy pomiarowe, WkiŁ, Warszawa 2007 S.Tumański, Technika pomiarowa, WNT, Warszawa 2007 63 Kierunek: Informatyka Przedmiot: Podstawy telekomunikacji dla informatyków Information and Communication Technology Fundamentals for Computer Scientists Czas trwania: semestr 3 Przedmiot: podstawowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Wykład dr inż. Tadeusz Sydoruk 30 zaliczenie na ocenę 3 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Analiza matematyczna, Algebra liniowa, Metody probabilistyczne i statystyka lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest zapoznanie z przekrojem wybranych zagadnień wchodzących w zakres podstaw telekomunikacji, koniecznych do uwzględnienia podczas omawiania zagadnień związanych z funkcjonowaniem sieci komputerowych, w tym zarówno sieci rozległych, jak i zagadnień dostępu do intersieci za pośrednictwem abonenckich sieci telekomunikacyjnych i systemów radiowych – głównie komórkowych i radiowych sieci dostepowych. Celem dodatkowym jest zapoznanie studentów z zagadnieniami standaryzacji i normalizacji w szerokopasmowych traktach przesyłowych oraz sieciach telekomunikacyjnych, a także wspólnej transmisji tradycyjnych sygnałów telekomunikacyjnych i cyfrowych sygnałów informacyjnych i sterujących między systemami komputerowymi. WYKŁAD 1. Telekomunikacja a teleinformatyka 64 • • • Podstawowe definicje i klasyfikacja telekomunikacji. Klasyfikacja i właściwości sygnałów - sygnał ciągły i dyskretny. Model systemu telekomunikacyjnego. 2. Sygnały analogowe – przetwarzanie i transmisja • • • • Pojęcie i właściwości sygnału analogowego. Parametry sygnałów analogowych. Modulacje: amplitudy, częstotliwości i fazy. Demodulacja. 3. Sygnał mowy w telekomunikacji • • • • • Wytwarzanie mowy – model procesu. Opis sygnału w dziedzinie czasu. Opis sygnału w dziedzinie częstotliwości. Parametryczny opis sygnału mowy. Metody kompresji. 4. Kanały telekomunikacyjne i ich wykorzystanie • • • • Pojęcia toru i kanału. Kanały naturalne. Parametry transmisyjne kanału. Objętość informacyjna sygnału a pojemność informacyjna kanału. 5. Kanały telekomunikacyjne i ich wykorzystanie • • • • • Zwielokrotnienie. Analogowe systemy wielokrotne. Kanały radiowe – właściwości i wykorzystanie. Kanały światłowodowe – właściwości i wykorzystanie. Kanały satelitarne – właściwości i wykorzystanie. 6. Sygnał dyskretny i cyfrowy • • • • Sygnał dyskretny – parametry, przykłady. Sygnał cyfrowy – parametry, przykłady. Przetwarzanie A/C i C/A. Modulacje impulsowe i cyfrowe. 7. Modulacja kodowo-impulsowa • • • • Próbkowanie. Kwantowanie. Kodowanie liniowe. Szum kwantyzacji – kompresja i kodowanie nieliniowe. 8. Systemy teletransmisyjne • Systemy analogowe. 65 • • • Trakty analogowe kablowe, radiowe i światłowodowe. Krotnice analogowe. Transmisja sygnałów cyfrowych w systemach analogowych. 9. 9. Systemy teletransmisyjne • • • • Systemy cyfrowe Trakty cyfrowe – kablowe, radiowe i światłowodowe. Krotnice cyfrowe – multipleksery i demultipleksery. Transmisja sygnałów analogowych w systemach cyfrowych. 10. Systemy teletransmisyjne - transmisja danych • • • Sygnał naturalny, binarny i wielowartościowy. Transmisja synchroniczna i asynchroniczna. Zniekształcenia i zakłócenia transmisji danych. 11. Systemy teletransmisyjne - transmisja danych • • • • Metody zabezpieczeń przed błędami kodowanie nadmiarowe Kody detekcyjne. Kody korekcyjne. Kody liniowe. Kody Hamminga. Kody cykliczne. 12. Systemy komutacyjne • • • Systemy z komutacją łączy (kanałów). Systemy z komutacją wiadomości. Komutacja pakietów. 13. Systemy komutacyjne • • • Sygnalizacja i sterowanie. Współpraca systemów – normalizacja. Sieć zintegrowana. 14. Sieci zintegrowane • • • • Sieci telefoniczne stacjonarne. Sieci telefoniczne mobilne. Usługi podstawowe w sieciach telefonicznych. Usługi dodatkowe w sieciach telefonicznych. 15. Sieci zintegrowane • • • Sieci teleinformacyjne. Etapy integracji. Sieci ISDN. 66 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA Baran Z. (red.): Podstawy transmisji danych. Wyd. KiŁ, Warszawa 1992. Haykin S.: Systemy telekomunikacyjne. t. 1 i 2. Wyd. KiŁ, Warszawa 2000. Molski M.: Wstęp do techniki cyfrowej. Wyd. KiŁ, Warszawa 1989. Richard R.: Telekomunikacja. Wyd. KiŁ, Warszawa 2000. Kościelniak D.: ISDN cyfrowe sieci zintegrowane usługowo. Wyd. KiŁ, Warszawa 2001. 6. Kowalski A.: Podstawy optotelekomunikacji. Oficyna Wyd. Politechniki Warszawskiej, Warszawa 2001. 7. Majewski A.: Podstawy techniki światłowodowej. Zagadnienia wybrane. Oficyna Wyd. 8. Norris M.: Teleinformatyka. Wyd. KiŁ, Warszawa 2002. 1. 2. 3. 4. 5. 67 Kierunek: Informatyka Przedmiot: Podstawy Systemów Teleinformatycznych Information and Communication Technology Fundamentals Czas trwania: semestr 3 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Wykład dr inż. Tadeusz Sydoruk 30 zaliczenie na ocenę 3 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Analiza matematyczna, Algebra liniowa, Metody probabilistyczne i statystyka lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest zapoznanie z przekrojem wybranych zagadnień wchodzących w zakres podstaw teleinformatyki, koniecznych do uwzględnienia podczas omawiania zagadnień związanych z funkcjonowaniem sieci komputerowych, w tym zarówno sieci rozległych, jak i zagadnień dostępu do intersieci za pośrednictwem abonenckich sieci telekomunikacyjnych i systemów radiowych – głównie komórkowych i radiowych sieci dostepowych. Celem dodatkowym jest zapoznanie studentów z zagadnieniami standaryzacji i normalizacji w szerokopasmowych traktach przesyłowych oraz sieciach teleinformatycznych, a także wspólnej transmisji typowych sygnałów telekomunikacyjnych oraz cyfrowych sygnałów informacyjnych i sterujących między systemami komputerowymi. WYKŁAD 1. TELEKOMUNIKACJA A TELEINFORMATYKA 68 • • • • • Powstanie i rozwój telekomunikacji Podstawowe pojęcia, definicje oraz klasyfikacja telekomunikacji Podstawowe pojęcia, definicje oraz klasyfikacja telekomunikacji Model systemu telekomunikacyjnego Ewolucja systemów telekomunikacyjnych: integracja i konwergencja, systemy teleinformatyczne 2. TORY, ŁĄCZA I KANAŁY TELEKOMUNIKACYJNE • • • • Media transmisyjne. Tory i kanały naturalne Tory i kanały radiowe, satelitarne i światłowodowe Charakterystyki i parametry transmisyjne kanałów Wielokrotne wykorzystanie torów, łączy i kanałów 3. SYGNAŁY ANALOGOWE • • • • Pojęcie, właściwości i parametry sygnału analogowego Modulacje analogowe: amplitudy, częstotliwości i fazy Odtwarzanie informacji – demodulacja Sygnał mowy w teleinformatyce 4. SYGNAŁY DYSKRETNE I CYFROWE • • • • Sygnał dyskretny – właściwości, parametry, przykłady Sygnał cyfrowy – właściwości, parametry, przykłady Modulacje impulsowe i cyfrowe Modulacja kodowo-impulsowa PCM 5. SYSTEMY TELETRANSMISYJNE • • • • Systemy analogowe kablowe, radiowe i światłowodowe Systemy cyfrowe kablowe, radiowe i światłowodowe Krotnice cyfrowe – multipleksery i demultipleksery Kody transmisyjne 6. TRANSMISJA DANYCH • • • • Pojęcie i istota transmisji danych Zniekształcenia i zakłócenia transmisji danych Metody zabezpieczeń transmisji danych przed błędami Kody detekcyjne i korekcyjne 7. SYSTEMY KOMUTACYJNE I SIECI PUBLICZNE • • • • • Systemy komutacyjne – rodzaje i właściwości Publiczna sieć telefoniczna PSTN Dostęp do sieci i usług Integracja usług – sieci ISDN Internet i Intranety 8. TOPOLOGIE SIECI KOMPUTEROWYCH I ALGORYTMY WYBORU DROGI 69 • • • • Pojęcie sieci komputerowych. Rodzaje sieci Topologie sieci komputerowych Media transmisyjne i komponenty sieci komputerowych Algorytmy wyboru drogi transmisyjnej 9. WARSTWOWA ARCHITEKTURA SIECI KOMPUTEROWYCH • • • • Architektura logiczna sieci i operacje elementarne Model ISO/OSI Protokoły, ramki, pakiety Model TCP/IP 10. WARSTWA FIZYCZNA • • • Media transmisyjne i kody liniowe Normy i protokoły warstwy fizycznej Złącza i interfejsy 11. WARSTWA ŁĄCZA DANYCH • • • • • Protokoły warstwy łącza danych Standardy IEEE 802.x Standardy IEEE 802.11 (WLAN) Sieci ARCnet i ETHERNET Sieci WIFI i Bluetooth 12. WARSTWA SIECIOWA • • • • • Komunikacja bezpołączeniowa i połączeniowa Protokoły IP Protokoły ARP, RARP i ICMP Protokoły TCP i UDP Badanie i konfigurowanie sieci oraz monitorowanie serwerów: ping, VisualPulse, ifconfig, netstat 13. WARSTWA SESJI - RODZAJE USŁUG • • • • • Protokół http Usługi WWW i FTP Poczta elektroniczna – protokoły SMTP, POP3 i IMAP4 Protokół DNS Telefonia VoIP 14. DOSTĘP DO SIECI TELEKOMUNIKACYJNYCH I TELEINFORMATYCZNYCH • • • • Dostęp analogowy i cyfrowy ISDN Dostęp szerokopasmowy xDSL i BISDN Telefonia komórkowa Dostęp i komunikacja satelitarna VSAT 70 15. KOMUNIKACJA WIZYJNA I MULTIMEDIALNA • • • • Zasady przekazu obrazu Telewizja analogowa, kablowa CATV i cyfrowa DVB Telewizja wysokiej jakości HDTV Wideotelefonia i wideokonferencja. Komunikacja multimedialna ZALICZENIE WYKŁADU Przedmiot kończy się zaliczeniem, w którym można uzyskać maksymalnie 100 punktów. Ocena końcowa z zaliczenia, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Baran Z. (red.): Podstawy transmisji danych. Wyd. KiŁ, Warszawa 1992. 2. Barczak A., Florek J., Sydoruk T.: Podstawy telekomunikacji dla informatyków. Wyd. Akademii Podlaskiej, Siedlce 2009 3. Haykin S.: Systemy telekomunikacyjne. t. 1 i 2. Wyd. KiŁ, Warszawa 2000. 4. Molski M.: Wstęp do techniki cyfrowej. Wyd. KiŁ, Warszawa 1989. 5. Richard R.: Telekomunikacja. Wyd. KiŁ, Warszawa 2000. 6. Kościelniak D.: ISDN cyfrowe sieci zintegrowane usługowo. Wyd. KiŁ, Warszawa 2001. 7. Kowalski A.: Podstawy optotelekomunikacji. Oficyna Wyd. Politechniki Warszawskiej, Warszawa 2001. 8. Majewski A.: Podstawy techniki światłowodowej. Zagadnienia wybrane. Oficyna Wyd. 9. Norris M.: Teleinformatyka. Wyd. KiŁ, Warszawa 2002. 10. Vademecum Teleinformatyka. t. 1, 2, 3. Wyd. IDG, Warszawa 1999, 2002, 2004 71 Kierunek: Informatyka Przedmiot: Podstawy programowania Programming Fundamentals Czas trwania: semestr 1 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Mirosław Barański 30 egzamin Laboratorium mgr Ewa Szczepanik dr Anna Wawrzyńczak-Szaban dr inż. Mirosław Barański 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Nie ma żadnych założen dotyczacych poziomu ponad wiadomości uzyskane w szkole średniej. ZAŁOŻENIA I CELE Celem głównym wykładów jest zapoznanie studenta z podstawowymi konstrukcjami programistycznymi, pojęciem algorytmu i implementacją algorytmów w języku programowania C, typami danych i zmiennymi, funkcjami, podstawowymi strukturami danych oraz mechanizmem dynamicznej alokacji pamięci. Rozwiniętymi celami szczegółowymi są: • • przedstawienie podstawowych metod wykorzystywanych w konstrukcji algorytmów i programów przedstawienie podstawowych metod weryfikacji poprawności programów. Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu problemów wyjaśnianych w czasie wykładu, w oparciu o dostępne oprogramowanie (C / C++). Efektami kształcenia w zakresie podstaw programowania będą następujące umiejętności praktyczne: • • • konstrukcja algorytmów, kodowanie w języku imperatywnym czytanie i rozumienie gotowych programów. WYKŁAD 72 1. Wstęp do programowania. • • • • Pojęcia podstawowe. Fazy powstawania programu (koncepcja, algorytm, kodowanie). Jednostki leksykalne. Struktura programu. 2. Typy danych i zmienne. • • Standardowe typy danych. Zmienne i ich deklaracje. 3. Wyrażenia. • • • Operatory. Konwersje Wyrażenia arytmetyczne i logiczne. 4. Instrukcje • • • • • Instrukcje decyzyjne. Instrukcje iteracyjne. Instrukcja wyboru. Instrukcje sterujące. Instrukcja grupująca. 5. Funkcje • • • • • Definicje funkcji. Specyfikatory funkcji Parametry funkcji. Funkcje przeciążone. Funkcje biblioteczne. 6. Statyczne struktury danych • • • Tablice Struktury. Unie. 7. Zasięg i widoczność zmiennych w programie • • Zmienne statyczne Zmienne automatyczne 8. Metoda rekurencyjna w programowaniu • • Definicja rekurencji. Rozwiązywanie problemów programistycznych metodą rekurencyjna. 9. Metody wstępujaca i zstępujaca w programowaniu strukturalnym. 73 • • Metoda zstępujaca. Metoda wstępujaca. 10. Języki programowania i notacje. • • Aspekty definicji języka programowania Metody opisu składni języka programowania. 11. Generacje języków programowania. • • • • • Języki maszynowe i asemblerowe. Języki wyższego poziomu. Języki 4-ej generacji. Języki sztucznej inteligencji. Historia rozwoju języka C++ 12. Wskaźniki • • • • • • Definicja wskaźnika. Zmienne wskaźnikowe i wskazywane. Tablice a wskaźniki Przekazywanie parametrów do funkcji przez wskaźnik. Wskaźniki do funkcji i struktur (unii). Wskaźniki a referencje. 13. Zmienne dynamiczne. • • • Przydzielanie i zwalnianie pamięci. Zagrożenia wynikające ze stosowania zmiennych dynamicznych. Dynamiczne struktury danych 14. Pliki. • • Podejście proceduralne do przetwarzania plików. Algorytm przetwarzania operacji wejścia - wyjścia. 15. Wprowadzenie do obiektowych struktur danych. Klasy i obiekty. • • • Elementy analizy obiektowej. Klasy. Obiekty. 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 0-50 pkt. Ocena ndst (F) Zakres 71-80 pkt. 74 Ocena db (C) 51-60 pkt. 61-70 pkt. dst (E) dst+ (D) 81-90 pkt. 91-100 pkt. db+ (B) bdb (A) LABORATORIUM 1. Środowisko programistyczne • • • • • Edytor programów. Kompilator. Biblioteki. Struktura programu. Podstawowe funkcje wejścia i wyjścia. 2. Typy danych i zmienne. • • • Programy wykorzystujace różne typy danych. Deklarowanie zmiennych. Wprowadzanie i wyprowadzanie wartości zmiennych. 3. Konstruowanie wyrażeń arytmetycznych i logicznych • • • Posługiwanie się operatorami. Konstrukcje wyrażeń arytmetycznych i logicznych. Zadania z arytmetyki, statystyki i fizyki. 4. Instrukcje • • • Rozgałęzianie programu. Kontrolowanie danych wejściowych. Rozwiązywanie problemów przy pomocy metody iteracyjnej. 5. Funkcje • • • • Przekazywanie parametrów do funkcji. Funkcje przeciążone. Parametry domyślne funkcji. Posługiwanie sie funkcjami bibliotecznymi. 6. Statyczne struktury danych • • • Tablice. Struktury. Unie. 7. Zasięg i widoczność zmiennych w programie • • • Zmienne statyczne i automatyczne. Łańcuchy znakowe. Metody weryfikacji poprawności programów (debugger). 75 8. Metoda rekurencyjna • • Rozwiązywanie problemów programistycznych przy zastosowaniu metody rekurencyjnej. Rekurencyjne funkcje obliczające silnię i NWD. 9. Metoda rekurencyjna • • Rozwiązywanie problemów programistycznych przy zastosowaniu metody rekurencyjnej Obliczanie wyrazów ciągów liczbowych metodą rekurencyjną. 10. Metody wstępująca i zstępująca w programowaniu strukturalnym. • • Programowanie z użyciem metody wstępującej. Programowanie z użyciem metody zstępującej. 11. Wykorzystanie bibliotek w programowaniu. • • Programowanie z użyciem wybranych bibliotek funkcji. Tworzenie własnych bibliotek funkcji. 12. Wskaźniki i zmienne dynamiczne • • Deklarowanie wskaźników. Tworzenie i usuwanie zmiennych dynamicznych. 13. Zmienne dynamiczne. • • Wykorzystanie wskaźników i zmiennych dynamicznych. Budowa stosu i kolejki. 14. Pliki. • • • Odczyt i zapis plików tekstowych, Odczyt i zapis plików binarnych. Wykorzystanie bibliotek funkcji. 15. Elementy programowania obiektowego. • • • • Klasy, pola, metody, Instancje klas, czyli obiekty, Konstruktory i destruktory. 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 76 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA B.W.Kerningham, D.M.Ritchie - Język C. WNT. N. Wirth, Wstęp do programowania systematycznego, WNT, Warszawa 1987. N. Wirth, Algorytmy + Struktury Danych = Programy, WNT 1980 Jerzy Grebosz - Symfonia C++ (wszystkie semestry); Edition 2000, 2005. Bjorne Stroustrup - Język C++ ; WNT 2002. E. W. Dijkstra, Umiejętność programowania, WNT, Warszawa 1985. A.Alagic, M.A.Arbib, Projektowanie programów poprawnych i dobrze zbudowanych, WNT 1982, 8. W.M. Turski, Metodologia programowania, WNT, Warszawa 1982. 9. A.V. Aho, J.E. Hopcroft, J.D. Ullman, Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa 1983. 10. Dennie van Tassel - Praktyka programowania. WNT 1982. 11. S.B.Lippman, Podstawy jezyka C++, WNT 1995. Zalewski A., Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Poznan 1995. 12. J.Rusek - ABC programowania w C++, Helion 2001 13. Kent Reisdorph - C++ Builder 6 dla każdego, Helion 2003 14. A. Majczak - C++, przykłady praktyczne, MIKOM 2003 15. Andrew Koenig, Barbara E. Moo - C++. Potęga języka. Od przykładu do przykładu, Helion 2004 16. A. Daniluk - C++ Builder 6. Ćwiczenia, Helion 2003 17. Steve Oualline - Język C. Programowanie, Helion 2003 1. 2. 3. 4. 5. 6. 7. 77 Kierunek: Informatyka Przedmiot: Algorytmy i złożoność Algorithms and complexity Czas trwania: semestr 3 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład prof. dr hab. inż. Wojciech Penczek 30 egzamin Laboratorium mgr Artur Niewiadomski mgr Ewa Szczepanik 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Analiza matematyczna Podstawy programowania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest nabycie wiedzy o najważniejszych „klasycznych” algorytmach opracowywania danych i metodach tworzenia złożonych struktur danych. Rozwiniętymi celami szczegółowymi są następujące umiejętności: • • • • • • Konstruowanie algorytmów Analiza złożoności algorytmów · Tworzenie konstrukcji programowych Reprezentacja programowa danych pojedynczych, zbiorów danych, grafów, drzew i sieci z dziedziny przedmiotowej Programowanie operacji na danych, grafach, drzewach i sieciach Implementacja algorytmów obliczeniowych, sortowania, wyszukiwania, ze strukturą drzewiastej Celem zajęć laboratoryjnych jest nabycie i opanowanie umiejętności programowania i korzystania z algorytmów opracowywania danych. Rozwiniętymi celami szczegółowymi są następujące umiejętności praktyczne: • • Wykonanie operacji na zbiorach, listach, grafach, sieciach Sortowanie w tablicach i plikach 78 WYKŁAD 1. Algorytmy komputerowe • • • • własności algorytmu metody układania algorytmów porównanie i ocena złożoności algorytmów pomiar czasu wykonania algorytmu 2. Konstrukcje języków programowania • • typy danych tablice, klasy, interfejsy, struktury 3. Konstrukcje programowe • • • • struktury dowiązane listy, operacje na listach stos kolejka 4. Drzewa • • • drzewa kopcowe i spadowe drzewa AVL, RST, TRIE, PATRICIA, 2-3 drzewa drzewa katalogowe 5. Reprezentacja danych • • • • dane liczbowe dane specjalne dane tekstowe dane czasowe 6. Reprezentacja zbiorów danych • • • • tablicowa bitowa listowa drzewiasta 7. Reprezentacja grafów • • • • reprezentacja tablicą par wierzchołków reprezentacja macierzą sąsiedztwa wierzchołków reprezentacja macierzą incydencji reprezentacja listami incydencji 8. Operacje na grafach 79 • • • • • przeszukiwanie grafu w głąb przeszukiwanie grafu wszerz znajdowanie drogi między wierzchołkami obliczenie spójnych składowych obliczenie drzewa rozpinającego 9. Operacje na sieciach • • • znajdowanie najmniejszej odległości znajdowanie wszystkich najmniejszych odległości obliczenie maksymalnego przepływu w sieci 10. Algorytmy obliczeniowe • • • • algorytmy kombinatoryki (obliczenie permutacji, silni, wariacji, kombinacji) algorytmy operacji na macierzach algorytmy przekształcenia liczb algorytm znajdowania najmniejszego lub największego elementu 11. Proste algorytmy sortowania w tablicach • • • sortowanie metodą wstawiania, wybierania, zamiany sortowanie bąbelkowe sortowanie metodą Shella 12. Skomplikowane algorytmy sortowania w tablicach • • • sortowanie kopcowe sortowanie przez podział (sortowanie sortowanie rzędowe (pozycyjne) 13. Algorytmy sortowania w plikach • • • sortowanie na trzech plikach sortowanie przez łączenie proste i naturalne sortowanie wielofazowe 14. Algorytmy wyszukiwania • • • • wyszukiwanie w tablicy elementu o podanej wartości dopasowywanie wzorca i wyszukiwanie naiwne drzewo sufiksowe i graf podsłów automat do rozpoznawania podsłów 15. Algorytmy ze strukturą drzewiastą (z nawrotami) • • algorytm ustawiania 8 hetmanów algorytm znalezienia drogi skoczka szachowego 80 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Powtórzenie podstaw programowania w C++ • • • podstawowe konstrukcje języka, składnia, funkcje, pliki nagłówkowe funkcje rekurencyjne struktury i klasy 2. Operacje na zbiorach przy tablicowej reprezentacji zbioru • • • tablicowa reprezentacja zbioru implementacja obliczania części wspólnej, sumowania, odejmowania i różnicy symetrycznej zbiorów kontrola niepowtarzalności elementów zbioru 3. Stosy. Proste algorytmy wykorzystujace stosy. • • implementacja stosu jako klasy w języku C++ implementacja prostych algorytmów z wykorzystaniem stosu 4. Listy jednokierunkowe • • implementacja podstawowych operacji na liście jednokierunkowej proste implementacje z wykorzystaniem listy jednokierunkowej 5. Listy dwukierunkowe • • • implementacja podstawowych operacji na liście dwukierunkowej implementacja dodatkowych operacji na liście dwukierunkowej proste implementacje z wykorzystaniem listy dwukierunkowej 6. Grafy. Macierzowa reprezentacja grafów. • • implementacja klasy reprezentującej grafy w postaci macierzy sąsiedztwa przeszukiwanie grafu wszerz 7. Grafy. Listowa reprezentacja grafów. 81 • • • • implementacja klasy reprezentującej grafy w postaci list sąsiedztwa transpozycja grafu przeszukiwanie grafu wgłąb znajdowanie silnie spójnych składowych 8. Grafy. Algorytmy grafowe. • • grafy ważone znajdowanie najkrótszej drogi w grafie ważonym. Algorytm Bellmana-Forda, algorytm Dijkstry, algorytm Floyda-Warshalla. 9. Drzewa. Drzewa Binarne. • • • budowanie drzewa binarnego przeszukiwanie drzewa wprowadzenie do programowania generycznego - implementacja z wykorzystaniem szablonów 10. Drzewa BST, algorytmy iteracyjne • • wyszukiwanie elementu w drzewie BST usuwanie elementów z drzew BST 11. Drzewa AVL • • obliczanie współczynników wyważenia drzewa wstawianie i usuwanie elementów w drzewach AVL 12. Algorytmy sortowania • • sortowanie przez selekcję sortowanie przez wstawianie 13. Algorytmy sortowania • • sortowanie szybkie zastosowanie algorytmu sortowania szybkiego w zadaniach wykorzystujących tablice z rekordami 14. Algorytmy sortowania • • Sortowanie kopcowe, kolejki priorytetowe wykorzystanie w zadaniach kolejek priorytetowych dostępnych w bibliotece STL 15. Algorytmy tekstowe • • • Proste algorytmy wyszukiwania wzorca. Algorytm naiwny Algorytm Knutha-Morrisa-Pratta z przesunięciem większym niż 1 Zaliczenie 82 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Timofiejew A. Algorytmy i struktury danych w językach programowania. Siedlce, Wydawnictwo Akademii Podlaskiej, 2006. 2. Kisilewicz J., Język C++: programowanie obiektowe, Wrocław: Oficyna Wydawnicza Politechniki Wrocławskiej, 2002. 3. Niklaus Wirth, Algorytmy + struktury danych = programy, WNT Warszawa 1999 4. Banachowski L., Diks K., Rytter W., Algorytmy i struktury danych, WNT Warszawa,1999 5. Aho A.V., Hopcroft J.E., Ullman J.D., Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa 2003 6. Lipski W., Kombinatoryka dla programistów. Warszawa: WNT, 1982 7. Harel David, Rzecz o istocie informatyki. Algorytmika, WNT Warszawa 2001 8. C++ Builder 5. Vademecum profesjonalisty. Tom 1,2, Wydawnictwo HELION 2001. 9. Simon R., Koorhan L., Cox K. Programowanie obiektowe w Visual Basic .NET dla każdego. Wydawnictwo HELION, Gliwice, 2003 83 Kierunek: Informatyka Przedmiot: Architektura systemów komputerowych Computer System Architecture Czas trwania: semestr 2 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 30 egzamin Laboratorium mgr Wojciech Nabiałek mgr Andrzej Salamończyk 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • • • Matematyka dyskretna Analiza matematyczna Podstawy elektroniki Podstawy programowania Podstawy techniki cyfrowej lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem wykładu jest zaznajomienie studentów ze strukturą i budową klasycznego systemu komputerowego komputerowych zarówno w aspekcie teoretycznym jak i praktycznym. Rozwiniętymi celami szczegółowymi są: • • • • • podstawy teoretyczne, związane z technikami reprezentacji danych i układami cyfrowymi maszynowa reprezentacja danych i realizacja operacji arytmetycznych organizacja komputera na poziomie asemblera organizacji i architektury systemów pamięci oraz interfejsów komunikacja oraz organizacja jednostki centralnej komputera. Celem laboratorium jest nabycie i opanowanie umiejętności w rozwiązywaniu problemów obejmujących treści merytoryczne wyjaśniane w czasie wykładu. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: 84 • • • • posługiwanie się zapisami binarnymi i heksadecymalnymi wykonywanie podstawowych operacji arytmetycznych na liczbach binarnych analizowanie zachowania się elementów komputera podczas wykonywania podstawowych instrukcji maszynowych realizowanie prostych programów w debugerze WYKŁAD 1. Systemy liczbowe • • • • informacja i sygnał cyfrowy systemy liczenia system dwójkowy i system heksadecymalny zasady konwersji liczb w różnych systemach 2. Kodowanie liczb i tekstów • • • określenie kodów kody liczbowe kodowanie tekstów 3. Podstawy architektury komputera • • • system mikrokomputerowy a specjalizowany układ cyfrowy architektura systemu mikroprocesorowego bloki funkcjonalne - ich organizacja i architektura 4. Architektura procesora • • • • schemat blokowy rejestry jednostka arytmetyczno-logiczna układ sterowania 5. Cykl rozkazowy i tryby adresowania • • cykl rozkazowy tryby adresowania 6. Lista i format rozkazu • • • format rozkazu sposób prezentowania rozkazu przykładowe rozkazy 7. Organizacja i realizacja rozkazów (1) • • rozkazy przesłań rozkazy arytmetyczne i logiczne 85 8. Organizacja i realizacja rozkazów (2) • • rozkazy sterujące, operacje na łańcuchach 9. Pamięci • • • • podstawowe definicje i klasyfikacja hierarchia pamięci pamięci dynamiczne i statyczne RAM pamięci ROM 10. Układy i operacje wejścia/wyjścia • • • • układy współadresowane i izolowane operacje z bezpośrednim sterowaniem przez mikroprocesor operacje z pośrednim sterowaniem przez mikroprocesor (DMA) operacje z przerwaniem programu 11. Charakterystyka podstawowych interfejsów systemu komputerowego • • • • określenie interfejsu i ogólna architektura interfejsu klasyfikacja interfejsów standardy interfejsu szeregowego standardy interfejsu równoległego 12. Praca procesora w trybie rzeczywistym i chronionym • • • • układ generacji adresu fizycznego pamieć wirtualna wspomaganie pracy wielozadaniowej i ochrony zasobów stronicowanie 13. Koncepcja pamięci podręcznej (cache) • • • architektura komputera z pamięcią cache elementy systemu pamięci cache organizacja pamięci cache 14. Realizacje współczesnych procesorów • • • • przetwarzanie potokowe i równoległe procesory CISC i RISC potok optymalizacja wykonywania funkcji 15. Współczesne wersje procesorów • • • ewolucja komputera jednoprocesorowego procesory rodziny Intel 80x86 Pentium P54C, Pentium Pro 86 • • Pentium II, Pentium III Celeron, Pentium IV 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Zapisy binarne i heksadecymalne • • • podstawy zapisu dwójkowego i szesnastkowego zamiana liczb z systemu dziesiętnego na dwójkowy i szesnastkowy, zamiana liczb z systemu dwójkowego i szesnastkowego na dziesiętny, 2. Kodowanie liczb i tekstów • • • wykorzystanie kodu naturalnego wykorzystanie kodu BCD i kodu ASCII działania w kodzie naturalnym i BCD 3. Reprezentacja binarna liczb ujemnych • • zapis liczb w kodach ZM, U1, U2, działania arytmetyczne na liczbach ze znakiem 4. Reprezentacja binarna liczb ułamkowych • • zapis stałopozycyjny i zmiennoprzecinkowy działania arytmetyczne na liczbach ułamkowych 5. Projektowanie podstawowych komponentów architektury komputera • • • • realizacja sumatora szeregowego i równoległego realizacja multipleksera i demultipleksera realizacja licznika realizacja układów pamietających 6. Zapoznanie z programem DEBUG • sposób uruchamiania 87 • • możliwe funkcje systemu skróty i sposoby realizacji poleceń 7. Rejestry procesora • • • identyfikacja i przeznaczenie rejestrów procesora modyfikacja wartosci rejestrów przy pomocy rozkazów procesora wykorzystywanie rozkazów operujacych na znacznikach PUSHF, POPF, LAHF, SAHF 8. Korzystanie ze stosu • • używanie rozkazów PUSH, POP, i innych związanych ze stosem stos jako miejsce w pamięci, podgląd stosu 9. Podstawowe operacje na pamięci RAM • • podgląd i modyfikacja wybranych obszarów pamięci kopiowanie wybranych fragmentów pamięci, debugowanie prostych programów 10. Realizacja funkcji dodawania i odejmowania w procesorze (ADD) • • zasady wykorzystania programu DEBUG instrukcje dodawanie i odejmowanie liczb, interpretacja wyników programu 11. Realizacja funkcji mnożenia w procesorze i dzielenia w procesorze • • • mnożenie liczb (MUL, IMUL, AAM), interpretacja wyników programu dzielenie liczb (DIV, IDIV, AAD), interpretacja wyników programu wykorzystanie rozkazów CBW i CWD 12. Realizacja operacji logicznych w procesorze • • • negacja bajtu lub słowa suma logiczna, iloczyn logiczny porównywanie logiczne 13. Realizacja operacji rotacji i przesunięć w procesorze • • rotacja w lewo (ROL, RCL) i w prawo (ROR, RCR) bajtu lub słowa przesunięcie arytmetyczne i logiczne w lewo (SHL/SAL) i w prawo 14. Realizacja prostych programów w dubugerze (część I) • • analiza zadań konstruowanie prostych programów z użyciem instrukcji warunkowych 15. Realizacja prostych programów w dubugerze (część II) • konstruowanie prostych programów z użyciem pętli 88 • sprawdzanie działania programu w debugerze 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. Clark S.H.A.: W sercu PC. Wyd. HELION. Gliwice 2003 Florek J.: Systemy komputerowe, Wyd.Akademii Podlaskiej, Siedlce 2001 Kruk S., Asembler - podrecznik uzytkownika. Wyd. MIKOM. Warszawa 1999 Kruk S., Asembler. Kurs programowania dla srednio zaawansowanych. MIKOM. Warszawa 2001. 5. Kruk S., Turbo Asembler. Idee. Polecenia. Rozkazy procesora Pentium. MIKOM . Warszawa 2000 6. Kruk S.: Cwiczenia z asemblera, Wyd. MIKOM. Warszawa 1999 7. Metzger P. Anatomia PC. Wydanie X. HELION 2006 8. Patterson D., Hennessy J.: Computer Organizatin and design. Elsevier 2005. 9. Skorupski A.: Podstawy budowy i działania komputerów.WKŁ.Warszawa 1997 10. Wojtuszkiewicz K.: Jak działa komputer. Wyd. MIKOM. Warszawa 1999 89 Kierunek: Informatyka Przedmiot: Programowanie niskopoziomowe Low-level Programming Czas trwania: semestr 3 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Aleksander Timofiejew 21 egzamin Laboratorium dr hab. Aleksander Timofiejew 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Architektura systemów komputerowych Podstawy programowania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest pogłębienie wiedzy w zakresie zasad działania i architektury systemów komputerowych oraz zapoznanie z asemblerami. Rozwiniętymi celami szczegółowymi są następujące umiejętności: · • • • • Posługiwanie się językiem asemblera Programowanie operacji na danych pojedynczych oraz na tablicach, w tym z użyciem instrukcji warunkowych, pętli. Programowanie wstawek asemblerowych w języku wysokiego poziomu. Programowanie aplikacji działających w trybach konsolowym oraz graficznym. Zajęcia laboratoryjne mają na celu nabycie praktycznych umiejętności w programowaniu na asemblerze i w pracy na komputerach. Rozwiniętymi celami szczegółowymi są następujące umiejętności praktyczne: • • • • Posługiwanie się językiem MASM Programowanie operacji w języku asemblera Programowanie aplikacji działających w trybie konsolowym i graficznym Napisanie wstawki asemblerowej 90 WYKŁAD 1. Podstawy języka asembler • • • • • rola i znaczenie asemblerów, systemy komputerowe a asemblery, narzędzia programowania (asembler, konsolidator (linker), organizator (maker) i wykrywacz usterek (debugger)), tworzenie programu w języku asemblera, reguły zapisu programu w języku asemblera 2. Systemy komputerowe (komputery) na bazie procesorów firmy Intel • • • • • struktury procesorów Intel, rejestry dostępne programowo, kodowanie rozkazów, adresowanie operandów, znaczniki wyników operacji 3. Język Macro Assembler (MASM) • • • • elementy języka MASM, instrukcje, wyrażenia, alokacja (rozmieszczenie) danych 4. Język Macro Assembler (MASM) (c.d.) • • • • dyrektywy, adresowanie operandów, podprogramy, makrodefinicje 5. Programowanie operacji • • • • przesyłanie danych, porównania, skoki i pętle, porównania, skoki i pętle, manipulacja znacznikami 6. Stosowanie jednostki zmiennoprzecinkowej • • • • alokacja i przesyłanie danych, operacje arytmetyczne, operacje trygonometryczne, operacje porównania 7. Stosowanie jednostki MMX • pakowanie danych, 91 • • • operacje arytmetyczne, operacje porównawcze, operacje bitowe 8. Programowanie z zastosowaniem funkcji API Win32 • • • • funkcje API Win32, programowanie aplikacji konsolowej, operacje na wierszach, operacje na plikach 9. Programowanie aplikacji graficznych • • współdziałanie aplikacji graficznej z systemem Windows, procedura okna 10. Programowanie aplikacji graficznych (c.d.) • • standardowe obiekty graficzne, kontekst urządzenia 11. Programowanie wstawek asemblerowych w języku C (C++) • • • wstawki asemblerowe w języku C (C++), wywoływanie w języku C (C++) funkcji napisanych w języku asemblera, wywoływanie w asemblerze funkcji napisanych w języku C (C++) 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Tworzenie i uruchamianie programów asemblerowych • • • • przejście do trybu konsolowego, kompilacja, opcje kompilatora, konsolidacja, opcje konsolidatora, opracowanie aplikacji konsolowej 2. Przesyłanie i zarządzanie danymi 92 Ocena db (C) db+ (B) bdb (A) • • przesyłanie danych, praca z łańcuchami, operacje na stosie tryby adresowania, 3. Instrukcje arytmetyczne i logiczne • • • operacje arytmetyczne, instrukcje logiczne, przesuwanie i rotacje bitów, 4. Sterowanie przebiegiem wykonania programu • • porównania i skoki warunkowe, pętle 5. Procedury i makrodefinicje • • procedury • makrodefinicje 6. Operacje na plikach i katalogach • • • tworzenie plików i katalogów, otwieranie i zapisywanie, ustawianie atrybutów plików 7. Obsługa sprzętu • • klawiatura i mysz, porty 8. Koprocesor i jednostka MMX (Manager Memory Extended) • • • instrukcje koprocesora, sprawdzanie na obecność jednostki MMX, instrukcje MMX 9. Tryb graficzny w systemie Windows • • • tworzenie okna, przewinięcie okna, obiekty graficzne, 10. Korzystanie z zasobów • • • ikony, kursory, bitmapy, ciągi znaków, okna dialogowe i menu 11. Współpraca asemblera i C++ 93 • • • wstawki asemblerowe w programie napisanym w języku C++, wywoływanie w języku C++ funkcji napisanych w języku asemblera, wywoływanie w asemblerze funkcji napisanych w języku C++ 12. Biblioteki dynamiczne (DLL) • • • tworzenie biblioteki, łączenie z biblioteką, wywołanie funkcji bibliotecznej 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 zadania indywidualnego. 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 12 zajęć może uzyskać od 0 do 120 pkt. Zadanie indywidualne dotyczy opracowania aplikacji konsolowych lub graficznych implementujących algorytmy sortowania i wyszukiwania danych w plikach lub tablicach. Temat i zakres zadania indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za zadanie może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 80 pkt. Zaliczenie zadania następuje po uzyskaniu, co najmniej 41 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 zadanie indywidualne i zawiera się w granicach 0-200 pkt. Ocena końcowa ćwiczeń zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 1. Pirogov V., Asembler. Podręcznik programisty, Wydawnictwo HELION, 2005, ISBN 83-7361-797-3. 2. Kip R. Irvine, Assembler dla procesorów INTEL. Vademecum profesjonalisty. Warszawa: Wydawnictwo HELION, 2003, ISBN 83-7197-970-X 3. Eugeniusz Wróbel. Praktyczny kurs asemblera. Wydawnictwo Helion 2004, ISBN 837361-433-8 4. Metzger P., Anatomia PC, wyd. VIII, Helion, 2003 94 5. Florek J.: Systemy komputerowe. Wyd. Akademii Podlaskiej, Siedlce 2001 95 Kierunek: Informatyka Przedmiot: Systemy operacyjne Operating Systems Czas trwania: semestr 4 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Franciszek Seredyński 30 egzamin Laboratorium mgr Zbigniew Młynarski mgr Piotr Świtalski 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Architektura Systemów Komputerowych Podstawy Programowania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem wykładu jest przedstawienie ogólnych zasad budowy i funkcjonowania współczesnych systemów operacyjnych, a także zapoznanie sie z najbardziej popularnymi systemami operacyjnymi. Rozwiniętymi celami szczegółowymi są: • • • • • • Struktura systemów komputerowych i operacyjnych, Procesy i wątki oraz zarządzanie nimi, Synchronizacja procesów, Zarządzanie pamięcią, Pamięć wirtualna, System plików. Celem laboratorium jest poszerzenie wiadomości nabytych w ramach wykładu oraz nabycie praktycznych umiejętności w zakresie obsługi i konfiguracji systemów operacyjnych. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: 96 • • • • • Posługiwanie się interpreterem poleceń w systemie Linux, Wykonywanie operacji na obiektach systemu plików, Zarządzanie procesami, Pisanie i uruchamianie skryptów powłoki, Wykorzystywanie programów narzędziowych systemu Linux WYKŁAD 1. Wprowadzenie • • Podstawowe definicje Ewolucja systemów operacyjnych 2. Struktury systemów komputerowych • • • • Ogólna architektura systemu Struktura wejścia-wyjścia Struktura i hierarchia pamieci Ochrona sprzętowa 3. Struktury systemów operacyjnych (1) • • • • Składowe systemu Usługi systemu operacyjnego Funkcje systemowe Programy systemowe 4. Struktury systemów operacyjnych (2) • • • • Struktura systemu Maszyny wirtualne Projektowanie i implementacja systemu Generowanie systemu 5. Procesy • • • • Koncepcja procesu Stan procesu Blok kontrolny procesu Planowanie procesów 6. Wątki • • • Struktura watku Watki w systemach Solaris 2, Mach 2, Windows NT Komunikacja miedzyprocesowa 7. Planowanie przydziału procesora • Pojęcia podstawowe 97 • • • Cykl faz procesora i wejścia-wyjścia Planista i planowanie Kryteria planowania 8. Algorytmy szeregowania • • • • • Planowanie metoda FCFS Planowanie metodą ”najpierw najkrótsze zadanie” Planowanie priorytetowe Planowanie rotacyjne Ocena algorytmów 9. Zarządzanie pamiecią • • • • Wiązanie adresów, ładowanie i konsolidacja Logiczna i fizyczna przestrzeń adresowa Wymiana Przydział ciągły 10. Zarządzanie pamiecią (2) • • • Stronicowanie Segmentacja Segmentacja ze stronicowaniem 11. Pamięc wirtualna • • • Koncepcja pamięci wirtualnej Stronicowanie na zadanie Zastępowanie stron 12. Algorytmy zastępowania stron • • • • Algorytm FIFO Algorytm optymalny Algorytm LRU Szamotanie 13. ISynchronizowanie procesów • • • • Zagadnienie producenta-konsumenta Problem sekcji krytycznej Semafory i monitory Klasyczne problemy synchronizacji i ich rozwiązania 14. Implementacja systemu plików • • Budowa systemu plików Metody przydziału miejsca na dysku 15. Implementacja systemu plików (2) 98 • • Implementacja katalogu Metody dostępu do katalogó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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Omówienie zasad realizacji ćwiczen laboratoryjnych. Model warstwowy systemu operacyjnego (SO), jadro SO, powłoka. • • • • • wstęp do systemu operacyjnego wprowadzenie do interpretatorów powłoki omówienie pojęcia jądra systemu operacyjnego podstawowe polecenia powłoki edytor vi 2. System plików. Struktura katalogowa systemu Linux. Prawa dostępu do plików / katalogów. • • • • • rodzaje systemów plików struktura katalogowa systemu Linux montowanie urządzeń operacje na plikach i katalogach: tworzenie, kopiowanie zmiana praw dostepu do plików / katalogów 3. Procesy i shell. Polecenia zwiazane z procesami w systemie operacyjnym. Polecenia wbudowane w powłokę i zewnętrzne. • • • • • wyjaśnienie pojęcia proces, identyfikator procesu przedstawienie działania procesów w powłoce bash proces w tle, zmiana stanu procesu status wyjścia wykonania polecenia dowiązania miękkie i twarde 4. Polecenia filtrujace strumień danych. Porównywanie zawartości plików. Używanie skrótów w poleceniach. • • polecenia filtrujace grep, head, tail, clear, wc porównywanie zawartości plików 99 • • kopiowanie katalogów używanie skrótowych nazw scieżek 5. Operacje na plikach, problem nadpisywania plików. Przeszukiwanie struktury katalogowo-plikowej. • • • • • • problem nadpisywania plików zmienna noclobber i noglob polecenie tee potoki przeszukiwanie katalogów i plików przy pomocy polecenia find filtry i metaznaki 6. Cytowania, proste skrypty. Polecenia tr i mail • • • • metaznaki używane podczas cytowania pierwszy skrypt powłoki bash, zmiana praw, uruchomienie polecenie tr obsługa poczty elektronicznej za pomoca polecenia mail 7. Zmienne środowiskowe i definiowane przez użytkownika. Polecenia umask, set, env, unset, export, stty, alias, unalias. • • • • • zmienne środowiskowe systemu operacyjnego zmienne definiowane przez użytkownika modyfikacja zmiennych i zakres zmiennych edycja parametrów początkowych powłoki zmienne jako skrótowe nazwy scieżek 8. Modyfikatory zmiennych, zakres zmiennych, zmienne specjalne i pozycyjne. Funkcje. • • • • • zasady używania modyfikatorów zmiennych zmienne specjalne i pozycyjne zmienne tylko do odczytu polecenie eval funkcje 9. Deskryptory plików, standardowe wejście, wyjście i błąd. Dokument ”odtąd - dotąd”. Arytmetyka stałoprzecinkowa. • • • • • wyjaśnienie pojęcia deskryptora plików przykłady działania deskryptorów ćwiczenia z deskryptorami plików dokument ”odtąd - dotąd” polecenia exec, read, expr 10. Wyrażenia warunkowe i testowanie plików. Struktury ”if...then...fi”, ”if/else” • • • polecenie test, exit struktury warunku ”if...then...fi”, ”if/else” ćwiczenia z użyciem powyższych struktur 100 11. Struktura warunkowa ”if/elif/else”. Instrukcja case. • • • struktura warunkowa ”if/elif/else” instrukcja case i jej użycie ćwiczenia z użyciem powyższych struktur 12. Struktury pętli for, while oraz until. • • • struktura pętli for i jej użycie struktury pętli while oraz until i ich użycie ćwiczenia z użyciem powyższych struktur 13. Polecenia shift, brake, true, continue, line, sort. • • • • argumenty skryptu a polecenie shift polecenia sterujące skryptem skierowanie wyjścia z pętli do pliku, polecenie line skierowanie wyjścia z pętli do polecenia, polecenie sort 14. Język przetwarzania tekstów awk • • • • składnia polecenia awk mechanizm działania awk wybieranie wierszy do przetwarzania - wzorce wzorce z wyrażeniami regularnymi 15. Program zarządzajacy make • • • zagadnienie wielu plików zródłowych składnia plików makefile opcje i parametry polecenia makefile 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): 101 Zakres 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. 5. 6. A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych, WNT, 2000 E. Quigley, UNIX Shells by Examples, Prentice Hall PTR, 1997 D. Gilly, UNIX in a Nutschell, O’Reilly, 1998 S. Strobel, T. Uhl, Linux, WNT, 1997 W. Stallings, Operating Systems, Prentice Hall, 1995 M. J. Rochkind, Programowanie w systemie UNIX dla zaawansowanych, WNT, Warszawa, 1993 7. M. Kaniewski, K. Wieremejczyk, Po Prostu UNIX, Mikom, 1992 102 Kierunek: Informatyka Przedmiot: Technologie sieciowe Networking technologies Czas trwania: semestr 4 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Stanisław Ambroszkiewicz 30 egzamin Laboratorium mgr Andrzej Salamończyk mgr Grzegorz Terlikowski 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Podstawy Programowania Architektura systemów komputerowych lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu ”Technologie sieciowe" jest wprowadzenie do problematyki współczesnych sieci komputerowych. Rozwiniętymi celami szczegółowymi sa: • • • • • • zapoznanie z podstawowymi pojęciami i dziedzina sieci komputerowych, zapoznanie z warstwami sieci komputerowych występującymi w modelu OSI, zapoznanie z protokołami komunikacyjnymi wykorzystywanymi w sieciach komputerowych, zapoznanie ze struktura, adresowaniem, protokołami i standardami wykorzystywanymi powszechnie w Internecie wprowadzenie do programowania sieciowego w oparciu o język Java, wprowadzenie do projektowania i zarządzania sieci komputerowych WAN i LAN. Celem laboratorium jest nabycie umiejętności instalowania i obsługi sprzętu i oprogramowania w sieciach komputerowych. Cele szczegółowe laboratorium obejmują to następujące umiejętności praktyczne: • realizacja prostych aplikacji sieciowych 103 • • • • • • realizacja prostych interakcyjnych aplikacji internetowych działąjcych w oparciu o bazę danych, przygotowanie, testowanie i instalacja okablowania strukturalnego, korzystanie z mierników i sprzętu testującego, projektowanie, budowanie i zarządzania sieciami LAN i WAN, konfigurowanie routerów, realizacja prostej sieci (routery, serwery, hosty) z wykorzystaniem DHCP. przygotowywanie dokumentacji sieci. WYKŁAD 1. Podstawowe pojęcia • • • • • • Definicje zwiazane z komunikacją w sieciach Przesyłanie danych pomiedzy procesami na (odległych) komputerach Przełączanie pakietów kontra przełączanie łączy Pojęcie protokołu, warstwy protokołów na przykładzie transportu lotniczego Warstwy protokołów w sieciach komputerowych Budowa modelu OSI, porównanie modelu OSI i TCP/IP 2. Warstwa aplikacji - wprowadzenie • • Model programowanie sieciowego klient-server. Gniazda (sockety) TCP. 3. Warstwa aplikacji - adresacja i nazewnictwo. • • Adresacja IP Omówienie DNS 4. Warstwa aplikacji - zastosowania internetowe. • • Omówienie protokołu HTTP, adresacji URL, i HTML. Omówienie protokołów SMTP i POP3, telnet, ftp. 5. Warstwa transportu - wprowadzenie • • • Zasady pewnego przesyłania danych w sieciach komputerowych Algorytm Go-Back-N Algorytm Selective Repeat 6. Warstwa transportu • • Protokół TCP oraz struktura segmentu TCP. Protokół UDP. 7. Warstwa sieci - wprowadzenie • • Zasady routingu Algorytm routingu Link State 104 8. Warstwa sieci • • Algorytm routingu Distance Vector Routing hierarchiczny 9. Technologie Internetowe - sieci TCP/IP • • Rys historyczny Internetu Rola aplikacji takich jak email a zwłaszcza WWW. 10. Warstwa łącza danych - dostęp do medium • • • Kodowanie sygnałów w sieci Rodzaje protokołów dostepu do medium (MAC), adresowanie fizyczne MAC Techniki wykrywania błędów. 11. Warstwa łącza danych - technologie • • • • Prekursor Ethernetu - ALOHA net Protokół CSMA/CD. Ethernet oraz protokół ARP. Token Ring oraz FDDI. 12. Warstwa łącza danych - urządzenia oraz elementy projektowania sieci lokalnych • • • Karty sieciowe, modemy. Koncentratory, mostki, przełaczniki. Topologie sieci lokalnych oraz zasady projektowania. 13. Bezpieczeństwo sieci komputerowych. • • • Zagrożenia bezpieczeństwa, Techniki właman, metody zapewniania bezpieczeństwa, Zarys technologii DES, RSA, podpis cyfrowy oraz PGP 14. Elementy administrowania i zarządzania sieciami • • Serwery proxy oraz ściany ogniowe. Protokół SNMP 15. Elementy projektowania sieci komputerowych. • • Analiza wymagań uzytkownika, Wybrane zagadnienia projektowania sieci w warstwach 1 2 i 3 modelu OSI 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): 105 Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Przegląd podstawowych aplikacji i protokołów sieciowych: ftp, telnet, ssh, email, WWW. • • • Konfiguracja interfejsu TCP/IP stacji roboczej, Obsługa protokołów HTTP, SMTP, i POP3 za pomoca prostego klienta, Realizacja prostego klienta TCP do ręcznej komunikacji z serwerami HTTP, SMTP, POP3. 2. Podstawowe urządzenia sieciowe. • • Identyfikacja podstawowych urządzeń sieciowych: hubów, routerów, interfejsów/ portów, kabli połączeniowych, urzadzeń nadawczo-odbiorczych Weryfikacja ustawien sieciowych (adres IP, konfiguracja DNS, WINS, bramy), wyjaśnienie znaczenia tych ustawień dla właściwego funkcjonowania sieci 3. Programowanie aplikacji klient/serwer w Javie - elementy architektury aplikacji. • • • • Narzędzia javadoc.exe i jar.exe - Tworzenie dokumentacji i samo-uruchamiajacych sie archiwów Java, Elementy implementacji aplikacji sieciowej typu klient/serwer, Realizacja czatu na gniazdach TCP w jezyku Java, Rozdanie tematów projektów indywidualnych. Przykładowe tematy: ”gra rozproszona typu kółko-krzyżyk”, ”nim”, etc. 4. Standardy i technologie okablowania. • • Wykonanie i testowanie kabla prostego, krosowego, odwrotnego, standardy i technologie okablowania, rozwiazywanie problemów związanych z warstwą fizyczną Budowa sieci LAN złożonej z kilku komputerów, testowanie i monitorowanie sieci. 5. Programowanie aplikacji klient/serwer w Jawie - wielowatkowość • • • Asynchroniczna transmisja danych w Javie,. Separacja logiki watku od logiki wykonania, Implementacja wielowątkowego serwera TCP, 6. Podstawy konfigurowania routerów Cisco • • Weryfikacja i modyfikacja plików konfiguracyjnych routera, Instalacja, konfiguracja i umiejetność wykorzystania serwera TFTP do wysyłania i odbierania plików. 106 7. Zaawansowane mechanizmy transmisji danych • • • Klasy strumieniowe, Dzielenie i łączenie strumieni, Buforowanie i formatowanie przesyłanych danych, 8. Adresowanie IP - adresacja routerów w zadanej topologii. • • Znaczenie klas adresów IP, podsieci, masek podsieci, Konfiguracja adresu IP na interfejsach routera. 9. Przesyłanie obiektów w Javie • • • Serializacja obiektów - interfejs Serializable, Wykrywanie typów w czasie wykonania - RTTI (run-time type identification), Przesyłanie obiektów przez sieć. 10. Protokoły routingu • • Konfiguracja i weryfikacja działania protokołu RIP w sieciach LAN, Konfiguracja i weryfikacja działania protokołu OSPF w sieciach LAN, 11. Zdalne uruchamianie programów w Javie • • • Wykorzystanie klasy Runtime i Process, Realizacja zdalnych poleceń środowiskowych, Przekazywanie poleceń do aplikacji w czasie ich działania. 12. Projektowanie i symulacja sieci • • Adresowanie sieci, majac ”nie zaadresowana” topologie, Symulacja zaprojektowanej sieci 13. Programowanie aplikacji sieciowych wykorzystujących bazy danych • • Interfejs JDBC do połączeń z bazami danych, Przykład prostej aplikacji sieciowej wykorzystującej bazę danych. 14. Praktyczna realizacja zadanej topologii sieci przy pomocy routerów Cisco. • • • Realizacja prostej sieci (routery, serwery, hosty) z wykorzystaniem DHCP Sprawdzanie ruchu w czasie rzeczywistym za pomoca polecenia ”debug”, Diagnozowanie i usuwanie uszkodzen w sieci. 15. Troubleshooting • • Diagnozowanie i rozwiązywanie problemów w sieciach LAN Obrona projektów końcowych. 107 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. V. Amato. Akademia Sieci Cisco. Pierwszy rok nauki, wydanie drugie rozszerzone. Mikom, Warszawa 2002 2. Kurose J. F., Ross K. W., Sieci komputerowe. Od ogółu do szczegółu z Internetem w tle, Wydawnictwo Helion, Gliwice 2006 3. K. Krysiak. Sieci Komputerowe - Kompendium. Wydawnictwo Helion 2003 4. 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. 108 Kierunek: Informatyka Przedmiot: Technologie programistyczne - systemy internetowe Programming Technologies - Internet Technologies Czas trwania: semestr 6 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Wykład prof. dr hab. inż. Mieczysław Kłopotek Laboratorium mgr Mariusz Kujawiak Liczba godzin Tryb zaliczenia 30 zaliczenie na ocenę 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • Podstawy Programowania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu "Technologie programistyczne - systemy internetowe" jest przekazanie wiedzy z zaawansowanych technologii do budowania systemów internetowych w aspekcie zarówno teoretycznym jak i praktycznym. Rozwiniętymi celami szczegółowymi są: • • • Przedstawienie języków programowania po stronie klienta: html, javascript, aplety Przedstawienie języków programowania po stronie serwera: php, servlety, jsp, DotNET; Metody dostępu do baz danych po stronie serwera; Celem laboratorium jest nabycie umiejętności tworzenia aplikacji internetowych i instalowania aplikacji na serwerach oraz mechanizmy testowania aplikacji. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • • Projektowanie i implementacja internetowej gry towarzyskiej, Implementacje części aplikacji internetowej po stronie serwera, Implementacje części aplikacji internetowej po stronie klienta, Przesyłanie danych poprzez protokół HTML do serwera i utrwalanie w bazie danych 109 • Utrwalanie i prezentacja danych z repozytorium XML WYKŁAD 1. HTTP i architektura klient-serwer w aplikacjach internetowych • • Cechy charakterystyczne protokołu HTTP Wykorzystanie protokołu HTTP w aplikacjach klient-serwer 2. JavaScript • • • • JavaScript jako język programowania Model DOM dokumentu HTML i dostep w JavaScript Obsługa zdarzeń w JavaScript Obsługa formularzy 3. Aplety • • • Możliwości i ograniczenia apletu Cykl życia apletu Transformacja aplikacji Swingowej do apletu Javy 4. Kooperacja JavaScript z Apletami, JavaScript i Apletów z serwerami • • • • Komunikacja apletu z serwerem Komunikacja Javascript z serwerem Współpraca programów w JavaScript i apletów Cookies jako medium komunikacji między programami po stronie klienta 5. Technologie CGI i servlety • • • • • Zdalna obsługa zadań w architekturze klient-serwer - zasady Definicja interfejsu CGI Motywacja i koncepcja serwletów Cykl życia serwletów Osadzanie programów CGI i serwletów na serwerze 6. JSP • • • Dynamiczne strony WWW - koncepcja JSP, PHP, ASP itd. Osadzanie STRON jsp na serwerze JSP a programowanie serwletów 7. PHP • • • Język programowania Interfejs do usług serwera Wykorzystanie ciasteczek 8. Metody dostępu do baz danych po stronie serwera 110 • • • • Model dla serwletów Model dla JSP Model dla PHP Nie-SQLowe bazy danych 9. DotNET • • • Zintegrowane środowisko tworzenia aplikacji rozproszonych Wprowadzenie do jezyków ”szarp” Koncepcja komunikacji w dotNET 10. Problemy kompresji informacji • • • Rodzaje kompresji Metody kompresji bezstratnej Metody kompresji stratnej 11. Zdalne uruchamianie aplikacji • • • • RPC RMI CORBA ADO, .NET 12. Koncepcje bezpieczeństwa komunikacji w Internecie • • • • • • zagrożenia cele polityki bezpieczeństwa kryptografia bezpieczne połączenia bezpieczeństwo kodu Zaufanie w sieci 13. Technologie i zastosowania pająków • • • • zadania stawiane pająkom koordynacja pracy zespołu pająków ukierunkowanie przeszukiwania przestrzeni dokumentów prognostyka odwiedzin 14. Technologie analizy kolekcji dokumentów hipertekstowych • • • rozpoznawanie języka analiza językowa (stemming, model wektorowy) konstrukcja list inwersyjnych 15. Technologie oceny wartości dokumentów w Internecie • • • statyczna ocena wartości dokumentu dynamiczna ocena wartości dokumentu ocena wartości a listy inwersyjne 111 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Projektowanie i implementacja internetowej gry towarzyskiej w trybie tekstowym (szachy, warcaby, kółko i krzyzyk, wilk i owce) • • rozdanie zadań ”bazowych” dla ciągu laboratoriów implementacja gry w trybie jednego stanowiska 2. Projektowanie i implementacja internetowej gry towarzyskiej c.d. • • Tworzenie zdalnego interfejsu dla dwóch uczestników Tworzenie ”serwisu” dla wielu par graczy 3. Interfejs graficzny do gry towarzyskiej (Swing standalone lub aplet) • • Swing standalone Transformacja do apletu 4. Współpraca JavaScript i apletów Javy • • • Gra w postaci apletu bez interfejsu graficznego Interfejs poprzez JavaScript Współpraca 5. Gry w technologii serwletów • • • Gra w postaci serwletu Interfejs w postaci apletu Współpraca 6. Gry w technologii JSP • • Interfejs w postaci czystego tekstu HTML + pliki graficzne Gra w technologii JSP / grafika serwletowa 7. Internacjonalizacja (getLocale) gier w technologii JSP i serwletów 112 • • Przygotowanie wielojęzycznych tekstów do komunikacji w grze Internacjonalizacja przez przekierowanie 8. Gry w technologii PHP • • Interfejs w postaci czystego tekstu HTML + pliki graficzne Gra i generowanie grafiki w PHP 9. Gry w technologii DotNET • • Implementacja gry w trybie jednego stanowiska Rozproszenie interfejsu 10. Gry w technologii JSP, z pamiętaniem wyników w bazie danych • • Zdalny dostęp do bazy danych Problem separacji transakcji (pojedyncza scieżka) 11. Zdalne uruchamianie aplikacji przez RMI • • Interfejs w postaci samodzielnej aplikacji Swing Obsługa gry przez zdalny moduł RMI 12. Domykanie luk bezpieczeństwa dla wybranych serwletów • • Kontrola wyboru języka Kontrola parametrów przekazywanych przxez użytkownika 13. Programowanie pajaków do ”brand monitoring” • • • • Pająk internetowy Obsługa listy adresów startowych Obsługa listy słów kluczowych Ewaluacja zagrożenia w brand monitoring 14. Obliczanie tf-idf dla dokumentów z kolekcji • • • • Ekstrakcja listy słów z kolekcji dokumentów i z każdego dokumentu Zastosowanie stemera i usuwania słów ze stop-listy Charakteryzacja histogramowa kolekcji i indywidualnych dokumentów Obliczanie tf i idf. 15. Liczenie PageRank dla kolekcji dokumentów • • • Ekstrakcja struktury linków z kolekcji dokumentów Implementacja algorytmu PageRank Prezentacja listy dokumentów wg pagerank ZALICZENIE LABORATORIUM 113 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. M.A.Kłopotek: Inteligentne wyszukiwarki internetowe. Akademicka Oficyna Wydawnicza Exit, Warszawa 2001, 332 strony, ISBN 83-87674-31-1 2. M. A. Kłopotek: Java dla kursantów niecierpliwych i odpornych. Opracowanie. 3. S. T. Wierzchon Sztuczne Systemy Immunologiczne. Teoria i Zastosowania, Akademicka Oficyna Wydawnicza Exit, Warszawa 2001 4. Strona serwera WWW jo! 5. Strona serwera WWW bj 6. Strona serwera aplikacji foxserv 7. B. Eckel: Thinking in Java Prentice-Hall, December 2002 lub nowsze (poprawione) 8. Dokumentacja Javy jdk 1.4.2 9. Dokumentacja pakietu atomiki i polskieznaki 114 Kierunek: Informatyka Przedmiot: Technologie programistyczne - sieciowe systemy biznesowe Programming Technologies - Network Business Systems Czas trwania: semestr 6 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Anna Wawrzyńczak-Szaban 30 zaliczenie na ocenę Laboratorium dr Anna Wawrzyńczak-Szaban 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem udziału w zajęciach jest ogólna znajomość zagadnień związanych z funkcjonowaniem instytucji gospodarczych i ich zarządzaniem oraz projektowania systemów informatycznych, a ponadto wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Podstawy programowania Technologie sieciowe lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu ” Technologie programistyczne - sieciowe systemy biznesowe” jest wprowadzenie do problematyki architektury zorientowanej na usługi (Service-Oriented Architecture, SOA). Rozwiniętymi celami szczegółowymi przedmiotu są: • • • • zapoznanie z podstawowymi pojęciami SOA zapoznanie z metodami wdrażania metodologie SOA zapoznanie z narzędziami SOA zapoznanie z standardami i praktykami SOA Celem laboratorium jest zapoznanie z technikami architektury zorientowanej na usługi. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • Modelowanie, projektowanie i implementowanie architektury zorientowanej na usługi Service-Oriented Architecture (SOA), Korzystanie ze standardów SOA, Automatyzowanie procesów biznesowych poprzez mapowanie ich na model architektoniczny, 115 • Identyfikowanie i wdrażanie scenariusze biznesowe w oparciu architekturę zorientowaną na usługi. WYKŁAD 1. Wprowadzenie do architektury SOA • • • Koncepcja systemów w architekturze opartej o usługi Przesłanki biznesowe do stosowania architektury SOA Przesłanki technologicznee do stosowania architektury 2. Warstwy architektury SOA • • • Warstwy tworzące architekturę zorientowaną na usługi Korzyści z wdrożenia SOA Cykl życia SOA 3. 3. Zasady projektowania SOA • • • • Charakterystyka architektury zorientowanej na usługi Zasady projektowania stosowane podczas budowy serwisów Jak SOA jest powiązane z tradycyjnymi stylami architektonicznymi Definiowanie SOI (service-oriented integration) i wyjaśnienie roli ESB w ustanawianiu SOI 4. Standardy w architekturze SOA • • • • Usługi sieciowe (Web services) i ich podstawowe standardy Wyjaśnienie związków między WS a SOA Budowanie rozwiązań interoperacyjnych. Lista standardów i identyfikacja ról w budowaniu rozwiązań z wykorzystaniem WS 5. Wsparcie narzędziowe IBM dla cyklu rozwojowego opartego o SOA • • • Identyfikacja zmiennych i standardów stosowanych w poszczególnych fazach cyklu życiowego SOA Faza modelowania: Rational RequisitePro , Rational Software ,WebSphere Business Modeler Faza montażu: WebSphere Integration Deweloper, WebSphere Developer for System z, Rational Application Deweloper 6. Wsparcie narzędziowe IBM dla cyklu rozwojowego opartego o SOA • • Faza Konfiguracji: WebSphere Application Serwer ,WebSphere Process Serwer, WebSphere Portal, WebSphere DataPower Faza zarządzania : WebSphere Business Monitor and Tivoli Performance Viewer, ITCAM for WebSphere and ITCAM for SOA 7. Zarządzanie w SOA 116 • • • Wsparcie dla zarządzania SOA Lista faz w cyklu życiowym SOA Identyfikacja oferty zarządzania cyklem życiowym w SOA 8. Założenia i modelowanie • • • Korzyści z modelowania w SOA RUP dla modelowania architektury zorientowanej na usługi (RUP for SOMA) Profile UML 2.0 dla tworzenia oprogramowania usług 9. Założenia i modelowanie • • • Specyfikacja ról w modelowaniu biznesowym (modelowanie procesów, analiza i optymalizacja) Identyfikacja przepływów prac, aktywności i przewodników oferowanych w RUP dla SOMA (identyfikacja serwisów, ich specyfikacja i realizacja) Wsparcie narzędzi CASE dla projektowania SOA 10. Scenariusz • • Definiowanie punktów wejść do tworzenia scenariuszy dla SOA Realizacje scenariuszy szybkiego rozwoju projektów SOA 11. Wzorce • • • Wzorce rozwiązań dla scenariuszy tworzenia serwisów i identyfikacja ich produktów (do realizacji tego wzorca) Wzorce rozwiązań dla połączeń serwisów i identyfikacji ich produktów (do realizacji tego wzorca) Wzorzec scenariusza dla BPM i identyfikacja jego produktów 12. Założenia montażu • • • Kreowanie potrzeb dla programowania w modelu SOA Definiowanie komponentów architektury zorientowanej na usługi (Service Component Architecture - SCA) Komponenty SCA: moduły serwisu, pośrednicy, komponenty serwisu i komponenty pośrednika 13. Założenia konfiguracji • • • Modele programowania klienta Integracja platform architektonicznych Integracja narzędzi do wytwarzania serwisów 14. Zarządzanie serwisów • • • Środowisko zarządzania w SOA Odkrywanie wymagań w zakresie zarządzania Identyfikacja oferty dostarczenia tych możliwości 117 15. Bezpieczeństwo serwisów • • • Bezpieczeństwo w środowisku SOA Cykl życia dla budowania aspektu bezpieczeństwa serwisów Oferta dostarczenia wymaganych cech serwisu w zakresie jego bezpieczeństwa 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Studium przypadku z na przykładzie JK Enterprise I • • Identyfikacja serwisu identyfikacja procesów biznesowych 2. Studium przypadku z na przykładzie JK Enterprise II • • • Specyfikacja serwisu Wybór scenariusza SOA Identyfikacja wzorca 3. Modelowanie procesu z użyciem WebSphere Business Modeler • • • Przeprowadzenie symulacji Analiza wyników symulacji Export modelu procesu do WebSphere Integration Developer 4. Rozwój architektury komponentów serwisu z użyciem WebSphere Integration Deweloper • • • Podstawowe możliwości środowiska WebSphere Integration Deweloper Tworzenie komponentów Tworzenie i walidacja interfejsu 5. Wsparcie rozwoju BPEL w WebSphere Integration Deweloper • • • Analiza projektu wygenerowanego na podstawie procesów biznesowych Diagram modułu SCA Analiza diagramu procesu w Prosecc Editor 118 6. Debuggowanie modułu procesu biznesowego • • Przygotowanie środowiska oraz Process Serwer Zastosowanie Integration Developer’s 7. Dodawanie reguł biznesowych do procesu biznesowego • • Ustanawianie kolejności zdarzeń Ustanawianie reguł biznesowych dla komponentu SCA 8. Dodawanie zadań do procesu biznesowego • • Konfiguracja zadań Ustanawianie zachowań transakcyjnych 9. Debuggowanie modułu procesu biznesowego • • Typy narzędzi debugujących dla modułu mediacji Debuggowanie modułu mediacji 10. Rozwój usług mediacyjnych mediacyjnych celu integracji procesów biznesowych z zewnętrznymi usługami • • Tworzenie biblioteki dla usług Webowych Rozbudowa modułu mediacji 11. Rozwój usług mediacyjnych mediacyjnych celu integracji procesów biznesowych z zewnętrznymi usługami II • • • Implementacja przepływu dla mediacji Konfiguracja importu SCA Testowanie kolejności procesów modułu mediacji 12. Rozwój mediacji systemu informacyjnego • • Tworzenie UpdateShipmentStatus modułu mediacji Implementacja JDBC systemu informacyjnego 13. Rozwój mediacji systemu informacyjnego • • Implementacja komponentu UpdateStatusMediation Testowanie nowego modułu mediacji 14. Rozmieszczanie i zarządzanie procesem biznesowym i usługami mediacyjnymi w WebSphere Process Serwer • • Tworzenie zdarzeń CEI Monitorowanie zdarzeń CEI 15. Zarządzanie aplikacją i zasobami 119 • • Charakterystyka Process Server Administrative Konsole Zarządzanie w Process Server Administrative Konsole 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Thomas Erl, "SOA Principles of Service Design", Prentice Hall Service-Oriented Computing Series, 2007 2. Thomas Erl, „Service-Oriented Architecture (SOA): Concepts, Technology, and Design”, Prentice Hall Service-Oriented Computing Series, 2005 3. Norbert Bieberstein, Robert G. Laird, Keith Jones, Tilak Mitra „Executing SOA: A Practical Guide for the Service-Oriented Architect”, IBM Press, 2008 4. Jim Brennan „IBM WebSphere DataPower SOA Appliance Handbook”, IBM Press, 2009 120 Kierunek: Informatyka Przedmiot: Mobilne systemy komputerowe Mobile Computer Systems Czas trwania: semestr 7 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Stanisław Ambroszkiewicz 21 egzamin Laboratorium mgr Grzegorz Terlikowski 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • • Metody probabilistyczne i statystyka Analiza matematyczna Podstawy programowania Algorytmy i złożoność lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu jest poznanie podstaw programowania mobilnych robotów, a w tym w szczególności: • • • • • Teorie systemów mobilnych robotów i ich weryfikacja na rzeczywistych robotach poprzez realizacje kolejnych coraz bardziej zaawansowanych projektów. Kontrola zachowania robota. Interpretacja danych pochodzących od sensorów. Modelowanie środowiska oraz nawigacja. Modelowanie i realizacja współdziałania robotów. Celem laboratorium jest praktyczna umiejętność programowania robota do realizacji zadań przedstawionych na wykładach. Tak, więc podczas laboratorium będą realizowane szereg projektów cząstkowych skorelowanych z wykładami oraz projekt główny. Studenci będą mieli do dyspozycji dwa mobilne roboty Pioneer 3 DX (firmy ActivMedia) każdy z chwytakiem P3 2-DOF oraz z notebookiem na pokładzie do wykonywania programu kontrolującego zachowanie robota. Do tworzenia programów używana będzie platforma 121 Saphira, specjalny język zwany Colbert, oraz język programowania C++. Projekty będą wykonywane w grupach 2-3 osobowych. Projekt główny dotyczyć będzie współdziałania wielu robotów w celu realizacji pewnego zadania. Takim zadaniem może być wspólne przenoszenie belki przez dwa roboty, lub np. gra w piłkę jako drużyna przeciwko innej drużynie. WYKŁAD 1. Wprowadzenie do mobilnych kognitywnych robotów • • • Mobilność robota Sensory Współdziałanie sensorów oraz ruchu robota 2. Architektura robota • • Architektura reaktywna, deliberatywna, hybrydowa, hierarchiczna Zachowanie robota 3. Wprowadzenie do architektury Saphira oraz jezyka Colbert • • • Podstawowe warstwy Struktura jezyka Omówienie prostych przykładów 4. Podstawy nawigacji • • Kontrola ruchu Wykrywanie i omijanie przeszkód 5. Reprezentacja swiata • • Wybór sposobu reprezentacji Tworzenie map otoczenia 6. Lokalizacja na podstawie sensorów oraz map • • Wykrywanie punktów charakterystycznych Śledzenie kierunku oraz pomiar przebytej odległości 7. Planowanie trasy • • Metody wyznaczania punktów charakterystycznych Wyznaczanie trasy na podstawie mapy 8. Podstawy współdziałania robotów • • Istota współdziałania Ustalanie wspólnego planu oraz wykonanie 122 9. Komunikacja pomiedzy robotami • • Wykorzystanie komunikacji bezprzewodowej:WLAN IEEE 802.11b, Bluetooth, podczerwień Format wiadomosci oraz wspólny protokół konwersacyjny 10. Współdziałanie na poziomie semantycznym • • • Wspólna reprezentacja świata Język opisujacy środowisko oraz zadania i sposoby wykonywania zadań Przekazywanie intencji, zobowiazań, celów, wiedzy pomiędzy robotami 11. Przegląd i porównanie architektur robotów • • • • Saphira, RUINO Dervish, Xavier The Animate Agent Architecture Kamera jako sensor, czyli źródło danych o środowisku 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wprowadzenie do środowiska ARIA • • • Przypomnienie podstawowych wiadomości z zakresu programowania w jezyku C/C++ Konfiguracja symulatora Uruchamianie przykładowych programów 2. Architektura systemu ARCOS • • • Komponenty systemu ARCOS Komunikacja z robotem Programowanie ruchu robota 3. Realizacja wielozadaniowosci w ARIA • • Mechanizmy ”akcji” - klasa ArAction Priorytety zadań 123 • Rozdanie projektów 4. Sensory zasięgu i podstawy nawigacji • • • Sonary, lasery, zderzaki Odczytywanie danych z sensorów Wykrywanie i omijanie przeszkód 5. Analiza danych z sensorów i tworzenie map środowiska • • Tworzenie modelu otoczenia Budowa map 6. Analiza map środowiska • • Wyszukiwanie obiektów charakterystycznych w mapach Lokalizacja robota na podstawie utworzonej mapy 7. Planowanie trasy • • • Wyznaczanie celu podróży robota Wyznaczanie optymalnej scieżki na podstawie mapy otoczenia Realizacja trasy 8. Manipulatory robota • • • Przeglad manipulatorów - gripper, P2Arm Programowanie grippera Realizacja zadania podnoszenia przedmiotu 9. Kamera jako źródło informacji o otoczeniu • • • • Konfiguracja interfejsu kamery Odczytywanie danych Analiza danych z kamery Wyszukiwanie elementów charakterystycznych - znaczników 10. Realizacja zadania wyszukiwania i przenoszenia przedmiotu • • Planowanie ruchu robota na podstawie danych z kamery Chwytanie i przenoszenie przedmiotu 11. Komunikacja bezprzewodowa z robotem • • • WLAN IEEE 802.11b, Bluetooth Zdalne sterowanie robotem 12. Podsumowanie i zaliczenie przedmiotu 124 • • Prezentacja i obrona projektów 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 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 0-55 pkt. 56-66 pkt. 67-77 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 78-88 pkt. 89-99 pkt. 100-110 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Robin Murphy. Introduction to AI Robotics. MIT Press (2000) ISBN 0-262-13383-0 2. David Kortenkamp, R. Peter Bonasso, and Robin Murphy (eds.) ArtificialIntelligence and Mobile Robots, MIT Press (1998) ISBN 0-262-61137-6 3. Saphira User’s Manual (version 6.2c), Pioneer II User’s Manual 4. G. D. Hager, H. I. Christensen, H. Bunke, and R. Klein (Eds.) Sensor Based Intelligent Robots. Springer LNCS 2238, 2002, ISBN 3-540-43399-6 5. R. C. Arkin. Behavior-Based Robotics. MIT Press (1998) ISBN 0-262-01165-4 6. R. A. Brooks. Cambrian Intelligence: The Early History of the New AI. Bradford Publishing, ISBN 0-262-52263-2 7. J. Borenstein, H. R. Everett, and L. Feng. Navigating Mobile Robots: Sensors and Techniques A. K. Peters, Ltd., Wellesley, MA (1998) 8. H. R. Everett. Sensors for Mobile Robots. A. K. Peters, Ltd. ISBN 1-56881-048-2 9. J. L. Jones and A. M. Flynn. Mobile Robots: Inspiration to Implementation. A. K. Peters, Ltd., Wellesley, Massachusetts (1993) 10. Jean-Claude Latombe. Robot Motion Planning. Kluwer Academic Publishers ISBN 07923-9206-X 125 Kierunek: Informatyka Przedmiot: Symulacja komputerowa Computer Simulation Czas trwania: semestr 7 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Tengiz Boczoriszwili 21 egzamin Laboratorium mgr Piotr Świtalski 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Metody probabilistyczne i statystyka Technologie sieciowe Programowanie obiektowe lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest przekazanie wiedzy z zakresu: • • • metodyki realizacji modeli symulacyjnych, teoretycznych podstaw symulacji komputerowej, oraz teorii budowy komputerowych modeli symulacyjnych. Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności tworzenia modeli symulacyjnych sieci komputerowych. Zasadniczym elementem praktycznym ćwiczeń laboratoryjnych jest zadanie indywidualne o charakterze projektu. W ramach projektu studenci przygotowują cele symulacji, model symulacyjny sieci komputerowej, opracowują dane wejściowe, przeprowadzają replikacje i opracowują wyniki symulacji. Ocenie podlega cały proces i jego zgodność z metodyką realizacji modeli symulacyjnych. WYKŁAD 1. Wstęp do symulacji sieci komputerowych. 126 • • • Cele symulacji. Korzyści wynikające z symulacji sieci. Metodologia symulacyjnego modelowania sieci. 2. Metodyka realizacji modelu symulacyjnego. • • • Elementy modelu symulacyjnego. Parametry modelu symulacyjnego. Etapy realizacji modelu. 3. Teoretyczne podstawy symulacji. • • • • Symulacja sterowana zdarzeniami. Czas symulacji. Dane wejściowe i dane wynikowe. Symulacja równoległa. 4. Koncepcje modelowania. • • • • • • Moduły hierarchiczne. Typy modułów. Modele elementów sieciowych. Metody opisu topologii sieci. Modelowanie transmisji danych. Parametry symulacji. 5. Język symulacyjny NED. • • • • • Podstawy leksykalne języka NED. Definicja kanału. Definicje modułów. Definicje sieci. Wyrażenia. 6. Modelowanie obiektów i protokołów sieciowych. • • • • Istota modelowania struktury sieci. Modele węzłów. Modele łączy międzywęzłowych. Modele protokołów sieciowych. 7. Konfiguracja i przeprowadzanie symulacji. • • • • Konfiguracja symulacji. Konfiguracja wektorów wyjściowych. Konfiguracja generatorów liczb losowych. Przebieg symulacji. 8. Analiza wyników symulacji. • Wektory wyjściowe. 127 • • Statystyka skalarna Poziom ufności wyników symulacji i najczęściej popełniane błędy. 9. Analiza wyników symulacji. • • Narzędzia do analizy symulacji. Narzędzia do obrazowania wyników symulacji. 10. Komercyjne i badawcze symulatory sieci komputerowych i ich możliwości (1). • • Symulator OPNET. Symulator COMNET. 11. Komercyjne i badawcze symulatory sieci komputerowych i ich możliwości (2). • • • Symulator ns-2. Symulator OMNeT++ Symulator cnet. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Obsługa symulatora sieci komputerowych OMNET++ • • • Składniki pakietu OMNET++ Możliwości środowiska. Wprowadzenie prostego modelu sieci i przeprowadzenie symulacji. 2. Przygotowanie danych wejściowych do symulacji - modele elementów sieci. • • • • Modele węzłów. Modele łączy. Modele protokołów. Wykorzystywanie języka programowania NED. 3. Przygotowanie danych wejściowych do symulacji - model struktury sieci. • Modelowanie struktury sieci. 128 • Wykorzystywanie języka programowania NED. 4. Przygotowanie danych wejściowych do symulacji - model użytkowników sieci. • • • Modele użytkowników sieci. Modele generowanego ruchu przez użytkowników sieci. Wykorzystywanie języka programowania NED. 5. Konfiguracja symulacji (1). • • Przygotowanie celów symulacji. Przygotowanie scenariuszy symulacyjnych. 6. Konfiguracja symulacji • • Pliki konfiguracyjne. Parametry konfiguracyjne. 7. Konfiguracja symulacji • • Konfiguracja generatorów liczb losowych. Konfiguracja wektorów wyjściowych. 8. Symulacja przygotowanego modelu sieci (1). • • Przygotowanie procesu symulacji. Przeprowadzanie replikacji. 9. Symulacja przygotowanego modelu sieci (2). • • Przeprowadzanie replikacji. Zmiana parametrów symulacji w zależości od przyjętych celów. 10. Analiza wyników symulacji (1). • • Analiza i wizualizacja wyników symulacji. Narzędzia do analizowania (Grace, Root, Gnuplot). 11. Analiza wyników symulacji (2). • • • Opracowanie statystyk skalarnych. Wykresy wektorów wyjściowych. Opracowanie wniosków z przeprowadzonych symulacji. 12. Przedstawienie i ocena projektu. • • Prezentacja projektu. Zaliczenie projektu. ZALICZENIE LABORATORIUM 129 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 0-55 pkt. 56-66 pkt. 67-77 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 78-88 pkt. 89-99 pkt. 100-110 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. M. Zhou, K. Venkatesh., Modeling, Simulation and Control of FMS, Word scientific publishing, 1999 2. Fishman G. S.: Symulacja komputerowa, pojecia i metody. PWE, Warszawa 1981. 3. Tyszer J.: Symulacja cyfrowa. WNT, Warszawa 1990. 4. Peterson J.L.: Petri net theory and the modeling of systems, Prentice-Hall, Inc., Englewood Cliffs, 1981. 5. Tyszer J.: Object-oriented computer simulation of discrete-event systems, 6. Kluwer Academic Publishers, 1999 6. Symulator cnet http://www.csse.uwa.edu.au/cnet/ 7. Platform Independent Petri Net Editor - http://pipe2.sourceforge.net/ 8. OMNeT++ Manual 9. OMNeT++ Tutorial 130 Kierunek: Informatyka Przedmiot: Programowanie obiektowe Object-Oriented Programming Czas trwania: semestr 2 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Andrzej Wiśniewski 30 egzamin Laboratorium dr Anna Kołkowicz dr hab. Andrzej Wiśniewski 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • Podstawy programowania. lub znajomość literatury obowiązującej w tym przedmiocie oraz umiejętność programowania w jednym z języków wysokiego poziomu. ZAŁOŻENIA I CELE Podstawowym celem wykładów jest przekazanie wiedzy o: • • • paradygmatach programowania ze szczególnym uwzględnieniem paradygmatów obiektowego i zdarzeniowego, modelowaniu obiektowym w jezyku UML, oraz projektowaniu i programowaniu aplikacji okienkowych zgodnie z paradygmatami obiektowym i zdarzeniowym. Celem dodatkowym jest zapoznanie studentów z językiem programowania Java. Celem zajęć laboratoryjnych jest nabycie i opanowanie umiejetności w projektowaniu i programowaniu aplikacji konsolowych i okienkowych w języku Java. Po wprowadzeniu w środowisko programistyczne studenci powinni opanować praktycznie: • • • podstawowe konstrukcje w języku Java, obiektowe tytpy danych, w tym tablice, strumienie i klasy, dziedziczenie i polimorfizm, 131 • pakiety graficzne AWT oraz swing. WYKŁAD 1. Języki i paradygmaty programowania. • • • • • Historyczne paradygmaty programowania: programowanie liniowe, proceduralne, modularne, strukturalne Paradygmat programowania obiektowego i zdarzeniowego. Języki zorientowane obiektowo. Paradygmat programowania deklaratywnego. Języki deklaratywne. Paradygmat programowania logicznego. Języki logiki. Paradygmat programowania funkcyjnego. Języki funkcyjne. 2. Główne koncepcje języka Java. • • • • • • Obiektowość. Idea programowania obiektowego. Niezależność od architektury. Sieciowość i obsługa programowania rozproszonego. Niezawodność i bezpieczeństwo. Dystrybucje jezyka Java. Struktura programu. 3. Jednostki leksykalne języka Java. • • • Słowa kluczowe, identyfikatory, komentarze, literały. Nieobiektowe typy danych. Wyrażenia i operatory. 4. Instrukcje w języku Java • • • Instrukcje decyzyjne Instrukcje iteracyjne. Instrukcje sterujące. 5. Klasy i obiekty • • • • • Definiowanie klas. Konstruktory. Statyczne składowe klasy. Tworzenie i niszczenie obiektów. Przeciążanie metod i konstruktorów. 6. Tablice i łańcuchy znakowe jako obiektowe typy danych • • • • Sposoby deklaracji tablic. Tablice wielowymiarowe. Przekazanie tablicy do metody jako parametr. Łańcuchy znakowe. Klasa String. 132 7. Wyjątki. Asercje • • • • Implementacja wyjątków w języku Java. Przechwytywanie wyjątków. Rzucanie wyjątkami. Asercje 8. Strumienie • • • • • • Podstawowe klasy strumieniowe. Standardowe strumienie danych. Pliki - klasa File. Odczyt danych tekstowych i binarnych ze strumienia wejsciowego. Zapis danych tekstowych i binarnych do strumienia wyjsciowego. Potoki. 9. Dziedziczenie • • • • Kompozycja a dziedziczenie Istota dziedziczenia jednobazowego. Referencje this i super. Reguły dziedziczenia. 10. Polimorfizm • • • • Implementacje polimorfizmu w języku Java. Przeciążanie, przesłanianie i dynamiczne wiązanie metod. Klasy i metody abstrakcyjne. Klasy i metody finalne. 11. Projektowanie obiektowe • • • • • • Identyfikacja obiektów. Analiza przestrzeni przedmiotowej. Język UML (Unified Modeling Language) do modelowania obiektowego. Elementy języka UML (komentarze, nazwy, interfejsy, aktor, pakiety). Diagramy języka UML (przypadków uzycia, klas, obiektów, stanów, działalnosci, przebiegu, kooperacji, komponentów, zastosowan). Język ograniczeń obiektowych. 12. Paradygmat programowania zdarzeniowego. • • • Istota programowania zdarzeniowego. Delegacyjny model obsługi zdarzeń. Hierarchia klas zdarzeniowych. 13. Programowanie aplikacji okienkowych - pakiet AWT • • • Hierarchia klas AWT. Właściwości komponentów. Kontenery. 133 14. Programowanie aplikacji okienkowych - pakiet Swing (1) • • • • Hierarchia komponentów pakietu Swing. Okna aplikacji i ich architektura. Właściwości komponentów. Kontenery. 15. Programowanie aplikacji okienkowych - pakiet Swing (2). • • • • Okna wewnętrzne. Okna dialogowe. Panele. Zaliczenie. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Środowisko programistyczne. • • • • • Obsługa edytora tekstowego. Tworzenie aplikacji w jezyku Java. Kompilacja programu źródłowego do kodu bajtowego. Uruchamianie programu. Interpretacja kodu bajtowego 2. Środowisko programistyczne. • • Tworzenie prostych aplikacji w języku Java. Posługiwanie się specyfikacją języka Java. 3. Nieobiektowe typy danych • • Tworzenie prostych aplikacji w języku Java. Wykorzystanie typów danych. 4. Instrukcje w języku Java. • Instrukcje decyzyjne. 134 Ocena db (C) db+ (B) bdb (A) • • Instrukcje iteracyjne. Instrukcje sterujące. 5. Klasy i obiekty. • • Definiowanie klas. Tworzenie obiektów. 6. Tablice i łańcuchy znakowe jako obiektowe typy danych. • • Przetwarzanie danych w tablicach. Przetwarzanie obiektów klasy String. 7. Wyjątki • • Obsługa wyjatków w wyrażeniach arytmetycznych. Przechwytywanie wyjątków. Rzucanie wyjątkami. 8. Strumienie • • • Wprowadzenie danych wejściowych - obsługa wyjątków. Odczyt danych tekstowych i binarnych ze strumienia. Zapis danych tekstowych i binarnych do strumienia. 9. Dziedziczenie • • Definiowanie podklas. Referencje this i super. 10. Polimorfizm • • • Przeciążanie, przesłanianie i dynamiczne wiązanie metod. Klasy i metody abstracyjne. Klasy i metody finalne. 11. Projektowanie obiektowe. • • Praktyczne wykorzystanie języka UML. Projektowanie aplikacji obiektowych. 12. Programowanie aplikacji okienkowych - pakiet AWT. • • Wykorzystanie komponentów i ich właściwości. Obsługa zdarzeń myszy. 13. Programowanie aplikacji okienkowych - pakiet AWT • • Komponenty i kontenery. Obsługa zdarzeń klawiatury. 135 14. Programowanie aplikacji okienkowych - pakiet Swing (1) • • Pakiet Swing - komponenty podstawowe: przyciski, etykiety, opcje, grupy opcji, listy, pola z przewijaniem. Obsługa zdarzeń 15. Programowanie aplikacji okienkowych - pakiet Swing (2) • • • • Komponenty tekstowe, formularze, tabele, grafika. Okna wewnętrzne. Okna dialogowe. Dyskusja i ocena projektów. 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. P. Miemeyr, J. Knudsen - Java wprowadzenie. Helion 2003 Krzysztof Barteczko - Java, wykłady i cwiczenia, MIKOM 2000 Marek Wierzbicki - Java, programowanie obiektowe, Helion 2006 Specyfikacja jezyka Java - http://java.sun.com 136 Kierunek: Informatyka Przedmiot: Programowanie deklaratywne Declarative Programming Czas trwania: semestr 3 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Wacław Bejtan 30 egzamin Laboratorium dr Wacław Bejtan 30 zaliczenie na ocenę Punkty ECTS 5 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 Celem głównym wykładu jest przedstawienie zasad programowania deklaratywnego na przykładzie języka PROLOG. Rozwiniętymi celami szczegółowymi są: • • • wprowadzenie do pdogramowania deklaratywnego Przekazanie wiedzy dotyczącej programowania w języku PROLOG zapoznanie z podstawami programowania w innych językach deklaratywnych takich jak LISP, CLIPS, ICON Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w programowaniu w jezyku PROLOG, a także poszerzenie wiadomości nabytych w dotychczasowym procesie dydaktycznym. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • • Wprowadzenie do programowania deklaratywnego propgramowania "Prolog". Programowanie silników reguł. Implementacja złożonego algorytmu RETE . Implementacja drzewa w programach typu Eclipse. 137 w oparciu o jezyk • Wykorzystywanie języka DSL w złożonych zadaniach heurystycznych. WYKŁAD 1. Wstęp do programowania deklaratywnego: • • • • • • podstawowe pojęcia logiki w jezyku Prolog, wprowadzenie do języków deklaratywnych, przykład prostego programu w języku Prolog, relacje pokrewieństwa, reguły prologowe, interpretacje programu prologowego. 2. Wprowadzenie do języka Prolog: • • • • • typy danych w Prologu, mechanizm zadawania pytań, interpretacja odpowiedzi rekurencyjna definicja reguły prologowej, definiowanie klauzul. 3. Składania i notacja programu w jezyku Prolog: • • • • • • • podstawowe formy deklaratywnej reprezentacji danych, mechanizm unifikacji (dopasowania), strategie wnioskowania w Prologu (porządek klauzul i celów), mechanizmy sterowania wnioskowaniem, interpretacje formalne programów prologowych, klauzule i termy - rozszerzenie pojęć, Logika formalna i metalogika jako metody reprezentacji wiedzy w języku Prolog. 4. Technologia tworzenia programu w języku Prolog: • • • • • • • • Reprezentacja listowa w Prologu, wybrane operacje na listach, notacje i priorytet operatorów, - operatory i wyrażenia arytmetyczne, mechanizm nawrotów, mechanizm odcięć, negacja przez niepowodzenie, operacje wejścia/wyjścia w Prologu. 5. Metapredykaty, czyli systemowe predykaty prologowe: • • • • • • termy i metody sprawdzania typów termów, kompozycja i dekompozycja termów, operacje równości w Prologu, manipulacje bazą danych, złożone struktury danych, manipulowanie przepływem sterowania. 138 6. Operacje wejścia wyjścia w Prologu: • • • • • operacje na plikach, przetwarzanie plików termów, manipulowanie danymi znakowymi, kompozycja i dekompozycja atomów, wczytywanie programów prologowych. 7. Style programowania deklaratywnego: • • • • • • styl programowania w jezyku Prolog, styl programowania w jezyki Lisp, styl programowania w języku Clips, styl programowania w języku Icon, inne style programowania deklaratywnego, jak interpretować programy deklaratywne. 8. Efektywność programów prologowych: • • • ogólne zasady poprawnego programowania deklaratywnego, debugowanie programu prologowego, układ sterowania. 9. Silniki reguł: • • • silniki reguł typu JSR-94, mechanizm dostępu do reguł z poziomu programu, interfejs do komunikacji z silnikiem reguł. 10. Przykładowe środowiska umożliwiajace programowanie prologowe: • • • • • • • JTP, Drools - Boss, ILog Rulet, Mandarax, OFBiz Rule Engine, OpenLexicon, TyRuBa. 11. Budowa aplikacji wykorzystujących silnik reguł: • • • • • algorytm RETE jako algorytm drzewiasty, podstawowe typy węzłów: root, 1-input, 2-input, terminal, generacja drzewa w programie Eclipse, tablica decyzyjna, opis reguł za pomocą zbioru wzorców. 12. DSL - tworzenie własnego jezyka zapisu reguł: • • mapowanie reguł, DSL - warstwa posrednia pomiedzy twórcami reguł a silnikiem reguł, 139 • • tłumaczenie tekstu DSL na język zrozumiały dla silnika reguł, kształt reguł, 13. Język DSL: • • • • pliki tekstowe reguł DSL, przykład pliku DSL, wykorzystywanie reguł w pliku, zapisy reguł. 14. Zapytania składajace się ze struktury LHS: • • • • Query - bez bloków Query w działaniu, przykłady programów prologowych, testowanie programów prologowych. 15. Współczesne języki programowania deklaratywnego: • • • • nowe rozwiązania, programy zorientowane, kierunki rozwoju programowania deklaratywnego, wiedza deklaratywna i wiedza proceduralna oraz obiektowa. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Wstęp do programowania deklaratywnego: • • • deklarowanie faktów, zapis reguł (klauzul), prosty program w języku Prolog. 2. Elementy języka programowania Prolog: • • realizacja obliczeń w języku Prolog, wykorzystanie obliczeń przy budowie klauzul. 140 Ocena db (C) db+ (B) bdb (A) 3. Złożone struktury danych: • • konstrukcja list, przetwarzanie list, wyszukiwanie elementów. 4. Logiczny opis zagadnienia: • • • • formułowanie logicznego opisu problemu, zapis opisu problemu w języku programowania deklaratywnego, wieże arytmograf. 5. Komunikacja programów prologowych z zewnętrznymi źródłami danych: • • mechanizmy importu danych, eksport danych do zasobów zewnetrznych, 6. Podstawowe elementy systemów ekspertowych: • • • reprezentacja wiedzy w systemie ekspertowym, konstrukcja reguł decyzyjnych, prosty system ekspertowy. 7. Implementacje struktur złożonych: • • implementacja struktur dwuczęściowych jako reguł Drools, dodatkowe atrybuty Drools. 8. Implementacja drzewa w programach typu Eclipse: • • generacja drzewa, modyfikacje reguł. 9. Prosta implementacja algorytmu RETE: • • • • dopasowywanie obiektów do pewnych reguł, kompilacja reguł, wykonywanie reguł, postać drzewiasta algorytmu. 10. Implementacja złożonego algorytmu RETE: • • • implementacja podstawowych typów wezłów, implementacja szczegółowych typów wezłów, implementacja węzłów typu terminal. 11. Tworzenie własnego języka zapisu reguł DSL: • • zapis DSL, kompilacja tekstu DSL w język zrozumiały dla silnika reguł. 141 12. Wykorzystywanie języka DSL w złożonych zadaniach heurystycznych: • • plik DSL (LHS, RHS), budowa zapytań poszukującychobiekty spełniające zadane kryteria. 13. Wykorzystywanie języka DSL w pliku reguł: • • zapis reguł, mapowanie wyrażeń warunkowych za pomoca plików DSL. 14. Implementacja zapytań: • • zapytania składające się ze struktury LHS, przykład zapisu i programu wykorzystującego silnik reguł. 15. Zaliczenie laboratorium: • • samodzielna implementacja zadania, omówienie wyników uzyskanych w trakcie zajęć laboratoryjnych. 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 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) 142 Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Clocksin W. F., Mellish C. S.: Prolog. Programowanie (tłumaczenie z j.. ang. Zmijewski T.). Hellion. Warszawa 2002 2. Roy P. V., Haridi S.: Programowanie. Koncepcje, techniki i modele. Helion. Warszawa 2005 3. Tchórzewski J.: Programowanie deklaratywne. Instrukcje do ćwiczen laboratoryjnych, Wyd. Akademii Podlaskiej, Siedlce 2008 (w przygotowaniu) 143 Kierunek: Informatyka Przedmiot: Platformy programowania Programming Platforms Czas trwania: semestr 5 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Wykład Laboratorium Liczba godzin Tryb zaliczenia dr Dariusz Mikułowski dr inż. Mirosław Barański 30 egzamin mgr Waldemar Bartyna mgr Grzegorz Terlikowski 30 Punkty ECTS 5 zaliczenie na ocenę POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Podstawy programowania Programowanie obiektowe Algorytmy i złożoność lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest przekazanie wiedzy dotyczącej platform programistycznych na przykładzie platform Java i .NET. Celami szczegółowymi są: • • • przekazanie ogólnej wiedzy na temat platform i stosowanych mechanizmów, uszczegółowienie wiedzu na przykłądzie platform Java i .NET, wprowadzenie do programowania w środowisku platform programistycznych na przykładzie języków programowania C# oraz Visual Basic .NET. Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności realizacji projektów programistycznych w środowisku platform programistycznych Java i .NET. Cele szczegółowe zajęć laboratoryjnych obejmują: • • • rozpoznanie możliwości środowisk platform programistycznych, nabycie umiejętności posługiwania się mechanizmami platform programistycznych, realizację projektów programistycznych w językach Java, C# oraz Visual Basic .NET. 144 WYKŁAD 1. Platforma programowania, podstawowe pojęcia • • • • • • UI, API, ABI, protokół Technologia Grid Połączenia ”ad hoc” Sieci wewnętrzne Sieci trwałe Sieci dynamiczne 2. Formułowanie założeń projektowych aplikacji (internetowej lub sieciowej) • • • • • Określanie celów projektowania aplikacji Architektura kierowana modelami (MDA) Computation Independent Model (CIM) Platform Independent Model (PIM) Platform Specific Model (PSM) 3. Platforma Java • • • • • Maszyna wirtualna Javy - JVM Podstawowe kategorie platform Integracja Javy z innymi językami - Java Native Interface Programowanie sieciowe - kod bajtowy Serwlety 4. Platforma .NET • • • • • Praktyka wykorzystania .NET Klienci XML Web services Serwery Narzędzia (CLR, IL, CLS, assembly) 5. Podstawy języka C# 1 • • • Jednostki leksykalne Elementarne typy danych Instrukcje proste 6. Podstawy języka C# 2 • • • Strukturalne instrukcje języka C# Strukturalne typy danych Wyrażenia 7. Programowanie obiektowe w języku C# 145 • • • Klasy Obiekty Klasy a struktury 8. Formularze w języku C# • • • Programowanie wizualno-obiektowe Podstawowe elementy formularzy Formularze a programowanie obiektowe 9. Obsługa wyjątków w jezyku C# • • • Rola wyjątków Sytuacje wyjątkowe w języku C# Zaawansowane metody programowania wyjatków. 10. Obsługa zdarzeń w języku C# • • • Programowanie sterowane zdarzeniami Delegacyjny model obsługi zdarzeń Przykłady aplikacji sterowanych zdarzeniami 11. Środowisko Visual Basic .Net • • • Elementy środowiska Visual Basic .Net Konfigurowanie środowiska Visual Basic .Net Programowe zarządzanie środowiskiem Visual Basic .Net 12. Programowanie obiektowe w Visual Basic .Net • • • Ważniejsze obiekty w Visual Basic .Net Zarządzanie obiektami podczas projektowania aplikacji Programowane zarządzanie obiektami 13. Formularze w Visual Basic .Net • • Formularze jako obiekty Zarządzanie formularzami 14. Projektowanie aplikacji WebServices w języku Visual Basic • • Charakterystyka obiektów wykorzystywanych podczas tworzenia aplikacji WebServices Przykłady 15. Obsługa wyjatków i usuwanie błędów w programach w jezyku VisualBasic • • • Wyjątki w VisualBasic .Net Debugowanie, śledzenie programu Inne metody badania poprawności programów 146 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Zapoznanie ze środowiskiem .Net • • • Charakterystyka elementów środowiska Zapoznanie z elementarnymi typami danych w środowisku .NET Rozwiązania prostych problemów algorytmicznych w środowisku .NET 2. Praca z intefejsem graficznym 1 • • • Zasady tworzenia intefejsu graficznego Ważniejsze obiekty formularza: formularze, etykiety, pola tekstowe, przyciski poleceń Przykłady prostych interfejsów graficznych 3. Praca z intefejsem graficznym 2 • • • Zaawansowane elementy interfejsu graficznego Praca z wieloma formularzami Przykłady zaawansowanych interfejsów graficznych 4. Praca z intefejsem graficznym 3 • • • Praca z elementarnymi obiektami graficznymi Właściwosci obiektów graficznych Przykłady prostych aplikacji graficznych - animacja 5. Podstawy Języka C# 1 • • • Problemy wymagające pracy z pojedynczym modułem Zapis prostych problemów algorytmicznych w języku C# Problemy algorytmiczne z elementarnymi typami danych 6. Podstawy Języka C# 2 • • • Problemy wymagające pracy z wieloma modułami Zapis złożonych problemów w języku C# Problemy algorytmiczne z zaawansowanymi typami danych 147 7. Obiektowość w jezyku C# 1 • • • Wybrane obiekty standardowe i ich właściwosci Programowanie metod i ich związek z formularzami Manualne i programowe zarządzanie właściwosciami obiektów 8. Obiektowość w jezyku C# 2 • • • Podstawowe zasady pracy z własnymi obiektami w C# Tworzenie własnych obiektów w jezyku C# Przykładowe zadania wymagajace zarządzania własnymi obiektami 9. Wyjątki w języku C# • • • Podstawowe zasady tworzenia wyjątków Problemy algorytmiczne wymagające wykorzystania wyjątków, Przykłady aplikacji z wyjątkami - kalkulator 10. Programowanie zdarzeniowe w języku C# • • Metody a zdarzenia w języku C# problemy algorytmiczne wymagające wykorzystania zdarzeń 11. Środowisko Visual Basic .Net • • • Środowisko Visual Basic .Net a .NET Elementarne typy danych w języku Visual Basic .NeT Rozwiązywanie prostych zadań w środowisku Visual Basic .Net 12. Zaawansowane elementy środowiska Visual Basic • • • Zarządzanie zaawansowanymi obiektami w Visual Basic Strukturalne typy danych w Visual Basic .Net Rozwiązywanie złożonych zadań i ich implementacja środowisku Visual Basic .Net 13. Programowanie obiektowe w środowisku Visual Basic .Net • • Tworzenie własnych obiektów Zarządzanie wieloma obiektami w aplikacjach Visual Basic .Net 14. Zaawansowane obiekty w Visual Basic .Net • • Obiekty do tworzenia aplikacji WebServices Wykorzystanie obiektów do tworzenia aplikacji WebServices w prostych aplikacjach 15. Prezentacja projektu. Zaliczenie przedmiotu • • Prezentacja wyników prac zespołów Dyskusja i ocena projektów 148 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Burke B., Monson-Haefel R.; Enterprise JavaBeans 3.0.; Wydawnictwo HELION, 2007 2. Dyche J.; CRM Relacje z klientami, Helion, Gliwice 2002 3. Essam A.; JScript .NET - programowanie. Biblia; Wydawnictwo Helion, 2002 4. Graham I., O’Callaghan A., Wills A.; Metody obiektowe w teorii i w praktyce; Wydawnictwa Naukowo Techniczne, 2004 5. McManus J.; Visual Basic .NET. Bazy danych. Ksiega eksperta; Wydawnictwo Helion, 2005 6. Mueller J. P.; Poznaj Soap; Wydawnictwo Mikom, 2002 7. Payne Ch.; ASP.NET dla kazdego; Wydawnictwo Helion, 2002 8. Platt D. S.; Podstawy Microsoft .NET; Wydawnictwo Read Me, 2001 9. Poe V.; Tworzenie hurtowni danych; Wydawnictwo Naukowo Techniczne, 2000. 10. Shaffer S., Simon A.R.; Hurtownie danych i systemy informacji gospodarczej. Zastosowanie w handlu elektronicznym; Oficyna Ekonomiczna, 2002. 11. Tyagi S., McCammon K., Vorburger M., Bobzin H.; Java Data Objects; Wydawnictwo Helion, 2004 12. Worley S.; ASP.NET. - Vademecum profesjonalisty; Wydawnictwo Helion, 2003 149 Kierunek: Informatyka Przedmiot: Podstawy przetwarzania rozproszonego Distributed Computing Fundamenals Czas trwania: semestr 6 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Zbigniew Wesołowski 30 egzamin Laboratorium dr inż. Zbigniew Wesołowski 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • podstawy programowania równoległego programowanie obiektowe algorytmy i złożoność lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem przedmiotu jest przedstawienie podstawowych modeli i problemów przetwarzania rozproszonego oraz przykładów ich zastosowań. Celem wykładu jest wprowadzenie podstawowych pojęć, modeli i technik systemów rozproszonych i przetwarzania rozproszonego. Omówione są biblioteki MPI i PVM stosowane do wytwarzania aplikacji rozproszonych. Przedstawione sa architektury systemów rozproszonych. Omówione są najważniejsze aspekty zarządzania prosem rozproszonym, tj. zarządzanie stanem globalnym, zarządzanie czasem oraz zarządzanie komunikacja. Celem laboratorium jest nauczenie studentów praktycznych umiejętności w konstruowaniu i implementowaniu aplikacji rozproszonych w środowiskach MPI i PVM. W ramach zajęć studenci instalują, konfigurują i testują wymienione środowiska w systemach MS Windows XP i Linux. Rozwiązują i praktycznie implementują typowe problemy przetwarzania rozproszonego. WYKŁAD 1. Wprowadzenie do systemów rozproszonych 150 • • • • • • • Definicja systemu rozproszonego. Cele tworzenia systemów rozproszonych. Główne cechy systemów rozproszonych: przeźroczystość, otwartość, skalowalność. Przykładowe systemy rozproszone: Internet, GRID. Istota przetwarzania rozproszonego. Przykładowe środowiska przetwarzania rozproszonego: MPI, PVM. Przykładowe projekty przetwarzania rozproszonego: Seti@Home, Cure-Cencer, Google 2. Wprowadzenie do środowiska MPI. • • • • • Podstawowe elementy środowiska MPI. Predefiniowane typy danych MPI. Operatory MPI. Wybrane predefiniowane funkcje MPI. Etapy tworzenia aplikacji równoległej w MPI. 3. Podstawy programowania rozproszonego w MPI. • • • Komunikacja dwupunktowa w MPI. Komunikacja kolektywna w MPI. Mechanizmy rozsyłania i zbierania danych. 4. Wprowadzenie do środowiska PVM. • • • • Historia PVM. Podstawowe elementy środowiska PVM. Etapy tworzenia aplikacji równoległej w PVM. Podstawowe polecenia konsoli PVM. 5. Podstawy programowania rozproszonego w PVM • • • Komunikacja między procesami w PVM. Rozgłaszanie w środowisku PVM. Mechanizmy rozsyłania i zbierania danych. 6. Architektury systemów rozproszonych. • • • Sieci komputerowe. Homogeniczne i heterogeniczne systemy komputerowe. Klastry 7. Rozproszone oprogramowanie systemowe. • • • • Protokoły komunikacyjne. Gniazda. Sieciowe systemy operacyjne. Rozproszone systemy operacyjne. 8. Procesy 151 • • • • • Wątki. Klienci. Serwery. Migracja kodu. Agenci programowi. 9. Procesy sekwencyjne i procesy rozproszone. • • • • Definicja procesu sekwencyjnego. Model procesu sekwencyjnego: stan procesu, zdarzenia, funkcja tranzycji. Definicja procesu rozproszonego. Model procesu rozproszonego: stan globalny, zdarzenia, globalna funkcja tranzycji 10. Wykonywanie procesów rozproszonych • • • • • • Wykonanie procesu rozproszonego Rodzaje przetwarzań: przetwarzanie deterministyczne, niedeterministyczne, quasideterministyczne Niedeterminizm przetwarzania rozproszonego Diagramy przestrzenno-czasowe, Graf stanów osiągalnych Mechanizm monitora procesu rozproszonego 11. Zarządzanie procesami rozproszonymi. • • • • Migracja procesów. Zarządzanie rozproszonym stanem globalnym. Zarządzanie czasem. Zarządzanie komunikacją. 12. Modele architektur środowisk przetwarzania rozproszonego. • • • Modele bazujące na protokołach komunikacyjnych. Model klient-serwer. Model trójwarstwowy. 13. Zarządzanie czasem - 1. • • • • • • Zegary fizyczne. Synchronizacja zegarów fizycznych. Znaczniki czasu Lamparta. Czas logiczny i zegary logiczne. Skalarne i wektorowe znaczniki czasu. Algorytmy realizacji skalarnych i wektorowych zegarów logicznych 14. Zarządzanie czasem - 2. • • Rozproszony stan globalny. Algorytmy elekcji: algorytm tyrana, algorytm pierścieniowy 15. Zarządzanie komunikacją. 152 • • • • • Komunikacja oparta na wymianie komunikatów: dwupunktowa, grupowa Komunikacja strumieniowa. Programowanie gniazd. Zdalne wywołanie procedury. Wywołanie obiektu zdalnego: CORBA, DCOM/COM, Java RMI 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Tworzenie prostych aplikacji rozproszonych w środowisku MPI w systemie operacyjnym MS Windows XP. • • Instalacja środowiska MPICH w systemie operacyjnym MS Windows XP Utworzenie prostej aplikacji rozproszonej 2. Tworzenie prostych aplikacji rozproszonych w srodowisku MPI w systemie operacyjnym Linux. • • • Instalacja środowiska MPICH w systemie operacyjnym Linux. Uruchomienie i przetestowanie menedżera procesów MPD. Uruchomienie przykładowego zadania na wielu procesach. 3. Komunikacja dwupunktowa w środowisku MPI. • Opracowanie aplikacji przesyłającej komunikaty wykorzystując mechanizmy nadawania i odbioru blokującego i nieblokującego. 4. Komunikacja kolektywna w środowisku MPI. • • Konfiguracja grupy przy pomocy komunikatora. Opracowanie aplikacji rozsyłającej komunikaty w obrębie utworzonej grupy. 5. Tworzenie zaawansowanych aplikacji rozproszonych w środowisku MPI • • Opracowanie aplikacji rozproszonej obliczajacą macierz B=AAT, gdzie A jest dana macierza kwadratowa liczb całkowitych stopnia n. Opracowanie aplikacji rozproszonej implementujacą algorytm sortowania przez scalanie n-elementowej tablicy liczb całkowitych. 153 6. Tworzenie prostych aplikacji rozproszonych w srodowisku PVM w systemie operacyjnym MS Windows XP. • • • Instalacja środowiska PVM w systemie MS Windows XP. Weryfikacja poprawności instalacji PVM. Konfiguracja maszyny wirtualnej. 7. Tworzenie prostych aplikacji rozproszonych w środowisku PVM w systemie operacyjnym Linux. • • • Instalacja środowiska PVM w systemie Linux. Weryfikacja poprawności instalacji PVM. Konfiguracja maszyny wirtualnej. 8. Tworzenie, testowanie i uruchamianie aplikacji rozproszonej w środowisku PVM - 1. • • • Przygotowanie kodów źródłowych aplikacji w C. Konfiguracja maszyny wirtualnej. Uruchomienie aplikacji rozproszonej. 9. Tworzenie, testowanie i uruchamianie aplikacji rozproszonej w środowisku PVM - 2. • • • • Przygotowanie kodów źródłowych aplikacji w C. Konfiguracja maszyny wirtualnej. Uruchomienie aplikacji rozproszonej. Dynamiczna zmiana początkowej konfiguracji maszyny wirtualnej. 10. Zegary logiczne - 1. • • Opracowanie aplikacji wykorzystującej zegary rozproszone. Opracowanie aplikacji implementujacej zegar logiczny w oparciu o algorytm Lamparta 11. Zegary logiczne - 2. • • Skonstruowanie topologii pierścienia maszyny wirtualnej. Opracowanie aplikacji rozsyłającej komunikaty z etykietami czasu logicznego w topologii pierścienia maszyny wirtualnej. 12. Komunikacja grupowa w PVM - 1. • • Opracowanie aplikacji implementującej mechanizm komunikacji grupowej w PVM Wykonywanie podstawowych operacji w grupie: dołączanie do grupy, opuszczanie grupy, określanie rozmiaru grupy 13. Komunikacja grupowa w PVM - 2. • • Opracowanie aplikacji tworzącej topologie pierścienia maszyny wirtualnej w oparciu o mechanizm komunikacji grupowej. Opracowanie aplikacji rozsyłającej komunikaty w topologii pierścienia maszyny wirtualnej. 154 14. Komunikacja grupowa w PVM - 3. • • Opracowanie aplikacji rozproszonej obliczającą macierz B = AAT , gdzie A jest dana a kwadratowa liczb całkowitych stopnia n. Opracowanie aplikacji rozproszonej rozwiazującą problem producenta i konsumenta 15. Zaawansowane mechanizmy komunikacji grupowej w PVM. • • Opracowanie aplikacji rozproszonej implementującą algorytm sortowania przez scalanie n-elementowej tablicy liczb całkowitych. 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 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Coulouris G., Dollimore J., Kindberg T. (1998): Systemy rozproszone. Podstawy i projektowanie. WNT, Warszawa. 2. Geist A., Beguelin A., Dongarra J., Jiang W., Manchek R., Sunderam V. (1994): Parallel Virtual Machine A Users’ Guide and Tutorial for Networked Parallel Computing, MIT Press. 3. Snir M., William Gropp W. (1998): MPI: The Complete Reference. MIT Press. 4. Stallings W. (2006). Systemy operacyjne. Struktura i zasada budowy. PWN, Warszawa. 5. Tanenbaum A., van Steen M. (2006): Systemy rozproszone. Zasady i paradygmaty. WNT, Warszawa. 6. Ben-Ari M. (1996): Podstawy programowania współbieżnego i rozproszonego. WNT, Warszawa. 155 7. Gropp W., Lusk E., Thakur R. (1999). Using MPI-2: Advanced Features of the Message Passing Interface (Scientific and Engineering Computation). MIT Press. 8. Raynal M. (1988): Distributed Algorithms and Protocols. John Wiley & Sons. 9. Tanenbaum A. S. (1997): Rozproszone systemy operacyjne, PWN, Warszawa. 10. Weiss Z., Gruzlewski T. (1993): Programowanie współbieżne i rozproszone w przykładach i zadaniach. WNT, Warszawa. 156 Kierunek: Informatyka Przedmiot: Podstawy przetwarzania równoległego Parallel Computing Fundamenals Czas trwania: semestr 5 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Tengiz Boczoriszwili 30 zaliczenie na ocenę Laboratorium mgr Mirosław Szaban dr Tengiz Boczoriszwili 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Podstawy programowania Programowanie obiektowe Algorytmy i złożoność lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem przedmiotu jest przedstawienie podstawowych modeli i problemów przetwarzania równoległego oraz przykładów ich zastosowań. Celem wykładu jest wprowadzenie podstawowych pojęć, modeli i technik przetwarzania równoległego i współbieżnego. Przedstawione są modele architektur komputerów wykorzystywanych w obliczeniach równoległych. Omówione są paradygmaty programowania współbieżnego dla maszyn z pamięcią lokalną i wspólną. Następnie są omawiane najważniejsze problemy programowania współbieżnego: problem wzajemnego wykluczania, problem producenta i konsumenta, problem czytelników i pisarzy, problem ucztujących filozofów. Dalej są omawiane równoległe algorytmy sortujące wykorzystujące sieci sortujące oraz równoległe algorytmy porządkowania i wykonywania obliczeń prefiksowych na listach. Celem laboratorium jest nauczenie studentów praktycznych umiejętności w konstruowaniu i implementowaniu aplikacji równoległych i współbieżnych w środowisku Aonix ObjectAda 157 95 i GLADE. W ramach zajęć studenci implementują najważniejsze algorytmy omówione podczas wykładów. Cele poszczególnych zajęć laboratoryjnych: • • • • • • • • • • • • • • • Celem ćwiczenia nr 1 jest nauczenie studentów podstaw programowania w języku Ada poprzez tworzenie i implementację algorytmu przeszukiwania liniowego z wartownikiem i algorytmu przeszukiwania binarnego. Celem ćwiczenia nr 2 jest nauczenie studentów podstaw programowania w języku Ada poprzez implementację algorytmów sortowania Bubble-Sort i Merge-Sort. Celem ćwiczenia nr 3 jest nauczenie studentów programowania w języku Ada z użyciem typów dostępowych poprzez implementację list dwukierunkowych. Celem ćwiczenia nr 4 jest implementacja drzewa list złączonych. Celem ćwiczenia nr 5 jest implementacja w Adzie algorytmów Dekkera i Petersona wzajemnego wykluczania dla dwóch procesów. Celem ćwiczenia nr 6 jest implementacja i wykorzystanie semaforów binarnych do rozwiązania zadania obliczanie różnicy symetrycznej dwóch zbiorów liczb całkowitych. Celem ćwiczenia nr 7 jest implementacja rozwiązania problemu producenta i konsumenta z użyciem semaforów binarnych. Celem ćwiczenia nr 8 jest nauczenie studentów zasad synchronizowania dwóch procesów obliczeniowych na przykładach równoległego obliczanie wartości dwumianu Newtona i problemu lotniskowca. Celem ćwiczenia nr 9 jest nauczenie studentów zasad wzajemnego wykluczania n procesów obliczeniowych na przykładzie problemu czytelników i pisarzy. Celem ćwiczenia nr 10 jest nauczenie studentów zasad synchronizowania n procesów obliczeniowych na przykładzie problemu ucztujących filozofów. Celem ćwiczenia nr 11 jest implementacja równoległego algorytmu Merge-Sort. Celem ćwiczenia nr 12 jest implementacja jest sieci sortująco- scalającej. Celem ćwiczenia nr 13 jest implementacja równoległego algorytmu porządkowania listy dwukierunkowej. Celem ćwiczenia nr 14 jest implementacja równoległego algorytmu wyszukiwania elementów w złączonych listach dwukierunkowych. Celem ćwiczenia nr 15 jest nauczenie studentów zasad projektowania aplikacji rozproszonych w środowisku GLADE oraz implementacja równoległego algorytmu obliczania różnicy symetrycznej zbiorów liczb całkowitych. WYKŁAD 1. Podstawy programowania w języku Ada 95 - 1. • • • • • Struktura programu System typów danych Wejście i wyjście Instrukcje. Podprogramy. 2. Podstawy programowania w języku Ada 95 - 2. • • Pakiety Wskaźniki 158 • Dynamiczne struktury danych – listy dwukierunkowe. 3. Typy zadaniowe i chronione w Adzie 95 • • Obiekty i typy zadaniowe. Obiekty i typy chronione. 4. Mechanizmy komunikacji i synchronizacji w języku Ada 95 • • Spotkania asynchroniczne. Instrukcja select i jej formy. 5. Wprowadzenie do przetwarzania równoległego • • • • • Cele i najważniejsze zagadnienia przetwarzania równoległego. Zalety i wady równoległego wykonywania obliczeń. Pojęcia podstawowe: proces, program a proces, rodzaje procesów, wątek, synchronizacja. Rodzaje równoległego wykonywania obliczeń. Obliczenia równoległe, rozproszone a współbieżne. 6. Wprowadzenie do przetwarzania współbieżnego • • • • • Cele i najważniejsze zagadnienia przetwarzania współbieżnego. Definicje pojęć podstawowych: procesy współbieżne, programy współbieżne, zdarzenia synchroniczne i asynchroniczne, jednoczesność, komunikacja i synchronizacja, współpraca, współzawodnictwo, zasoby współdzielone i sekcje krytyczne, techniki czekania: czekanie pasywne, czekanie aktywne. Abstrakcja programowania współbieżnego. Techniki programowania współbieżnego: przeplot, instrukcje atomowe. Problem wzajemnego wykluczania.algorytmiczna 7. Modele architektur komputerów równoległych • • • • • Klasyfikacja architektur komputerów - taksonomia Flynna. Zalety i wady architektur SIMD i MIMD. Klastry. Podział maszyn równoległych wg kryterium dostępu do pamięci: maszyny z pamięcią wspólną, maszyny z pamięcią lokalną (rozproszoną). Teoretyczne modele komputerów równoległych. Model PRAM. 8. Problemy równoległego rozwiązywania zadań obliczeniowych • • • • • • • Sekwencyjność właściwa problemu. Stała a rozszerzająca się równoległość. Równoległość explicitimplicit. Równoległość danych . Równoległość algorytmiczna. Mechanizmy synchronizacji: zamki, semafory, monitory, bariery. Mechanizmy synchronizacji i komunikacji: przestrzenie krotek, potoki, kanały, zdalne wywołanie procedury, spotkania. 159 • Komunikacja synchroniczna i asynchroniczna. 9. Poprawność programów równoległych i współbieżnych • • • • • • • Przeplot. Własność bezpieczeństwa. Własność żywotności. Własność sprawiedliwości. Inne pożądane własności programów współbieżnych. Blokada i zagłodzenie. Zakleszczenia. Sposoby unikania zakleszczeń. 10. Techniki programowania równoległego dla maszyn z pamięcią wspólną • • Wykorzystanie typów zadaniowych i chronionych do rozwiązania do rozwiązania klasycznych problemów współbieżności. Problem producenta i konsumenta. 11. Techniki programowania równoległego dla maszyn z pamięcią lokalną • • • Wykorzystanie mechanizmu spotkań asynchronicznych do rozwiązania klasycznych problemów współbieżności. Problem czytelników i pisarzy. Problem ucztujących filozofów. 12. Podstawowe algorytmy równoległe - 1 • • Sieci przetwarzania równoległego: sieci sortujące, sieci scalające. Sieci systologiczne. 13. Podstawowe algorytmy równoległe - 2 • • Równoległe porządkowanie list dwukierunkowych. Równoległe obliczenia prefiksowe na listach dwukierunkowych. 14. Metody oceny efektywności algorytmów i systemów równoległych • • • • Miary wydajności. Skalowalność systemów równoległych Prawo Amdhal’a Prawo Gustafsona 15. Przyszłość przetwarzania równoległego. • • • • Inteligentne pamieci. Systemy rekonfigurowane. Asynchroniczne systemy obliczeniowe. Sieciowe systemy obliczeniowe. ZALICZENIE WYKŁADU 160 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Programowanie w Ada 95 - 1 • • Tworzenie i implementacja algorytmu przeszukiwania liniowego z wartownikiem. Tworzenie i implementacja algorytmu przeszukiwania binarnego. 2. Programowanie w Ada 95 - 2 • • Tworzenie i implementacja algorytmu sortowania Bubble-Sort. Tworzenie i implementacja algorytmu sortowania Merge-Sort. 3. Programowanie w Ada 95 - 3 • • Tworzenie i implementacja listy dwukierunkowej nieposortowanej. Tworzenie i implementacja listy dwukierunkowej posortowanej. 4. Podstawowe algorytmy równoległe • • Tworzenie i implementacja drzewa list złączonych. Uruchamianie stworzonej aplikacji. 5. Wzajemne wykluczanie dla dwóch procesów • • Implementacja w Adzie algorytmu Dekkera dla dwóch procesów. Implementacja w Adzie algorytmu Petersona dla dwóch procesów. 6. Semafory binarne i ogólne • • • Implementacja w Adzie semaforów binarnych i ogólnych przy użyciu typów chronionych. Symulacja semaforów ogólnych przy pomocy semaforów binarnych. Równoległe obliczanie różnicy symetrycznej dwóch zbiorów liczb całkowitych. 7. Problem producenta i konsumenta • • Rozwiązanie problemu wzajemnego wykluczania dla dwóch procesów z użyciem semaforów binarnych. Problem producenta i konsumenta – rozwiązanie z użyciem semaforów binarnych. 161 8. Problemy synchronizacji dwóch procesów • • Równoległe obliczanie wartości dwumianu Newtona dla dwóch procesów z użyciem semaforów binarnych. Problem lotniskowca – rozwiązanie z użyciem semaforów binarnych. 9. Wzajemne wykluczanie dla n procesów • • Rozwiązanie problemu wzajemnego wykluczania dla n (n>2) procesów z użyciem semaforów binarnych. Problem czytelników i pisarzy. 10. Synchronizacja n procesów • • Tworzenie i implementacja aplikacji rozwiązującej problem ucztujących filozofów. Uruchamianie stworzonej aplikacji. 11. Sortowanie równoległe • • Tworzenie i implementacja równoległego algorytmu Merge-Sort. Uruchamianie stworzonej aplikacji. 12. Sieć sortująca i scalająca • • Tworzenie i implementacja sieci sortująco- scalającej. Uruchamianie stworzonej aplikacji. 13. Równoległe przetwarzanie list - 1 • • Tworzenie i implementacja równoległego algorytmu porządkowania listy dwukierunkowej. Uruchamianie stworzonej aplikacji. 14. Równoległe przetwarzanie list - 2 • • Tworzenie i implementacja równoległego algorytmu wyszukiwania elementów w złączonych listach dwukierunkowych. Uruchamianie stworzonej aplikacji. 15. Rozpraszanie programów w środowisku GLADE • • • Projektowanie środowiska przetwarzania rozproszonego w GLADE. Tworzenie i implementacja równoległego algorytmu obliczania różnicy symetrycznej zbiorów liczb całkowitych. Uruchamianie stworzonej aplikacji. 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 162 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Ben-Ari M. (1996): Podstawy programowania współbieznego i rozproszonego. WNT, Warszawa. 2. Cormen T.H., Leiserson Ch. E., Rivest R.L. (2002): Wprowadzenie do algorytmów. WNT, Warszawa. 3. Pautet L., Tardieu S. (2006): GLADE User Guide. http://www.math.unipd.it/˜tullio/SCD/2006/Materiale/glade ug.pdf 4. Porebski W. (2003): ADA 95. Wprowadzenie do programowania. Help, Michałowice. 5. Tanenbaum A., van Steen M. (2006): Systemy rozproszone. Zasady i paradygmaty. WNT, Warszawa. 6. Weiss Z., Gruzlewski T. (1993): Programowanie współbieżne i rozproszone w przykładach i zadaniach. WNT, Warszawa. 7. Banachowski L., Diks K., Ryter W.(2003): Algorytmy i struktury danych. WNT, Warszawa. 8. Cohen H. N. (1996). Ada as a second language. McGraw-Hill, New York. 9. Coulouris G., Dollimore J., Kindberg T. (1998): Systemy rozproszone. Podstawy i projektowanie. WNT, Warszawa 10. Gebala G. (1999): Programowanie współbiezne w Adzie. Wydawnictwo Stachurski, Kielce. 11. Iszkowski W., Maniecki M. (1982): Programowanie współbieżne. WNT, Warszawa. 163 Kierunek: Informatyka Przedmiot: Programowanie funkcyjne Functional Programming Czas trwania: semestr 5 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Wacław Bejtan 30 zaliczenie na ocenę Laboratorium dr Wacław Bejtan 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Podstawy programowania Programowanie deklaratywne lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu jest przedstawienie programowania funkcyjnego – paradygmatu i stylu programowania, oraz towarzyszących mu technik programistycznych. Wykłady obejmują wprowadzenie do wybranego języka funkcyjnego (Ocaml) oraz podstawowe pojęcia i techniki programowania funkcyjnego. Celem laboratorium jest nabycie praktycznej umiejętności programowania funkcyjnego. Celem zajęć laboratoryjnych jest praktyczne zapoznanie sie z elmentami programowania funkcyjnego. Zajecia laboratoryjne prowadzone są z wykorzystaniem deykowanego, do zastosowań programowania funkcyjnego, języka programowania "Ocaml'. WYKŁAD 1. Podstawowe konstrukcje wybranego funkcyjnego języka programowania „Ocaml”. • • przyrostowy tryb pracy, wyrażenia, definicje stałych, definicje procedur, procedury rekurencyjne, definicje lokalne, wyrazenia logiczne i wyrażenia warunkowe. 164 2. Typy danych. • • deklaracje typów, wzorce i konstruktory, produkty kartezjańskie, rekordy, warianty. 3. Procedury wyższych rzędów. • • typy procedur i pliformizm, zastosowanie procedur wyższych rzedów. 4. Model obliczeń programów funkcyjnych. • • • środowiska i ramiki. semantyka definicji globalnych oraz lokalnych, aplikacja priocedur. 5. Programowanie imperatywne w języku Ocaml • • • modyfikowalne struktury danych, referencje, poliformizm, struktury sterowania. 6. System typów dla fragmentu języka • • • typy i schematy typów, podstawowe reguły typowania, słabe zmienne typowe. 7. Moduły i funktory. • • • sygnatury i funktory, sygnatury i zależności między strukturami i sygnaturami, funktory wyższych rzędów. 8. Konstrukcje imperatywne. • • referencje, tablice, petle, sekwencyjne złożenia instrukcji. 9. Uleniwianie i spamiętywanie. • • uleniwianie obliczeń, technika spamietywania. 10. Strumienie. • • • paradygmat programowania strumieniowego, implementacja strumieni, uwikłane definicje strumieni. 165 11. Programowanie dynamiczne. • • uogólnienie problemu i tablicowanie wyników, wykorzystanie różnych struktór danych - przykłady. 12. Programowanie zachłanne. • • zasady programowania zachłannego, kody Hoffmana. 13. Przeszukiwanie przestrzeni rozwiązań. • • • przeszukiwanie z nawrotwami, obcinanie gałązi przeszukiwania. drzewa 14. Analiza złożoności algorytmów. • • • rzedy funkcji, asymptotyczny koszt pesymistyczny, koszt czasowy i pamięciowy. 15. Dekompozycja problemu, specyfikacja i weryfikacja programów funkcyjnych. • • • warunek poczatkowy i końcowy, zasady dowodzenia poprawności, funkcja miary dla wywołań rekurencyjnych i własności stosu. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Podstawowy języka programowania „Ocaml”: • • podstawowe symbole, składnia wyrażeń i obliczanie wartości wyrażeń. 2. Podstawowy języka programowania „Ocaml”: 166 Ocena db (C) db+ (B) bdb (A) • • definicje procedur, procedury rekurencyjne. 3. Struktury danych: • • typy wbudowane, konstruktory, wzorce, listy, rekordy. 4. Procedury wyższych rzędów: • • typy proceduralne, poliformizm. 5. Listy: • • fold_left, fold_right, procedury: map, filtr. 6. Modele wykonywania obliczeń: • • definicje globalne, wartości proceduralne. 7. Zastosowanie procedury (obliczanie jej wartości): • • środowisko i ramki, rekurencja ogonowa. 8. Moduły: • • łączenie struktur i sygnatur, zasady tworzenia modułów. 9. Funktory: • • funktory proste, funktory wyższych rzędów. 10. Techniki uleniwiania i spamiętywania: • • uleniwianie z odroczeniem obliczenia wartości, uleniwianie ze spamiętywaniem. 11. Procedury jeszcze wyższych rzędów: • • wartości logiczne, listy nieskończone. 12. Strumienie: 167 • • implementacja strumieni, operacje na strumieniach. 13. Scheme: • • kombinacje i wyrażenia, definicje i struktury danych. 14. Programowanie imperatywne: • • bloki instrukcji, tablice, referencje, pętle, instrukcje we/wy. 15. Zaliczenie laboratorium: • • samodzielna implementacja zadania, omówienie wyników uzyskanych w trakcie zajęć laboratoryjnych. 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. LITERATURA 168 Ocena db (C) db+ (B) bdb (A) 1. 1. H. Abelson, G. J. Sussman, Struktura i interpretacja programów komputerowych, WNT 2002. 2. L. Banachowski, A. Kreczmar, Elementy analizy algorytmów, WNT 1987. 3. T. H. Cormen, Ch. E. Leiserson, R. L. Rivest, Wprowadzenie do algorytmiki, WNT 2004. 4. W. Lipski, Kombinatoryka dla programistów, WNT 2004. 5. N. Wirth, Algorytmy+Struktury danych=Programy, WNT 2001. 6. G. Hutton, Programming in Haskell; Camebridge University Press 2007 169 Kierunek: Informatyka Przedmiot: Grafika i komunikacja człowieka z komputerem Computer Graphics and Human-Computer Communication Czas trwania: semestr 4 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Mirosław Barański 21 zaliczenie na ocenę Laboratorium mgr Tomasz Pachecki mgr Mirosław Szaban dr inż. Mirosław Barański 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Analiza matematyczna, Podstawy programowania, Języki i paradygmaty programowania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu "Grafika i komunikacja człowieka z komputerem" jest przedstawienie podstawowych zagadnień związanych z grafiką komputerową oraz omówienie wybranych zagadnień związanych z komunikacją człowieka z komputerem w aspekcie zarówno teoretycznym jak i praktycznym. Rozwiniętymi celami szczegółowymi są: • • • • prezentacja algorytmów rastrowych i wektorowych, omówienie przekształceń geometrycznych, prezentacja funkcji API Windows, tworzenie interfejsów webowych w oprciu o dostępne narzędzia (Flash). 170 Celem laboratorium jest nabycie umiejętności tworzenia aplikacji z rozbudowanymi intefejsami graficznymi oraz umiejętność adaptacji algorytmów grafiki do prezentacji danych. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • wykorzystanie funkcji graficznych dostępnych w C++ Builder i API Winows, umiejętność implementacji wybranych algorytmów grafiki komputerowej, znajomość aplikacji Flash i języka Action Script na poziomie podstawowym. WYKŁAD 1. Wstęp. Prezentacja dziedziny. Podstawowe wiadomośći i pojęcia grafiki • • • • formy przetwarzania danych obrazowych, grafika, przetwarzanie obrazów, rozpoznawanie obrazów, formy danych obrazowych, grafika wektorowa i rastrowa, przekształcenia form danych obrazowych, urządzenia graficzne, 2. Algorytmy rastrowe 1 • • • Rodzaje wnętrz i brzegów Wypełnianie obszaru przez Algorytm Bresenhama rysowania odcinka. 3. Geometria na płaszczyźnie 1 • • przekształcania punktu na płaszczyźnie: translacja, obrót, skalowanie, jednokładnosc, składanie przekształceń: obrót wzgledem dowolnego punktu, skalowanie wzgledem dowolnego punktu, 4. Geometria na płaszczyźnie 2 • • • okienkowanie i obinanie wyznaczanie powłoki wypukłej zbioru punktów, triangulacja wielokatów, 5. Geometria w przestrzeni R3 • • • Podstawowe pojęcia i obiekty przestrzeni R3 przekształcanie punktu w R3: translacja, obrót, skalowanie, rzutowanie perspektywiczne, 6. Modelowanie krzywych: • • • • Reprezentacje krzywych, Wielomiany i funkcje sklejane, gładka interpolacja przedziałami wielomianami 3-go stopnia, krzywe Beziera i B-sklejane 171 7. Modelowanie powierzchni: • • • • Reprezentacje powierzchni, podstawowe pojecia, powierzchnie Beziera i B-sklejane, powierzchnie Coonsa i Gordona powierzchnie oparte o płaty trójkątne 8. Wprowadzenie do barwy • • • • Fizyka barw Modele baw Operacje na barwach Tekstury 9. Podstawy kompozycji obrazu, zasady tworzenia interfejsów • • Podsatwy kompozycji obrazu Graficzne środowiska programistyczne (C++ Builder, Java) 10. Tworzenie własnych elementów interfejsu z wykorzytsaniem dostępnych narzędzi • • Apliakcje do tworzenia grafiki rastrowej - Adobe PhotoShop Apliakcje do tworzenia grafiki wektorowej- Corel Drwa 11. Wprowadzenie do animacji • • Cel stosowania animacji Zasady tworzenia animacji 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wizualne środowiska programistyczne: • • • Przegląd wybranych wizualnych środowisk programistycznych. Obiekty graficzne w C++ Builder. Zarządzanie obiektami graficznymi w C++ Builder. 172 2. Procedury graficzne w C++ Builder: • • • Wykorzystanie procedur: ellipse, rectangle, line. Ustawianie własności obiektów graficznych. Przykładowe zadania uwzględniające procedury graficzne w środowisku C++ Builder. 3. Algorytmy rastrowe: • • • Algorytm rysowania odcinka. Algorytm rysowania okręgu i dowolnych krzywych. Wypełnianie dowolnych obszarów. 4. Algorytmy wektorowe i operacje na wielokątach: • • • • Wektorowe algorytmy wypełniania dla klasycznych figur: okrąg, trójkąt. Wypełnianie wielokątów za pomocą algorytmu podziału wielokąta na trapezy. Triangulacja wielokątów. Algorytm wyznaczania powłoki wypukłej. 5. Przekształcenia w R2 i R3: • • • Podstawowe przekształcenia w R2: obrót, skalowanie, translacja - przykłady, składanie przekształceń. Podstawowe przekształcenia w R3: obrót, skalowanie, translacja - przykłady, składanie przekształceń. Przekształcenia 3D w układzie obserwatora. 6. Przekształcenia w R3 - rzutowanie: • • • Wprowadzenie od rzutowania. Analiza rzutów równoległych i perspektywicznych. Implementacja algorytmów rzutowania. 7. Programowanie w WinApi: • • • • • Zasady działanie WinApi. Obsługa klawiatury i myszy. Okna dialogowe. Tworzenie Menu. Kontrolki WinApi. 8. Tworzenie aplikacji w WinApi: • • • • Implementacja przeglądarki plików. Implementacja przeszukiwania dysku. Implementacja wygaszacza ekranu. Implementacja zegara analogowego. 9. Tworzenie animacji Flash MX: • Obiekty i ich własności. 173 • • • • Tworzenie animacji metodą poklatkową. Efekty ruchu, zmiany kształtu, ruchu po torze. Użycie symboli, instancji, scen i warstw. Przyciski animacji i nawigacji. 10. Programowanie w ActionScript: • • • • Zmienne i funcje. Komponenty i własności. Kontrola animacji. Sterowanie animacją za pomocą klawiatury lub myszy. 11. Animacje ActionScript: • • • • Implementacja Banera. Tworzenie kontrolera mapy. Tworzenie animacji losowo spadającego śniegu. Tworzenie odtwarzacza muzycznego plików MP3. 12. Wybrane zasady tworzenia interfejsów: • • • • Elementy środowsik programistycznych wspmagających tworzenie interfejsu w aplikacjach graficznych. Tworzenie własnych aplikacji ze szczególnym zwróceniem uwagi na interfejs. Tworzenie własnych elementów intefejsu za pomocą apliakcji graficznych. 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. 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-140 pkt. Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-55 pkt. 56-66 pkt. 67-77 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 78-88 pkt. 89-99 pkt. 100-110 pkt. 174 Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. 5. 6. 7. Michał Jankowski: Elementy grafiki komputerowej. WNT 2006. Theo Pavlidis: Grafika i przetwarzanie obrazów. WNT 1987. Jan Zabrodzki i inni: Grafika komputerowa, metody i narzędzia. WNT 1994. Ian Angel: Wprowadzenie do grafiki komputerowej. WNT 1988. James D. Foley: Wprowadzenie do grafiki komputerowej. WNT 2001. Internet: np. www.cs.fit.edu. Shirley P.: Fundamentals of Computer Graphics, sec. ed., A K Peters, 2005. 175 Kierunek: Informatyka Przedmiot: Modelowanie i wizualizacja grafiki 3D Modeling and Visualisation 3D Graphics Czas trwania: semestr 5 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Mirosław Barański 30 egzamin Laboratorium mgr Andrzej Salamończyk dr inż. Mirosław Barański 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest znajomość podstawowych zagadnień związanych z grafiką komputerową. Dotyczy to zarówno algorymów jak i wybranych środowisk graficznych. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu "modelowanie i wizualizacja grafiki 3D" jest przedstawienie podstawowych zagadnień związanych z modelowaniem podstawowych obiektów graficznych i ich wizualizacją.zarówno teoretycznym jak i praktycznym. Rzowiniętymi celami szczegółowymi są: • • • • omówienie reprezentacji podstawowych obiektów graficznych, charakterystyka zagadnień związanych ze światłem, przedstawienie stosowanych modeli scen, omówienie wybranych systemów grafiki komputerowej w kontekście omawianych zagadnień modelowania i wizualizacji. Celem laboratorium jest nabycie umiejętności pracy z aplikacjami umożliwiającymi wizualizację wybranych danych. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • umiejętność implementacji podstawowych obiektów w grafice komputerowej oraz zarządzania nimi, umiejętność implemetacji podstawowych operacji na barwach, znajomość biblioteki OpenGL i podobnych funkcjonalnie (np. Java3D), 176 • znajomość języków programowania umożliwiających pracę w środowiskach graficznych (PovRay, Flash) na poziomie zaawansowanym.. WYKŁAD 1. Modelowanie podstawowych obiektów grafiki komputerowej 1 • • Podstawowe obiekty w grafice komputerowej (bryły i powierzchnie). Metody reprezentacji podstawowych obiektów za pomocą struktur dynamicznych (drzewa). 2. Modelowanie podstawowych obiektów grafiki komputerowej 2 • • Metody reprezentacji podstawowych obiektów za pomocą siatek. Metody reprezentacji podstawowych obiektów za pomocą wielościanów i wokseli. 3. Modelowanie podstawowych obiektów grafiki komputerowej 3 • • Podstawowe operacje na strukturach dynamicznych Podstawowe operacje na obiektach wielościennych. 4. Wybrane zagadnienia dotyczące światła i barw. • • Fizyka światła i jej wpływ na modele kolorów Podstawowe zagadnienia związane z percepcją postrzegania barw przez człowieka 5. Modele kolorów • • • Model RGB i CMY Model HSV Obliczenia w przestrzeni barw 6. Modelowanie scen 1 • • Podstawowe elementy sceny: obiekty, obserwator i oświetlenie Proste modele scen 7. Modelowanie scen 2 • • Modele scen uwzględniające wybrane efekty oświetlenia: własne oświetlenie, odbicie, odbicie zwierciadlane, załamanie, Łaczenie wybranych efektów oświetlenia w jeden model 8. Modelowanie scen 3 - metoda ray-tracingu • • Podstawy matematyczne metody ray-tracingu uwzględnianie wybranych efektów geometrycznych w metodzie ray-tracingu 9. Modelowanie scen 3 - metoda energetyczna 177 • • Podstawy matematyczne i fizyka metody energetycznej uwzględnianie wybranych efektów geometrycznych w metodzie energetycznej 10. Tekstura - podstawowe zagadnienia • • Pojęcie tekstury metody generowania tekstury 11. Systemy grafiki komputerowej implemnetujące wybrane metody modelowania scen aplikacja Pov-Ray 1 • • Efekty spacjalne dostępne w Pov-Ray programowanie scen w aplikacji Pov-Ray - ogólna charakterystyka języka 12. Systemy grafiki komputerowej implemnetujące wybrane metody modelowania scen aplikacja Pov-Ray 2 • • Podstawowe i złożone obiekty w Pov-Ray Operacje na obiektach 13. Systemy grafiki komputerowej implemnetujące wybrane metody modelowania scen aplikacja Pov-Ray 3 • • Tekstury w programie Pov-Ray Efekety specjalne w programie Pov-Ray 14. Przegląd wybranych systemów wspomagających modelowanie scen • • Modelowanie scen za pomocą Modelowanie scen w Auto-Cad 15. Standardy w grafice komputerowej • • Przegląd podstawowych standardów wykorzystywanych w grafice komputerowej Cechy charakterystyczne systemów grafiki komputerowej 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 178 Ocena db (C) db+ (B) bdb (A) 1. Drzewa czwórkowe • • Tworzenie drzew czwórkowych Operacje na drzewach czwórkowych 2. Konstruktywna geometria brył • • Opis złożonych obiektów za pomocą konstruktywnej geometrii brył Operacje na złożonych obiektach i ich zapis za pomocą konstruktywnej geometrii brył 3. Reprezentacje wielościenne • • Opis wybranych prostych obiektów za pomocą wielościanów Złożone obiekty wielościenne. 4. Oblicznia w przestrzeni kolorów • • Podstawowe operacje arytmetyczne w przestrzeni kolorów Złożone obliczenia w przesrzeni kolorów 5. Modele kolorów w wybranych systemach grafiki komputerowej • • Kolory w Adobe PhotoShop Kolory w Auto-Cad 6. Proste modele scen • • Wyznaczanie punktów przecięcia półprostej z płaszczyzną, powierzchnią Wyznaczanie punktów przecięcia ze złożonymi obiektami 7. Obliczenia dla prostych modeli scen • • Model uwzględniający odbicie zwierciadlane światła Model uwzględniający załamanie światła 8. Obliczenia dla złożonych modeli scen • • Model uwzględniający odbicie zwierciadlane światła i załamanie światła Model uwzględniający rozpraszanie światła i załamanie światła 9. Implementacja wybranych modeli w środowisku graficznym 1 • • Implemnetacja modelu odbicia światła Implemnetacja modelu załamania światła 10. Implementacja wybranych modeli w środowisku graficznym 2 • • Implemnetacja modelu rozroszenia światła Implemnetacja złożonych modeli 179 11. Aplikacja Pov-Ray 1 • • Praca w środowisku Pov-Ray 1 Tworzenie prostych scen 12. Praca w środowisku Pov-Ray 2 • • Tworzenie złożonych scen Określanie właściwości tworzonych obiektów (tektury) 13. Praca w środowisku Pov-Ray 3 • • Powierzchnie w programie Pov-Ray Efekty specjalne w programie Pov-Ray 14. Tekstury • • Tworzenie tekstur w wybranych aplikacjach Implemnetacja wybranych metod tworzenia tekstur w środowiskach programistycznych 15. Standardy w grafice komputerowej • • Standardy BMP i GIF Implemnetacja wybranych standardó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. Łą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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. 180 Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Shirley P.: Fundamentals of Computer Graphics, sec. ed., A K Peters, 2005 2. FoleyJ.D., van Dam A., Feiner St.K., Hughes J.F.: Computer Graphics, Principles and Practice. Addison-Wesley Publ.Co.1996 3. Hearn D., Baker P.: Computer Graphics. Prentice Hall 1997 4. Zabrodzki J. i inni : Grafika komputerowa, metody i narzedzia. WNT 1994 5. Jankowski M.: Elementy grafiki komputerowej. WNT 1990 181 Kierunek: Informatyka Przedmiot: Cyfrowe przetwarzanie obrazu i dźwięku Digital Image and Sound Processing Czas trwania: semestr 6 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Mirosław Barański 30 egzamin Laboratorium dr inż. Mirosław Barański 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Podstawy programowania Grafika i komunikacja człowieka z komputerem lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu "Cyfrowe przetwarzanie obrazu i dźwięku" jest przedstawienie podstawowych zagadnień związanych z przetwarzaniem obrazów oraz dźwięku w aspekcie zarówno teoretycznym jak i praktycznym. Rozwiniętymi celami szczegółowymi są: • • • • rola transformaty Fouriera w przetwarzaniu sygnałów, metody przetwarzania obrazów, operacje na plikach dźwiękowych, omówienie standardów stosowanych w przetwarzaniu obrazów i dźwięku. Celem laboratorium jest nabycie umiejętności tworzenia aplikacji umożliwiających przetwarzanie obrazów i dźwięku. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • znajomość podstawowych algorytmów związanych z przetwarzaniem obrazów i umiejętność ich implementacji, 182 • • • wykorzystanie znanych systemów grafiki komputerowej do realizacji zadań związanych z przetwarzaniem obrazów, znajomość podstawowych algorytmów związanych z przetwarzaniem dźwięku i umiejętność ich implementacji. poznanie popularnych aplikacji do przetwarzania dźwięku. WYKŁAD 1. Przypomnienie podstawowych zagadnień związanych z grafiką • • • • • Co to jest grafika komputerowa Formy danych obrazowych Przekształcenia form danych obrazowych, Podstawowe przekształcenia geometryczne Barwa, modelowanie, animacja 2. Dyskretyzacja obrazów z gradacją kontrastu • • • • • Wprowadzenie Transformaty Fouriera Próbkowanie Intermodulacja Kwantowanie 3. Przetwarzanie obrazów z gradacją kontrastu • • • • Histogram i korekcja histogramu Macierze sąsiedztwa Filtrowanie obrazów Filtry kierunkowe, dwuczęściowe, aproksymacji funkcyjnej 4. Segmentacja • • • Progowanie Wykrywanie krawędzi Rodzaje i algorytmy segmentacji 5. Obrazy dwupoziomowe • • • • Próbkowanie i topologia Znajdowanie konturu Przeglądanie wszystkich konturów obrazu Wprowadzenie do analizy kształtu 6. Algorytmy ścieniania 1 • • Klasyczne algorytmy ścieniania Asynchroniczne algorytmy ścieniania 7. Algorytmy ścieniania 2 183 • • Szybki algorytm ścieniania Przekształcanie obrazów dwupoziomowych w rysunki liniowe 8. Podstawy akustyki 1 • • Fizyczne podstawy akustyki Zjawiska związane z percepcją sygnału akustycznego przez człowieka 9. Podstawy akustyki 2 • • Metody analizy sygnałów dźwiękowych Metody kodowania sygnałów dźwiękowych 10. Operacje na plikach dźwiękowych 1 • • Algorytmy odtwarzania i zapisu plików dźwiękowych Sprzęt i oprogramowanie do zarządzania plikami dźwiękowymi (studia nagrań) 11. Operacje na plikach dźwiękowych 2 • • edycja i przetwarzanie plikó dźwiękowych Aranżacja, miksowanie i misterin 12. Przesyłanie plików dźwiekowych przez Internet 1 • • Języki programowania wspierające przesyłanie plików dźwiękowych Wybrane funkcje wspomagające przesyłanie dźwięku przez Interent 1 13. Przesyłanie plików dźwiekowych przez Internet 2 • • Wybrane funkcje wspomagające przesyłanie dźwięku przez Interent 2 Wybrane aspekty aplikacji wspomagających przesyłanie plików dźwiękowych 14. Techniki poprawiające jakość dźwieku • • Poprawianie jakości dźwięku za pomocą wybranych aplikacji Poprawianie jakośći dźwięku za pomoca blibliotek dostępnych w językach programowania 15. Przegląd wybranych aplikacji umożliwiających operacje na dżwiękach • • Standardy zapisu dżwięku Architektura systemów służacych do przetwarzania dźwięku 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): 184 Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Zapoznanie z poznanymi wcześniej metodami grafiki komputerowej • • Zapoznanie z potrzebnym oprogramowaniem, Rozdanie projektów 2. Algorytmy dyskretyzacji obrazów z gradacją kontrastu • • • Transformaty Fouriera Próbkowanie Kwantowanie 3. Przetwarzanie obrazów z gradacją kontrastu • • Algorytmy macierzy sasiedztwa Algorytmy filtrowanie obrazów 4. Segmentacja • • Algorytmy segmentacji Segmentacja dwupoziomowa i wieloziomowa 5. Obrazy dwupoziomowe • • Algorytmy znajdowania konturu Algorytmy analizy kształtu 6. Algorytmy ścieniania • • • • Klasyczne algorytmy ścieniania Asynchroniczne algorytmy ścieniania Szybki algorytm scieniania Przekształcanie obrazów dwupoziomowych w rysunki liniowe 7. Wybrane zagadnienia związane z obsługą dzwięku w popularnych środowiskach programistycznych • • Dźwięki w języku Java Dźwięki w języku C++ 8. Wybrane algorytmy przetwarzania plików dźwiękowych 185 • • Metody kompresji Odczytywanie, modyfikacja i zapis plików dźwiękowych w wybranych formatach 9. Format MP3 i DIV X • • Podstawowe operacje na plikach dźwiękowych zapisanych w formacie MP3 i DIV X Konwersje plików dźwiękowych na wybrane formaty i zwybranych formatów 10. Wynrane narzędzia do obróbki sygnałów audio 1 • • Uruchamianie i obsługa wybranych urządzeń Nagrywanie instrumentów i dźwięków 11. Wynrane narzędzia do obróbki sygnałów audio 2 • • Wykonywanie podstawowych efektów dźwiękowych instrumenty wirtualne 1 12. Przesyłanie plików dźwiękowych przez Interent 1 • • Język Java jako język wspomagający przesyłanie dźwięku Ważniejsze biblioteki języka Java wspomagające przesyłanie dźwięku 1 13. Przesyłanie plików dźwiękowych przez Interent 2 • • Przesyłanie plików dźwiękowych przez Interent 2 Język HTML wspomagający przesyłanie dźwięku 14. Przesyłanie plików dźwiękowych przez Interent 3 • • Zapoznanie z podstawowymi narzędziami wspomagającymi przesyłanie dźwięku Przykłady wykorzystania narzędzi wspomagających przesyłanie dźwieku 15. Wynrane narzędzia do obróbki sygnałów audio 3 • • instrumenty wirtualne 2 Przygotowanie plików audio do formatu wideo 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. 186 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 0-55 pkt. 56-66 pkt. 67-77 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 78-88 pkt. 89-99 pkt. 100-110 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Theo Pavlidis, Grafika i przetwarzanie obrazów, WNT, 1987. 2. Christopher D. Watkins, Alberto Sadun, Stephen Marenka, Nowoczesne metody przetwarzania obrazu, WNT Warszawa 1995 3. William K. Pratt, Digital image processing, JOHN WILEY & SONS, New York / Chichester / Brisbane / Toronto / Singapure, 1991 4. Peter Kirn, Real World Digital Audio, Helion, 2007 5. Piotr Kołodziej. Komputerowe studio muzyczne i nie tylko, Przewodnik, Helion, 2007. 187 Kierunek: Informatyka Przedmiot: Sztuczna inteligencja Artificial Intelligence Czas trwania: semestr 5 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jerzy Tchórzewski 21 zaliczenie na ocenę Laboratorium mgr Mariusz Kujawiak dr inż. Jerzy Tchórzewski 24 zaliczenie na ocenę Punkty ECTS 4 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Logika dla informatyków Programowanie deklaratywne Języki i paradygmaty programowania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu "Sztucznej inteligencji" jest jest omówienie podstawowych metod i narzędzi sztucznej inteligencji oraz sposobów implementacji systemów sztucznej inteligencji w środowisku MATLAB i SIMULINK oraz w środowisku SPHINX. Rozwiniętymi celami szczegółowymi są: • • • • • Projektowanie i programowanie systemów ekspertowych, Przedstawienie różnych typów sieci nuronowych, Przedstawienie algorytmy genetyczne i systemy ewolucyjne, Omówienie zagadnienia algorytmu immunologicznego Poznanie problematyki projektowania wielkich systemów sztucznej inteligencji Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu problemów przy wykorzystaniu metod sztucznej inteligencji. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • Projektowanie i implementacja systemu ekspertowego z wykorzystaniem AI CAKE 188 • • • Projektowanie prostych sieci neuronowych w środowisku NEURONIX Projektowanie algorytmu ewolucyjnego przy wykorzystanie Control System Toolbox i Fuzzy Logic Toolbox, Projektowanie sieci neuronowej przy wykorzystanie Neural Toolbox, WYKŁAD 1. Wstęp do sztucznej inteligencji • • • • • • • • Inteligencja a sztuczna inteligencja, algorytmika a heurystyka Logika a metalogika, wiedza a baza wiedzy, życie a sztuczne zycie Kod genetyczny a kod informacyjny Test Turinga Automatyka, cybernetyka, informatyka a sztuczna inteligencja Metody, języki i narzędzia sztucznej inteligencji Projektowanie i implementacja systemów sztucznej inteligencji Zastosowania systemów sztucznej inteligencji 2. Inżynieria wiedzy i systemy ekspertowe • • • • • • Projektowanie i programowanie systemów ekspertowych Metody akwizycji wiedzy Języki systemów ekspertowych Inżynieria wiedzy i architektura systemów ekspertowych, Zastosowania systemów ekspertowych Systemy ekspertowe czasu rzeczywistego 3. Metody reprezentacji wiedzy • • • • • • • Rachunek zdań Stwierdzenia Regułowa reprezentacja wiedzy Rachunek predykatów Sieci semantyczne Reprezentacja wiedzy za pomoca ram Inne metody reprezentacji wiedzy 4. Metody wnioskowania • • • • • • • • Wnioskowanie w przód Sterowanie wnioskowaniem Wnioskowanie wstecz Wnioskowanie mieszane Wnioskowanie rozmyte Podstawowe zagadnienia uczenia się maszyn Metody pozyskiwania wiedzy Metodyka tworzenia i badania poprawności bazy wiedzy 5. Sieci neuronowe I 189 • • • • • • • Idea sieci neuronowych Charakterystyka sztucznego neuronu Proste modele neuronu Rodzaje sieci neuronowych Struktura sieci Podstawowe metody uczenia sieci Reguły uczenia sieci neuronowych 6. Sieci neuronowe II • • • • • • • Działanie najprostszej sieci Sieci liniowe i nieliniowe Jednowarstwowe klasyfikatory neuronowe Wielowarstwowe sieci jednokierunkowe Jednowarstwowe sieci ze sprzezeniem zwrotnym Inne modele sieci neuronowych Zastosowania sieci neuronowych 7. Algorytmy genetyczne i systemy ewolucyjne I • • • • • Istota algorytmu genetycznego Model klasycznego algorytmu genetycznego Metody poszukiwania i strategie ewolucyjne Działanie algorytmu genetycznego Reprezentacja danych a algorytmie genetycznym 8. Algorytmy genetyczne i systemy ewolucyjne II • • • • • • Podstawy matematyczne algorytmów genetycznych Implementacja komputerowa algorytmu genetycznego Programy i systemy ewolucyjne Cybernetyka życia i rozwoju systemów Uczenie maszynowe Zastosowania algorytmów genetycznych 9. Algorytmy genetyczne i systemy ewolucyjne III • • • • • • Genetyczne systemy uczace się Zarządzanie populacją Kodowanie i operatory genetyczne Zapobieganie przedwczesnej zbieżnosci Modyfikacje algorytmów ewolucyjnych Algorytmy ewolucyjne w środowisku dynamicznym 10. Sztuczne systemy immunologiczne • • • • • Uczące sie układy idiotypowe Imunologiczne rozpoznawanie obrazów Eksploracyjna analiza danych Immunologiczna kompresja danych Immunologiczne algorytmy genetyczne 190 • • Immunologiczna optymalizacja Detekcja anomalii 11. Od sztucznej inteligencji ku sztucznemu życiu • • • • • • • • Sztuczne życie i laboratorium złożoności Automaty komórkowe i systemy wieloagentowe Fraktale i obiektowe algorytmy ich wizualizacji Stabilność, złożonosć i chaos w systemach sztucznej inteligencji Algorytmy i komputery kwantowe Wstęp do filozofii przyrody i matematyczność przyrody Podstawy teorii sterowania i systemów, podstawy robotyki i fabryk bezludnych Rozproszone systemy sztucznej inteligencji 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wprowadzenie do środowiska SPHINX. Poznanie budowy i funkcjonowania przykładów systemów ekspertowych. • • • Budowa bazy wiedzy, Podstawy języka SPHINX, Maszyna wnioskująca w SPHINX-ie, 2. Projektowanie prostych systemów ekspertowych z wykorzystaniem AI CAKE • • • Komputerowe wspomaganie inżynierii wiedzy, Rodzaje zródeł wiedzy, faset, itp., Automatyzacja akwizycji wiedzy, 3. Projektowanie złożonego systemu ekspertowego w środowisku AITECH. Przygotowanie bazy wiedzy. • • • Opracowanie bazy wiedzy z użyciem języka SPHINX, Inteligentny mechanizm uzgadniania, Parametryzacja bazy wiedzy, 191 4. Projektowanie złożonego systemu ekspertowego II w środowisku AITECH. Przygotowanie mechanizmu wnioskowania. • • • Opracowanie własnych rozwiazań w zakresie mechanizmu wnioskowania z użyciem języka SPHINX, Łączenie podsystemów, Wnioskowanie rozmyte, 5. Poznanie budowy i sposobów projektowania prostych sieci neuronowych w środowisku NEURONIX. Uczenie i testowanie sieci. • • • Parametry i struktura sieci neuronowej, Tworzenie pliku uczącego i testującego, Uruchamianie nauczonej sieci neuronowej, 6. Projektowanie złożonej sieci neuronowej w środowisku NEURONIX rozpoznającej znaki. • • • Sposoby projektowania wejść i wyjść sieci neuronowej, Inicjalizacja wag, Hybrydowe sieci neuronowe, 7. Poznanie środowiska MATLAB i Simulink oraz podstawowych Toolbox’ów służacych do projektowania systemów sztucznej inteligencji • • • Środowisko MATLAB i Simulink, System Identification Toolbox, Model systemu w Simulinku z wykorzystaniem zidentyfikowanych przykładowych modeli, 8. Projektowanie sieci neuronowej przy wykorzystanie Neural Toolbox. • • • Środowisko Neural Network Toolboxa, Dostępne struktury i parametry sieci neuronowej, Uczenie i testowanie sieci neuronowej, 9. Projektowanie systemu ekspertowego przy wykorzystaniu Simulink, Symbolic Math Toolbox i języka C++ w środowisku MATLAB • • • Opracowanie bazy wiedzy, Model w Simulinku złożonego systemu ekspertowego, Program komputerowy w języku Matlak prostej bazy wiedzy, 10. Projektowanie algorytmu ewolucyjnego przy wykorzystanie Control System Toolbox i Fuzzy Logic Toolbox. • • • Klasyczny algorytm ewolucyjny, Populacja początkowa opracowana z wykorzystaniem CST, Rozmyty algorytm ewolucyjny, 192 11. Projektowanie systemu rozpoznawania obrazów przy wykorzystaniu Image Procesing Toolbox, Mapping Toolbox i Neural Network Toolbox • • Środowisko Neural Network Toolboxa,Image Processing Tolbox, Mapping Toolbox, Przykład rozpoznawania obrazów, 12. Projektowanie systemu hybrydowego w środowisku MATLAB i Simulink • • • Sposoby tworzenia systemów hybrydowych, Integracja metod z wykorzystaniem Simulinka, Przykład systemu hybrydowego, 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 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Arabas J..: Wykłady z algorytmów ewolucyjnych. WNT. Warszawa 2001 2. Rutkowski L.: Metody i techniki sztucznej inteligencji. WN PWN. Warszawa 2005 3. Kaminska A., Pinczyk B.: Cwiczenia z MATLAB. Przykłady i zadania. MIKOM. Warszawa 2002 193 4. Tchórzewski J.: Inteligentne systemy działania. Cz. 1. Wykłady z metod sztucznej inteligencji. Cz. 2. Cwiczenia laboratoryjne w srodowisku PC SHELL’a oraz MATLAB’a i Simulink’a. Cz. 1 dostepna dla studentów kierunku informatyka w postaci prezentacji w Power Point’ie. Ostatnia aktualizacja: wrzesien 2008. Cz. 2 dostepna w postaci instrukcji cwiczeń laboratoryjnych w wersji z września 2008. 5. Kaczorek T. , Dzielinski A., Dabrowski W., Łopatka R.: Podstawy teorii sterowania. WNT. Warszawa 2005 6. Kłopotek M.: Inteligentne przegladarki internetowe. EXIT.Warszawa 2005 Osowski S.: Sieci neuronowe do przetwarzania informacji. WNT.Warszawa 2002 7. Wierzchon S.: Sztuczne systemy immunologiczne. Teoria i zastosowania. AOW EXIT. Warszawa 2001 194 Kierunek: Informatyka Przedmiot: Bazy danych Databases Czas trwania: semestr 4 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład prof. dr hab. inż. Andrzej Barczak 30 egzamin Laboratorium mgr Dariusz Zacharczuk 30 zaliczenie na ocenę Punkty ECTS 6 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • • • • • Podstawy programowania Analiza matematyczna, Matematyka dyskretna Algebra liniowa Architektura systemów komputerowych Programowanie deklaratywne Algorytmy i złożoność. lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu ”Bazy danych” jest wprowadzenie do problematyki baz danych, zarówno w zakresie podstaw teoretycznych jak i projektowania relacyjnych baz danych. Rozwiniętymi celami szczegółowymi przedmiotu są: • • • • • zapoznanie z podstawowymi pojęciami i dziedzina relacyjnych baz danych zapoznanie z podstawowymi pojęciami i dziedzina relacyjnych baz danych, zapoznanie z relacyjnym modelem danych na tle innych modeli, zapoznanie z właściwościami relacyjnych baz danych oraz wprowadzenie do normalizacji, wprowadzenie do języka SQL oraz zapoznanie ze strukturą i zasadami użycia podstawowych jego instrukcji. WYKŁAD 195 1. Podstawowe pojęcia • • • • • • definicja i rodzaje baz danych obiekty i związki, system bazy danych modele danych, model danych jako architektura funkcje zarządzania bazą danych, system zarządzania bazą danych projektowanie baz danych, języki baz danych właściwości baz danych, korzyści stosowania baz danych 2. Relacyjny model danych • • • • • • definicja relacji, atrybuty/dziedzina i schemat relacji właściwości relacji, przykłady relacji klucze relacji, typy związków (relacji) typy i stopień uczestnictwa, diagramy związków pułapki połączeń przekształcanie diagramu E - R w schemat relacji 3. Relacyjny model danych • • • • • • integracja schematu relacji integracja danych reguły integralności wewnętrznej więzy propagacji integralność dodatkowa postulaty Codda 4. Hierarchiczny i sieciowy model danych • • • • • • struktura danych relacje/powiązania operowanie danymi integralność danych wady i zalety porównanie klasycznych modeli danych 5. Obiektowy model danych(OMD) • • • • • • pojęcie obiektowości, składniki OMD mechanizmy uogólniania i agregacji procesy dziedziczenia integralność wewnętrzna notacje diagramów E - R dla OMD ujednolicony język modelowania UML 6. Rozproszone bazy danych • • • • zadania i zalety rozproszenia systemy zarządzania rozproszoną bazą danych systemy klient-serwer jednorodna i niejednorodna rozproszona baza danych 196 • federacyjny system baz danych 7. Normalizacja bazy danych • • • • • • pojęcie normalizacji typy zależności 1 NF, wady 1 NF pełna zależność funkcyjna - 2 NF, wady 2 NF przechodnie zależności funkcyjne - 3 NF, wady 3NF akomodacja zależności funkcyjnych i niefunkcyjnych diagramy zależności, 4 NF i 5NF 8. Interfejs SZBD - język SQL • • • • • podstawowe pojęcia SQL klauzula SELECT wyrażenia z kilkoma operatorami wyrażenia w klauzuli WHERE wyrażenia w klauzuli ORDER BY 9. SQL - funkcje sumaryczne • • • • • konstrukcje GROUP BY i HAVING tabele sumaryczne procent całości użycie indeksu metody złączenia zewnętrznego 10. SQL - podzapytania • • • • • zapytania złożone podzapytania ANY i ALL podzapytania skorelowane EXISTS i NOT EXISTS 11. SQL - złączenia • • • • • • przegląd złączeń zastępowanie podzapytań złączeniami złączenia z tabelami sterującymi złączenia z podzapytaniami UNION perspektywy ze złączeniami 12. SQL - perspektywy • • • • • perspektywy ze złożonymi zapytaniami modyfikowanie danych za pomocą perspektyw stosowanie perspektyw w celu zwiększenia bezpieczeństwa danych usuwanie perspektyw stosowanie tabel słownikowych do badania perspektyw 197 13. SQL - wstep do sterowania transakcjami • • • • • • transakcje COMMIT, AUTOCOMMIT, ROLLBACK współdziałanie COMMIT, AUTOCOMMIT, ROLLBACK CREATE TABLE ... AS SELECT, DESCRIBE tabele słownikowe COMMENT ON, ALTER TABLE 14. Fizyczne projektowanie bazy danych • • • • • • proces projektowania definiowanie parametrów systemu definiowanie procesów działania model pojęciowy danych schemat bazy danych dokumentowanie projektu 15. Projektowanie aplikacji bazy danych • • • • • strategia (analiza wstępna problemu) analiza szczegółowa problemu projektowanie systemu implementacja systemu wdrażanie systemu 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Zapoznanie ze srodowiskiem MySQL i MS Access 2003 • • przegląd głównych funkcji i struktury aplikacji pracującej w środowisku MS Access analiza przykładowych aplikacji 2. Definiowanie struktur danych w MS Access 2003 • • typy danych relacje 198 • klucze i indeksy 3. Zapytania wybierające cz. I • • kryteria, operatory logiczne parametryzacja zapytań 4. Zapytania wybierające cz. II • • wyrażenia, operator LIKE wykorzystanie funkcji wbudowanych 5. Struktury danych w MySQL • • • typy danych relacje klucze i indeksy 6. Zapytania wybierające cz. III • • • wykonywanie obliczeń funkcje agregujące klauzule GROUP BY, HAVING 7. Kwerendy funkcjonalne cz. I • • • aktualizacja danych dołączanie danych usuwanie danych 8. Kwerendy funkcjonalne cz.II • • tworzenie nowych tabel przenoszenie danych między tabelami 9. Projektowanie formularzy cz. I • • • typy formularzy i ich podstawowe elementy własności formularza, powiązanie z danymi przegląd formantów formularza, listy wyboru, pola kombi 10. Projektowanie formularzy cz. II • • • grupy opcji elementy języka JavaScript kontrola poprawności danych, tworzenie formantów obliczeniowych 11. Projektowanie raportów i zestawień • omówienie sekcji 199 • • tworzenie grup danych formatowanie warunkowe 12. Autoryzacja dostępu do danych • • mechanizmy autoryzacji za pomocą Cookies obsługa sesji 13. Aplikacja w środowisku sieciowym • • współdzielenie aplikacji i danych grupy, użytkownicy, blokowanie rekordów 14. Praca z danymi zewnętrznymi • • eksport/import danych źródła danych ODBC 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. 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 0-100 pkt. Ocena ndst (F) 200 Zakres 141-160 pkt. Ocena db (C) 101-120 pkt. 121-140 pkt. dst (E) dst+ (D) 161-180 pkt. 181-200 pkt. db+ (B) bdb (A) LITERATURA 1. Banachowski L., Mrówka-Matejewska E., Stencel K.; Systemy baz danych. Wykłady i ćwiczenia; Wydawnictwo PJWSTK, 2006 2. Beynon-Davies P.; Systemy baz danych; Wydawnictwa Naukowo Techniczne, 2003 3. Colby J., Wilton P.; SQL od podstaw; Wydawnictwo Helion, 2005 4. Date C.J.; Relacyjne bazy danych dla praktyków; Wydawnictwo Helion, 2005 5. Irwin M. R., Prague C.N., Reardon J.; Access 2003 PL. Biblia; Wydawnictwo Helion, 2004 6. Marklyn B., Whitehorn M.; Relacyjne bazy danych; Wydawnictwo Helion, 2003 7. Coburg R.; SQL dla każdego; Wydawnictwo Helion, 2001 8. Ullman J.D., Widom J.: Podstawowy wykład z systemów baz danych. Wydawnictwa Naukowo Techniczne, 2001 9. Hernandez M. J., Viescas J. L.; Zapytania SQL dla zwykłych śmiertelników; Wydawnictwo MIKOM; 2001 r. 10. Hernandez M. J.; Bazy danych dla zwykłych śmiertelników; Wydawnictwo MIKOM, 2004 r. 11. Kowalski P.; Podstawowe zagadnienia baz danych i procesów przetwarzania; Wydawnictwo MIKOM, 2005 12. Riordan R.M.; Projektowanie systemów relacyjnych baz danych. Wyd. RM, Warszawa 2000 13. Steven R.; Access. Bazy danych. Projektowanie i programowanie. Wyd. Helion 2001 201 Kierunek: Informatyka Przedmiot: Rozproszone bazy danych Distributed Databases Czas trwania: semestr 7 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład prof. dr hab. inż. Andrzej Barczak 21 egzamin Laboratorium mgr Michał Wolski 24 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • • Bazy danych Podstawy przetwarzania równoległego Platformy programowania Systemy operacyjne. lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem wykładu "Rozproszone bazy danych" jest wprowadzenie do problematyki projektowania baz danych, dedykowanych współczesnym zastosowaniom sieciowym. Rozwiniętymi celami szczegółowymi są: • • • współdzielenie danych w systemach wielodostępnych współbieżność i rozproszenie danych w rozproszonych, sieciowych systemach baz danych aktualne tendencje rozwojowe systemów rozproszonych baz danych Podstawowym celem zajęć laboratoryjnych jest pozyskanie praktycznych umiejętności w zakresie projektu dedykowanej bazy danych na przykładzie rozwiązań firmy ORACLE. WYKŁAD 1. Wprowadzenie do systemów rozproszonych 202 • • • • • • podstawowe pojęcia związane z rozproszeniem rozproszenie zasobów główne aspekty rozproszenia baz danych przezroczystość rozproszenia współdziałanie heterogeniczność 2. Rozproszona baza danych - podstawowe pojęcia, cele i zalety rozproszenia • • • • • • komunikacja: aplikacja - baza danych, dostęp do zbioru nazw usług, lokalny zbiór nazw usług, katalogowa baza danych LDAP, serwer nazw, adresowanie serwera, zewnętrzny serwis katalogowy, konfigurowanie lokalnego zbioru nazw usług konfigurowanie środowiska klienta 3. Typy i reguły rozproszonych baz danych • • • • • • • • homogeniczność i heterogeniczność oprogramowania stopień lokalnej autonomii federacyjny system baz danych i zarządzanie nim relacyjno-obiektowe bazy danych techniki sterowania współbieżnego reguły Date fragmentacja pozioma, pionowa i mieszana kryteria poprawności fragmentacji 4. Architektura rozproszonych baz danych • • • • • • • • architektura rozproszonej bazy danych specjalizowane oprogramowanie sieciowe łącznik bazy danych, perspektywa, synonim, migawka nazewnictwo baz danych w sieci, domena i nazwa globalna architektura klient - serwer, mechanizm komunikacji między klientem a serwerem określenie jednostki komunikacji klient-serwer, funkcje po stronie klienta i po stronie serwera architektura klient - broker - serwer, broker - pośrednik w dostępie do odległych zasobów architektura odniesienia ANSI 5. Federacyjne systemy baz danych • • • • • zarządzanie hierarchiami elementów baz danych protokół drzewiasty sterowanie współbieżnością za pomocą znaczników czasowych sterowanie współbieżnością za pomocą walidacji tryby integrowania danych 6. Podejścia do projektowania rozproszonych baz danych • podejście top-down, bottom-up, ad-hoc 203 • • • • • podział schematu logicznego, metody podejście oparte o globalny schemat problem alokacji problematyka replikacji określanie jednostki replikacji, ilości replikowanych danych, momentu i sposobu odświeżania 7. Komunikacja: aplikacja - baza danych • • • • • szeregi i plany szeregowane szeregowalność kolizyjna zapewnienie atomowości rozproszonej zatwierdzanie dwufazowe odtwarzanie transakcji rozproszonych 8. Przetwarzanie i optymalizacja zapytań rozproszonych • • • • • • • • transakcja rozproszona architektura zarządzania transakcjami rozproszonymi protokół 2PC, scentralizowany, zdecentralizowany i liniowy rodzaje optymalizacji poleceń, wybór optymalizatora i celu optymalizacji generowanie statystyk i algorytmy łączenia tabel wykonywanie zapytań rozproszonych filtrowanie, grupowanie i sortowanie danych z tabeli zdalnej łączenie tabel, wykorzystanie wskazówek w łączeniu tabel 9. Replikacje • • • • • • odświeżanie replik migawka - perspektywa zmaterializowana, typ migawki dziennik migawki , definiowanie dziennika implementacja dziennika, fizyczne parametry składowania dziennika modyfikowanie i usuwanie dziennika grupa odświeżania 10. Przetwarzanie transakcji • • • • • szeregowalność i odtwarzalność szeregowalność perspektywiczna rozwiązywanie problemu zakleszczeń zatwierdzanie rozproszone transakcje o długim czasie trwania 11. Partycjonowanie tabel i indeksów • • • • • • algorytmy partycjonowania danych, partycjonowanie tabel partycjonowanie bazujące na wartości, haszowe i hybrydowe fizyczne parametry składowania tabel partycjonowanych zarządzanie tabelami partycjonowanymi partycjonowanie indeksów, typy indeksów zarządzanie indeksami partycjonowanymi 204 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Dostęp do zdalnej bazy danych • • • • • dostęp do zdalnej bazy danych - łącznik bazy danych definiowanie łącznika przykład wykorzystania łącznika informacje słownikowe migawka 2. Tworzenie migawki • • • • • • klauzula BUILD klauzula REFRESH klauzula STARTWITH klauzula NEXT odświeżanie klauzula WITH 3. Odświeżanie przyrostowe • • • • • odświeżanie przyrostowe migawki złożonej tworzenie dziennika migawki modyfikowanie migawki modyfikowanie dziennika migawki usuwanie migawki i jej dziennika 4. Grupa odświeżania • • • • tworzenie grupy odświeżania dodawanie migawki do grupy usuwanie migawki z grupy usuwanie grupy 5. Transakcja rozproszona • podstawowe cechy transakcji 205 Ocena db (C) db+ (B) bdb (A) • • • • określanie uczestników transakcji protokół 2PC koordynatorzy węzły zatwierdzania 6. Transakcja rozproszona • • • • • • 2PC - faza przygotowania (Koordynator Globalny) 2PC - faza przygotowania (uczestnik) 2PC - faza zatwierdzania (zatwierdzanie) 2PC - faza zatwierdzania (wycofanie) Faza zatwierdzania (uczestnik) 2PC - podsumowanie 7. Transakcja rozproszona • • • • • problemy sprzętowo-programowe blokowanie przez transakcję rozproszoną graf wywołań transakcji procedury podstawowe przypadki 8. Programowe symulowanie awarii • • • • 1 - Awaria węzła zatwierdzania po odebraniu przez koordynator globalny komunikatów prepared. 2 - Awaria węzła uczestnika po odebraniu przez koordynator globalny komunikatów prepared. 3 - Awaria węzła uczestnika przed przygotowaniem się do zatwierdzania. : Crash before prepare (non-commit point site) 4 - Awaria węzła uczestnika po przygotowaniu się do zatwierdzania.: Crash after prepare (non-commit point site) 9. Programowe symulowanie awarii • • • • 5 - Awaria węzła zatwierdzania przed zatwierdzeniem transakcji. : Crash commit point site before commit 6 - Awaria węzła zatwierdzania po zatwierdzeniu transakcji. : Crash commit point site after commit 7 - Awaria węzła uczestnika przed zatwierdzeniem transakcji. : Crash non-commit point site before commit 8 - Awaria węzła uczestnika po zatwierdzeniu transakcji. : Crash non-commit point site after commit 10. Programowe symulowanie awarii • • 9 - Awaria węzła zatwierdzania przed przejściem do fazy zakończenia. : Crash commit point site before forget 10 - Awaria węzła uczestnika przed przejściem do fazy zakończenia. : Crash noncommit point site before forget10 206 11. Zapytanie rozproszone • • • plan wykonania zapytania polecenie EXPLAIN PLAIN dyrektywa AUTOTRACE 12. Gromadzenie statystyk • • • narzędzie SQLTRACE i program tkprof uaktywnienie SQLTRACE na poziomie bazy danych uaktywnienie SQLTRACE na poziomie sesji użytkownika 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Allen S.; Modelowanie danych; Wydawnictwo Helion, 2006 2. Bębel B., Wrembel R.; Oracle. Projektowanie rozproszonych baz danych; Wydawnictwo Helion, 2003 3. Connolly T., Begg C.; Systemy baz danych - Praktyczne metody projektowania, implementacji i zarządzania. Tom 1, 2, Wydawnictwo RM, 4. Elmasri R., Navathe S. B., Wprowadzenie do systemów baz danych; Wydawnictwo Helion, 2005 5. Garcia-Molina H., Ullman J. D., Widom J.; Systemy baz danych Pełny wykład; Wydawnictwa Naukowo Techniczne, 2006 6. Mueller J. P.; Poznaj Soap; Wydawnictwo Mikom, 2002 7. Di Stefano M.; Distributed Data Management For Grid Computing; John Wiley & Sons, Inc., 2005 207 8. Durbin J., Creekbaum W., Bobrowski S., Vasterd P.; Oracle8i Distributed Database Systems; Oracle Corporation.1999 9. Tyagi S., McCammon K., Vorburger M., Bobzin H.; Java Data Objects; Wydawnictwo Helion, 2004 208 Kierunek: Informatyka Przedmiot: Środowiska programowania aplikacji wirtualnych i multimedialnych Virtual and Multimedia Application Programming Environment Czas trwania: semestr 7 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Wykład Laboratorium Liczba godzin Tryb zaliczenia dr hab. Stanisław Ambroszkiewicz dr Dariusz Mikułowski 21 egzamin mgr Waldemar Bartyna mgr Grzegorz Terlikowski 24 Punkty ECTS 5 zaliczenie na ocenę POZIOM Warunkiem dopuszczenia do udziału w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • • Programowanie obiektowe Projektowanie aplikacji Bazy danych, Multimedialne i obiektowe bazy danych lub znajomość literatury z tych przedmiotów. ZAŁOŻENIA I CELE Celem głównym wykładu jest przedstawienie środowisk programowania aplikacji wirtualnych i multimedialnych poprzez prezentację technologii wirtualizacji, środowisk uruchomieniowych, specyfikacji platform wirtualizacyjnych i multimedialnych, w tym także wybranych aspektów funkcjonalności multimedialnych baz danych Oracle 10g/11g. Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności tworzenia aplikacji wirtualnych i multimedialnych, a także poszerzenie wiadomości nabytych w dotychczasowym procesie dydaktycznym. WYKŁAD 209 1. Technologia wirtualizacji • • • pojęcia podstawowe; maszyna wirtualna, wirtualna aplikacja kryteria klasyfikacji: wirtualizacja zasobów, kryterium izolacji oprogramowania: emulacja, wirtualizacja natywna, parawirtualizacja, wirtualizacja aplikacji porównanie platform wirtualnych maszyn oraz implementujących koncepcję wirtualnych aplikacji 2. Środowisko uruchomieniowe JVM • • • Charakterystyka i zastosowania platformy oprogramowania Java Koncepcja Java Virtual Machine, kompilacja do postaci kodu bajtowego Platformy podobne do JVM (.NET, Adobe AIR) 3. Standard ECMA - środowisko uruchomieniowe Microsoft .NET Framework • • • Charakterystyka i zastosowania platformy Microsoft .NET Framework Architektura platformy .NET (m.in. Common Language Infrastructure – CLI, metadane zarządzanie pamięcią) Porównanie platform Java oraz .NET 4. Platformy wirtualizacyjne • • • Pełna wirtualizacja (FreeVPS, OpenVZ) Parawirtualizacja (PowerVM – IBM APV) Wirtualizacja na poziomie systemu operacyjnego (VMWare Server, Microsoft Virtual Server) 5. Wirtualizacja JVM w środowisku Oracle VM • • • Charakterystyka i komponenty oprogramowania Oracle VM Funkcje i składniki maszyny Java JRockit JVM Zalety i wady dedykowanego OS 6. Wirtualizacja aplikacji • • • Aplikacje przenośne (Ceedo Personal, VMWare ThinApp) Cross-platform virtualization (MS SoftGrid), Virtual appliance, zastosowania obrazów wirtualnej maszyny (VMWare tools: rMake, rBuilder) 7. Charakterystyka danych multimedialnych • • • ♣ Komputerowe przetwarzanie obrazów, modele przestrzeni barw, formaty zapi-su obrazów ♣ Charakterystyka sygnałów: audio, wideo, metody i formaty zapisu ♣ Metadane w multimediach 8. Koncepcja Rich Internet Application (RIA) 210 • • • Ograniczenia technologii HTML, funkcjonalność oprogramowania komputero-wego opartego na modelu RIA Opis działania typowej aplikacji RIA Zasady projektowania aplikacji typu RIA 9. Platformy Adobe AIR, MS Silverlight oraz Java FX • • • Koncepcja RIA oraz podejście multiplatformowe jako podstawa propagacji platform do tworzenia aplikacji internetowych Charakterystyka właściwości platform Adobe AIR, MS Silverlight oraz Java FX Kierunki rozwoju platform do tworzenia aplikacji internetowych 10. Multimedialne bazy danych: środowisko Oracle 11g Multimedia • • • Typy obiektowe, metadane w Oracle 11g Multimedia Środowisko tworzenia aplikacji - Oracle JDeveloper, EJB, JSF, Java Persistence Podstawy tworzenia aplikacji multimedialnej w środowisku Oracle Multimedia PL/SQL, Oracle Multimedia Java Servlet, Oracle Multimedia Java Server Pa-ges 11. Analiza tendencji w dziedzinie wirtualizacji oraz multimediów • • • Procesy wirtualizacji a systemy operacyjne Prognozy rozwoju technologii wirtualizacyjnej Kierunki rozwoju technologii przetwarzania danych multimedialnych oraz rodzajów typów danych multimedialnych 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Uwierzytelnienie i autoryzacja aplikacji webowej • • • Zestawienie środowiska programistycznego (NetBeans IDE 6.7, Spring Framework, Spring Security) i projekt prostej aplikacji (definicja serwera uruchomieniowego GlassFish V2) Testowanie aplikacji bez mechanizmów bezpieczeństwa Wdrożenie (ewentualne) mechanizmów bezpieczeństwa z Spring Security oraz uruchomienie aplikacji 211 2. Aplikacja konsolowa uruchamiana w środowisku JVM • • • Utworzenie pliku .Java z dwoma klasami z definicją metody main() Uruchomienie kompilatora javac składnika pakietu JDK Uruchomienie aplikacji w środowisku uruchomieniowym JVM 3. Przykład aplikacji dla urządzeń mobilnych na platformie .NET Framework • • • Stworzenie projektu aplikacji w Visual Studio Konfiguracja emulatora (Windows Mobile 6 Classic Emulator) Uruchomienie aplikacji na emulatorze 4. Uruchamianie starszych aplikacji w środowisku Virtual PC 2007 • • • Instalacja w SO Windows XP programu Virtual PC 2007 Utworzenie i uruchomienie maszyny wirtualnej Instalacja np. SO Windows 2000 oraz instalacja wybranej aplikacji 5. Test wirtualnego serwera Oracle JRockit • • • Instalacja Oracle JRockit Real Time 3.1.2 (platforma Windows x86) Opracowanie prostej aplikacji testowej w języku Java (m.in. operacje usuwania/dodawania/ modyfikacji, wykonywanie iteracji) Wykonanie testów obejmujących odpowiednie dla aplikacji skrypty lub wskaź-niki (benchmark 6. Wirtualizacja aplikacji z wykorzystaniem pakietu VM Microsoft SoftGrid • • • Instalacja aplikacji App-V (SoftGrid) składnika pakietu MDOP (Microsoft Desk-top Optimization Pack) Tworzenie pakietu i konfiguracja aplikacji klienckiej Uruchamianie aplikacji (konsola SoftGrid), modyfikacje aplikacji zawartych w kontenerze Applications 7. Instalacja i konfiguracja aplikacji przenośnej • • • Instalacja programu ThinApp (wersja trial 60-dni), instalacja pakietu Extentrix Turbo Access Toolbar Wybór pliku .exe aplikacji (w ćwiczeniu np. plik .exe Opera przeglądarki internetowej), definicja ścieżek, wskazanie miejsca uruchomienia aplikacji (USB), tworzenie pakietu MSI dla wirtualnej aplikacji Zapisanie końcowego projektu, test aplikacji uruchamianej z USB na dowolnym stanowisku komputerowym (wymagany SO Windows) 8. Prototyp aplikacji w Silverlight • • • Instalacja pakietów: SDK do pracy z Silverlight (MS Silverlight 3 Tools for Visual Studio 2008) oraz do tworzenia prototypu (Expression Blend 3 oraz SketchFlow RC) Opracowanie prototypu interfejsu aplikacji z funkcją nawigacji między oknami Uruchomienie aplikacji, wprowadzanie modyfikacji 212 9. Wyświetlania oraz obsługa obrazów w Java FX Script • • • Instalacja pakietów: Java SE 6.0 Development Kit (JDK) oraz NetBeans IDE 6.1 z Java FX Wykorzystanie pakietu javafx.scene.image Uruchomienie funkcji aplikacji Zoom in/out, Reset 10. Projekt prostej aplikacji w Adobe AIR • • • Instalacja Web application Aptana Studio, Adobe AIR_SDK oraz Adobe AIR for JavaScript Definicja konfiguracji aplikacji (deskrytptor) w pliku XML (Aptana Studio) Uruchomienie aplikacji, przygotowanie jej formatu (paczka) do instalacji w systemie operacyjnym 11. Technologia EJB 3.0 w tworzeniu aplikacji dla Oracle Application Server 10g • • • Aplikacja wyświetlająca dane o pracownikach (Oracle - przykładowa tabela relacyjna EMP), podział aplikacji na trzy projekty (Model, Web, Klient), tworzenie encji JPA, sesyjnego komponentu EJB Utworzenie interfejsu zdalnego, wygenerowanie testowego klienta konsolowego, testowanie aplikacji Z pomocą kreatora tworzenie strony JSF projektu Web, wskazanie lokalizacji kolekcji wszystkich pracowników, uruchomienie aplikacji 12. Tworzenie aplikacji multimedialnej w środowisku Oracle interMedia PL/SQL • • • Definiowanie środowiska dla PL/SQL, tworzenie tabeli obrazy z definicją metadanych, tworzenie typów CONTEXT oraz CTXXPATH indeksów, procedur zapytań oraz importu plików z systemu plików do bazy danych Utworzenie pakietu (np. pn. Album foto) Zastosowanie PL/SQL Web Toolkit w celu utworzenia stron HTML i prezentacji zawartości medialnej 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 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 213 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Price J., Oracle Database 11g i SQL. Programowanie, Gliwice 2009 2. Elmarsi R., Navathe S.B., Wprowadzenie do systemow baz danych, Gliwice 2005 3. Tworzenie Aplikacji dla Oracle Database 11g, white paper, ftp://lead.download.idg.pl/lead/Oracle/tworzenie_aplikacji_dla_Oracle_11g.pdf 4. Oracle interMedia !0g/11g, user’s guide, http://technet.oracle.com 5. Singh A., An Introduction to Virtualization, http://kernelthread.com/publications/virtualization 6. Virtual environments, upgrade the European Journal for the Infromatics Professional, http:/WWW.upgrade-cepis.org 7. Application Virtualization Comparison Chart, 2008; WWW.convergemag.com/etech/Education-Goes-Virtual.html 8. definicje wirtualizacji, platform, maszyn wirtualnych; http://en.wikipedia org 9. Understanding Full Virtualization, Paravirtualization, and Hardware Assit,http://www.wmware.com/files/pdf/VMWare_paravirtualization.pdf 10. Oracle VM, http://wiki.oracle.com/page/Oracle+VM 214 Kierunek: Informatyka Przedmiot: Inżynieria oprogramowania Software Engineering Czas trwania: semestr 5 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Zbigniew Wesołowski 30 egzamin Laboratorium mgr Marek Pilski mgr Michał Wolski 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Podstawy programowania Algorytmy i złożoność Bazy danych lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem zajęć jest zapoznanie słuchaczy z podstawowymi zagadnieniami inżynierii oprogramowania, w tym z fazami rozwoju oprogramowania oraz metodami podwyższenia jakości oprogramowania. Studenci poznają najważniejsze fazy wytwarzania oprogramowania: strategiczna, określania wymagań, analizy, projektowania, konstrukcji, testowania, instalacji i pielęgnacji. Omówione sa także zagadnienia wspólne dla wielu faz, takie jak: dokumentowanie wyników prac analitycznych, projektowych, implementacyjnych oraz wdrożeniowych, zarządzanie przedsięwzięciami programistycznymi, zarządzanie konfiguracjami oprogramowania. Studenci poznaja również organizacje pracy grupowej przy tworzeniu oprogramowania. Uczą sie również metod szacowania kosztów realizacji przedsięwzięć programistycznych. WYKŁAD 1. Wprowadzenie do inżynierii oprogramowania 215 • • • • • Cele i najważniejsze zagadnienia inżynierii oprogramowania Kryzys oprogramowania Metody walki z kryzysem oprogramowania Złożonosc oprogramowania: istota i metody jej zmniejszania Zasada skutecznego działania w inżynierii oprogramowania 2. Modele cyklu życia oprogramowania 1 • • • Model kaskadowy Realizacja kierowania dokumentami Model spiralny 3. Modele cyklu życia oprogramowania 2 • • • • Realizacja przyrostowa Prototypowanie Programowanie ekstremalne Model piłki basebollowej 4. Faza strategiczna • • • • • • • • Cele fazy strategicznej Zadania wykonywane w fazie strategicznej Studium wykonalnosci Techniki szacowania kosztów przedsięwzieć informatycznych Ocena rozwiązań i wybór rozwiązania Szacowanie kosztów oprogramowania Podstawowe rezultaty fazy strategicznej Diagramy czynności 5. Faza określenia wymagań • • • • • • • • Cele fazy określenia wymagań Zadania wykonywane w fazie okreslenia wymagań Metody rozpoznania wymagań: wymagania funkcjonalne, niefunkcjonalne Modelowanie wymagań przez przypadki użycia Diagramy przypadków użycia Słownik terminów Kluczowe czynniki sukcesu w fazie okreslenia wymagań Podstawowe rezultaty fazy określenia wymagań 6. Faza analizy • • • • • • • Cele fazy analizy Zadania wykonywane w fazie analizy Model logiczny systemu informatycznego Modele i diagramy przepływu danych Modele i diagramy przejść stanów Kluczowe czynniki sukcesu w fazie analizy Podstawowe rezultaty fazy analizy 216 7. Faza projektowania 1 • • • • • • Cele fazy projektowania Zadania wykonywane w fazie projektowania Diagramy zwiazków encji Diagramy klas Diagramy interakcji Diagramy komponentów 8. Faza projektowania 2 • • • • • Organizacja interakcji z uzytkownikiem Projektowanie interfejsu uzytkownika Modelowanie fizycznej struktury systemu Kluczowe czynniki sukcesu w fazie projektowania Podstawowe rezultaty fazy projektowania 9. Faza implementacji • • • • • • • • Cele fazy implementacji Zadania wykonywane w fazie implementacji Niezawodność oprogramowania Unikanie błędów, tolerancja błędów Zasada ograniczonego dostepu Optymalizacja projektu: optymalizacja czasowa i pamięciowa programów Środowiska implementacyjne Kluczowe czynniki sukcesu w fazie implementacji i podstawowe rezultaty fazy implementacji 10. Testowanie oprogramowania • • • • • • • • Cel testowania oprogramowania Testowanie wzgledem specyfikacji i kodu Etapy testowania Dane testowe Dokumentowanie wyników testowania oprogramowania Środki pomocne w testowaniu Kluczowe czynniki sukcesu w fazie testowania oprogramowania Podstawowe rezultaty fazy testowania oprogramowania 11. Uruchamianie oprogramowania • • • • • • Cel uruchamiania oprogramowania Rodzaje błędów popełnianych w tworzeniu oprogramowania Metody wykrywania błędów oprogramowania Dobry styl programowania Zasady postepowania przy uruchamianiu oprogramowania Środki pomocne w uruchamianiu oprogramowania 12. Faza instalacji i pielęgnacji oprogramowania 217 • • • • • • • • Cel i problemy instalacji oprogramowania oraz kluczowe czynniki sukcesu w fazie instalacji oprogramowania Podstawowe rezultaty fazy instalacji oprogramowania Cel, problemy i koszty pielegnacji oprogramowania Modyfikowanie oprogramowania Analiza potrzeb wprowadzania modyfikacji Metody i narzędzia pielęgnacji oprogramowania Kluczowe czynniki sukcesu w fazie pielęgnacji oprogramowania Podstawowe rezultaty fazy konserwowania oprogramowania 13. Zarządzanie konfiguracją oprogramowania • • • • Cel zarządzania konfiguracją oprogramowania Problemy wynikajace z równoległej pracy wielu osób nad oprogramowaniem Narzędzia wspomagające zarządzanie konfiguracją oprogramowania (Eclipse, CVS, MS SourceSafe) Operacje systemu CVS: pobieranie artefaktów, wysyłanie zmian, aktualizacja, nadawanie etykiet, rozgałęzianie i łączenie gałęzi 14. Zarządzanie przedsiębiorstwem programistycznym • • • • • • • Zadania kierownictwa przedsięwziecia Cechy dobrego inżyniera oprogramowania Ogólne zasady zarządzania przedsiebiorstwem programistycznym Podstawowe funkcje osób zarządzajacych przedsiębiorstwem programistycznym Organizacja zespołu programistycznego Diagramy Ganta Diagramy czynności 15. Zarządzanie ryzykiem w przedsięwzieciach programistycznych • • • • • • • • Cel zarządzania ryzykiem w przedsięwzieciach programistycznych Specyficzne cechy oprogramowania Specyficzne cechy przedsięwzieć programistycznych Przyczyny porażek w realizacji przedsięwziec programistycznych Definicja ryzyka w realizacji przedsięwziec programistycznych Identyfikacja ryzyka Strategie postepowania w zarządzaniu ryzykiem Zarządzanie przedsięwzieciem programistycznym poprzez zarządzanie ryzykiem 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 0-50 pkt. 51-60 pkt. Ocena ndst (F) dst (E) Zakres 71-80 pkt. 81-90 pkt. 218 Ocena db (C) db+ (B) 61-70 pkt. dst+ (D) 91-100 pkt. bdb (A) LABORATORIUM 1. Wprowadzenie do inżynierii oprogramowania • • Ugruntowanie wiedzy i umiejętności z zakresu programowania strukturalnego Ugruntowanie wiedzy i umiejętności z zakresu programowania zorientowanego obiektowo 2. Modele cyklu życia oprogramowania 1 • • Omówienie zasady skutecznego działania w zakresie realizacji przedsięwziecia programistycznego zgodnie z metodologia klasyczną Model kaskadowy 3. Modele cyklu życia oprogramowania 2 • • Omówienie opracowania systemu informatycznego Model programowania ekstremalnego 4. Faza strategiczna • • Opracowanie studium wykonalnosci oraz oszacowanie kosztów i wybór wersji projektu systemu informatycznego. Określanie zakresu i kontekstu przedsięwziecia. 5. Faza określenia wymagań • • • Opracowanie specyfikacji wymagań.. Modelowanie wymagań przez przypadki użycia. Konstruowanie diagramu kontekstowego systemu informatycznego. 6. Faza analizy • • Opracowanie modelu logicznego systemu informatycznego. Konstruowanie diagramu przepływu danych. 7. Faza projektowania 1 • • Opracowanie ogólnego projektu systemu informatycznego. Konstruowanie diagramów: zwiazków encji, klas, interakcji i komponentów. 8. Faza projektowania 2 • • Opracowanie ogólnego modelu interakcji systemu informatycznego z użytkownikami. Konstruowanie projektów interfejsów uzytkowników. Opracowuje sie model fizycznej struktury systemu. 219 9. Faza implementacji • Implementowanie, przy pomocy wybranych narzędzi, najważniejszych składowych systemu informatycznego 10. Testowanie oprogramowania • • Testowania wytworzonych składowych systemu informatycznego względem specyfikacji Testowania wytworzonych składowych systemu informatycznego względem kodu wykorzystując uprzednio opracowane dane testowe 11. Uruchamianie oprogramowania • • Uruchomienie przetestowanych składowych systemu informatycznego Wykorzystywanie technik programowania defensywnego, komunikaty kontrolne i uruch interaktywne 12. Faza instalacji i pielęgnacji oprogramowania • • Instalowanie wytworzonych komponentów programowych. Przeprowadzanie analizy potrzeb wprowadzania modyfikacji i ocena podatność stworzonych komponentów programowych na modyfikacji. 13. Zarządzanie konfiguracją oprogramowania • • Wykonywanie następujących operacji: pobierania artefaktów, wysyłania zmian, aktualizacji, nadawania etykiet Rozgałęziania i łączenia gałezi operacji w środowisku Eclipse i CVS. 14. Zarządzanie przedsiębiorstwem programistycznym • • • Określenie struktury organizacyjnej przedsiębiorstwa programistycznego Określenie zadań dla osób uczestniczacychw realizacji przedsięwziecia informatycznego. Konstruowanie diagramu Ganta i diagramu czynności. 15. Zarządzanie ryzykiem w przedsięwzieciach programistycznych. • • Oszacowanie ryzyka w realizacji przedsięwziecia informatycznego oraz opracowanie strategii postępowania Opracowanie strategii postępowania zmniejszajacego to ryzyko 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. 220 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Modelowanie systemów informatycznych w języku UML 2.1 Włodzimierz Dąbrowski, Andrzej Stasiak, Michał Wolski 2007/2009, Wydawnictwo Naukowe PWN/MIKOM ISBN: 978-83-01-15251-2 2. Język UML 2.0 w modelowaniu systemów informatycznych Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski 2006, ISBN: 83-7361-892-9 Helion 3. Stosowanie przypadków użycia Schneider Geri, Winters Jason P Tłum. z ang. Ł. S ISBN: 83-204-2943-9 WNT 2004 4. Rational Unified Process v. 7.5 221 Kierunek: Informatyka Przedmiot: Systemy wbudowane Embedded Systems Czas trwania: semestr 4 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Aleksander Timofiejew 30 egzamin Laboratorium mgr Wojciech Nabiałek dr hab. Aleksander Timofiejew 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Architektura systemów komputerowych Programowanie niskopoziomowe lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest przygotowanie do efektywnego projektowania i programowania systemów wbudowanych, zapoznanie z nowoczesnymi zastosowaniami systemów wbudowanych w przemyśle, biznesie i administracji. Rozwiniętymi celami szczegółowymi są następujące umiejętności: • • • • • • Programowanie prostego systemu wbudowanego Ocena i podnoszenie parametrów i charakterystyk systemu wbudowanego Praca z dokumentacją systemu wbudowanego Wybór platformy sprzętowej dla systemu wbudowanego Wybór interfejsu systemu wbudowanego Opracowanie protokołu transmisji danych Zajęcia laboratoryjne mają na celu nabycie praktycznych umiejętności w projektowaniu i programowaniu systemów wbudowanych. Rozwiniętymi celami szczegółowymi są następujące umiejętności praktyczne: • Opracowanie struktury systemu wbudowanego 222 • • • Programowanie systemu wbudowanego Podłączenie do interfejsy systemu wbudowanego Znajomość systemów i asemblerów mikrokontrolerów na bazie RISC - procesorów WYKŁAD 1. Systemy wbudowane • • • • definicje, zastosowania, konstrukcje, funkcje, parametry, właściwości i charakterystyki 2. Mikrokontrolery • • struktury i zakresy parametrów mikrokontrolerów PIC firmy Microchip, struktury i zakresy parametrów mikrokontrolerów firmy Intel 3. Mikrokontrolery (c.d.) • • • struktury i zakresy parametrów mikrokontrolerów firmy ZiLOG, struktury i zakresy parametrów mikrokontrolerów firmy Atmel, struktury i zakresy parametrów mikrokontrolerów firmy Infineon 4. Moduły interfejsowe • • • • model OSI (Open System Interconnection), interfejsy ISA, EISA, PCI, PCI Express, IEEE 1284, interfejsy RS232 (SCI), RS485, interfejsy Wiegand 5. Moduły interfejsowe (c.d • • • • interfejsy IIC, SPI, interfejs USB, interfejs CAN, sieć Ethernet 6. Moduły peryferyjne • • • moduły POR, PWRT, OST, BOR, WDT, moduły ICSP, ICD, JTAG, moduły CRC, RTCC 7. Moduły peryferyjne (c.d.) • • • • moduły analogowe, konwertery ADC i DAC, moduł CCP, oscylatory i tryb zasypiania 223 8. Układy dla zastosowania w systemach wbudowanych • • • pamięci szeregowe FLASH i FRAM, zegary - kalendarze, wyświetlacze LCD 9. Narzędzia programowania systemów wbudowanych • • • • narzędzia programowe i sprzętowe, środowisko MPLAB IDE, programatory, formaty plików INHX 10. Asembler MPASM • • • elementy języka asemblera (liczby, literały, zmienne, wyrażenia) dyrektywy i instrukcje, przykład programu 11. Asembler ASEM-51 • • • elementy języka asemblera (liczby, literały, zmienne, wyrażenia) dyrektywy i instrukcje, przykład programu 12. Systemy sterujące z mikrokontrolerami Microchip • • • • cykl wykonania rozkazu, organizacja pamięci, rozkazy, system przerwań 13. Systemy sterujące na bazie mikrokontrolerów MCS-51 • • • • cykl wykonania rozkazu, organizacja pamięci, rozkazy, system przerwań 14. Zastosowania systemów wbudowanych w tzw. inteligentnych budynkach • • • historię i definicję pojęcia inteligentnego budynku, strukturę i cechy systemu zarządzania budynkiem, sieci komunikacyjne w inteligentnych budynkach (HART, ASI, ZigBee itp.) 15. Projektowanie systemów wbudowanych • • • • wybór mikrokontrolera, cykl główny, liczenia czasu reakcji na zdarzenie, opracowanie protokółu transmisji danych 224 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. System sterujący (terminal) na bazie mikrokontrolera PIC18F6720 • • • praca z systemem, wykonanie operacji montaż imitatora urządzenia zewnętrznego 2. Środowisko MPLAB • • • praca z MPLAB, obsługa programatora, struktura i rozkazy mikrokontrolera PIC18F6720 3. Urządzenia wejściowe • obsługa klawiatury 4. Urządzenia wyjściowe • obsługa wyświetlacza LCD 5. 5. Urządzenia wyjściowe (c.d.) • obsługa wyświetlacza LCD (c.d.) 6. Przerwania sprzętowe • • obsługa przerwań sprzętowych obsługa głośnika 7. 7. Przerwania od czasomierza • stosowanie czasomierzy 8. 8. Tablice rozmieszczone w pamięci programowej 225 • rozmieszczenie tablicy w pamięci programowej 9. Tablice rozmieszczone w pamięci parametrów • rozmieszczenie tablicy w pamięci parametrów 10. 10. Interfejs IIC • • implementacja interfejsu IIC (Inter - Integrated Circuit, I2C), łączenie z zegarem - kalendarzem 11. Interfejs SPI • • implementacja interfejsu SPI (Serial Peripheral Interface), łączenie z pamięcią typu ferroelectric RAM (FRAM) 12. Interfejs RS-485 • • implementacja interfejsu RS-485, stosowanie bloku peryferyjnego USART 13. Projektowanie cyklu głównego • • programowanie cyklu głównego oraz wprowadzenia i wyprowadzenia danych według zadania indywidualnego, stosowanie znaczników zdarzeń (przerwań) 14. Opracowanie operacji zadania indywidualnego • sprawdzanie procedur zadania indywidualnego 15. Sprawdzanie funkcjonowania zadania • • sprawdzanie funkcjonowania zadania indywidualnego, demonstracja i zaliczenie zadania indywidualnego 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. Wszystkie zajęcia laboratoryjne (za wyjątkiem 1., 14. i 15.) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego zadania indywidualnego. 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 12 zajęć może uzyskać od 0 do 120 pkt. 226 Temat i zakres zadania indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za zadanie indywidualne może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 80 pkt. Zaliczenie zadania indywidualnego następuje po uzyskaniu, co najmniej 41 pkt. i jest możliwe najpóźniej na ostatnim zajęciu. 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 zadanie indywidualne i zawiera się w granicach 0-200 pkt. Ocena końcowa przedmiotu zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Daca W., Mikrokontrolery - od układów 8-bitowych do 32-bitowych, Wydawnictwo MI-KOM, Warszawa 2001. 2. Jabloński T., Mikrokontrolery PIC16F8x w praktyce. Wydawnictwo BTC, 2002, ISBN: 83-910067-1-9 3. Petraszek S., Mikroprocesory jednoukładowe PIC, Wydawnictwo HELION 2002 4. Gook Michael, Interfejsy sprzętowe komputerów PC. Wydawnictwo HELION 2005 5. Florek J.: Systemy komputerowe. Wyd. Akademii Podlaskiej, Siedlce 2001 6. Daniluk A., RS-232C – praktyczne programowanie. Od Pascala i C++ do Delphi i Builde-ra. Wyd.2, Wydawnictwo HELION 2002 Kierunek: Informatyka Przedmiot: Problemy społeczne i zawodowe informatyki Social and Profesional Issues of Computer Science Czas trwania: semestr 5 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Punkty ECTS Wykład dr inż. Jerzy Tchórzewski 15 zaliczenie na ocenę 1 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: 227 • Technologie sieciowe lub znajomość literatury obowiązującej w tym przedmiocie. ZAŁOŻENIA I CELE Celem głównym wykładu jest przedstawienie istniejących problemów społecznych oraz zawodowych z zakresu metod informatyki, użytkowania komputera, wykorzystywania w domu i w pracy systemów komputerowych i informacyjnych. Dla zrealizowania powyższego celu niezbędne jest również zapoznanie z podstawami chorób zawodowych, zagrożeń od słabych prądów, uzależnień od komputera i programów oferowanych w dostępie internetowym i telerozrywki. WYKŁAD 1. Wprowadzenie do systemów bezpieczeństwa człowieka, społeczeństwa, ludzkości w ramach społeczeństwa informacyjnego i wirtualnego • • • • • • • • Systemy ochrony medycznej Technologie cyfrowe, technologie kwantowe, ku okularom mózgu Intelektualne i etyczne meandry Internetu Przemiany wnoszone przez Internet na tle wcześniejszych przemian cywilizacyjnych Społeczeñstwo informacyjne a społeczność Internetu Elektroniczna gospodarka, elektroniczne biuro, społeczeństwo informacyjne, Informacja w Internecie, a wiedza w umyśle Internautów, Cyfrowa rozpadlina, 2. Problemy społeczne i zawodowe wynikające z projektowania układów logicznych • • • • • • • • realizacja funkcji logicznych układów kombinacyjnych, Układy logiczne a myślenie logiczne, realizacja układu sekwencyjnego, cyfrowe układy arytmetyczne a potrzeby analogowe człowieka zagrożenia bezpieczeñstwa niesione przez współczesne technologie elektroniczne predyspozycje i uwarunkowania fizjologiczne człowieka, wady współczesnych interfejsów i innych urządzeñ pośredniczących, układy kombinacyjne i sekwencyjne, układy synchroniczne i asynchroniczne a oczekiwania człowieka ma wyniki obliczeń 3. Problemy wynikające z niedostosowanej do potrzeb człowieka architektury komputera i sieci komputerowej • • • • • • • • system mikrokomputerowy a specjalizowany układ cyfrowy, architektura systemu mikroprocesorowego, bloki funkcjonalne – ich organizacja i architektura i kodowanie problemów, kompilatory a maszyny wnioskujące, układ sterowania wnioskowaniem i oczekiwania na odpowiednią akwizycję wiedzy, współczesne problemy zawodowe Internetu jako medium komunikacyjnego, sygnały i procesy komunikacyjne w sieci a miernictwo informatyczne kodowanie, dekodowanie i szyfrowanie sygnałów 228 4. Ustawodawstwo polskie a problemy społeczne i zawodowe w praktyce administracji, gospodarki, nauki, … • • • • • • • • kodeksy etyczne oraz kodeksy postępowania administracyjnego ustawa o informatyzacji i wynikające z niej delegacje, finansowanie informatyki: dział gospodarki informatyzacja, programy pomocowe, itp. ryzyko i odpowiedzialność związane z systemami informatycznymi: Internet i prawo, polityka, itp. problemy i zagadnienia prawne dotyczace własności intelektualnej propaganda w Internecie i inzynieria manipulacji a formy i sposoby czerpania zasobów z sieci system patentowy i prawne podstawy ochrony prywatności prawo człowieka do komputera czy do ochrony przed komputerem? 5. Odpowiedzialność zawodowa i etyczna we współczesnym świecie systemów informatycznych • • • • • • • • przestrzeń komunikacyjna Internetu, systemy programowe oraz systemy mikroprocesorowe, systemy języków logiki, słabe strony metod wyszukiwania danych, informacji, wiedzy, sposoby rozliczania i kontrolowania Internetu, nauka właściwego korzystania z Internetu, studenci i pracownicy w sieci, smog informacyjny, 6. Elektronika, informacja a gospodarka, społeczeñstwo, administracja • • • • • • • • dpołeczność Internetu a informacja, dposoby pobudzania rozwoju Internetu i Społeczeństwa Informacyjnego, techniki informacyjne a kultura, użytkowanie Internetu jako dostęp do dóbr kultury, rodzaje elektronicznej działalności gospodarczej, stan i perspektywy działalności gospodarczej w polskim Interecie, formy internetowego biznesu, reklamy w sieci a eHandel, 7. Mikro-model Społeczeństwa Informacyjnego • • • • • • • • powszechny dostęp do Internetu oraz prywatność w sieci, strategie pozyskiwania uwagi Internautów, telekonferencje, narzędzia do nauczania za pomocą Internetu, Internet a konflikt pokoleń, korzyści wynikające z komputerów, sieci, systemów, Internetu ochrona prywatności w bazach i hurtowniach danych: PESEL, REGON, KEP, KIP, POLTAX, itp. pamięć wirtualna oraz wspomaganie pracy wielozadaniowej i ochrony zasobów, sklepy internetowe oraz korzyści z elektronicznego obiegu pieniądza procesy komunikacyjne w społeczeństwie informacyjnym, elektronicznej gospodarce i wirtualnej administracji państwowej, 8. Przestrzeń komunikacyjna Internetu a problem wystąpienia socjopatologii w sieci 229 • • • • • • • • Uzależnienie od Internetu oraz granice tworzenia barier w dostępie do sieci. Systemy wartości w środowisku Internautów, Grupy dyskusyjne Typowe zainteresowania Internautów, w tym Internetowe przyjaźnie i sympatie Futurystka Internetu i ludzkie obawy, Kryteria doboru internetowych przyjaciół, Uzależnienie od Internetu,Odchylenia psychiczne, Reklamy, swatki i wszechobecna pornografia, Internet jako narzędzie autoekspresji, Psychologia i typy osobowości Internautó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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Boyce J., Young M. J.: Po prostu Outlook 2003 PL. Helion. Warszawa 2007 2. Cieciura M.: Wybrane problemy społeczne i zawodowe informatyki. Vizja Press@IT Sp. z o. o., Warszawa 2008 3. Cieciura M.: Podstawy technologii informacyjnych z przykładami zastosowañ. Opolgraf S.A. Warszawa 2006 4. Kociak W., Przeliorz K.: Jak założyć skuteczny i dochodowy sklep internetowy. Helion. Warszawa 2007 5. Tadeusiewicz R.: Społeczność Internetu. EXIT. Warszawa 2002 6. Wróblewski P.: MS Office 2007 PL w biurze i nie tylko. Helion. Warszawa 2007 7. Ustawy o informatyzacji i podpisie elektronicznym i wynikające z nich rozporządzenia i zarządzenia 230 Kierunek: Informatyka Przedmiot: Podstawy bezpieczeństwa systemów komputerowych Czas trwania: semestr 5 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Tadeusz Sydoruk 30 zaliczenie na ocenę Laboratorium dr Jarosław Skaruz 30 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Architektura systemów komputerowych, Systemy operacyjne, Technologie sieciowe 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 bezpieczeństwa systemów informatycznych, koniecznych do uwzględnienia podczas projektowania polityki bezpieczeństwa systemów informatycznych w organizacjach, firmach i korporacjach, a także w indywidualnych instalacjach powiązanych z intersiecią: zagrożeniami oraz przeciwdziałaniem zagrożeniom. Celami dodatkowymi jest wskazanie na formalnoprawne uwarunkowania polityki bezpieczeństwa oraz zakres odpowiedzialności administratorów systemów i poszczególnych uzytkowników za bezpieczeństwo systemu informatycznego, a tarze 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. Ochrona danych - zakres i charakterystyka • Podstawowe zasady, 231 • • Minimalne standardy bezpieczeństwa, Właściwości i klasyfikacja informacji: poprawność, integralność, dostepność, poufność 2. Przestępczość komputerowa • • • • Przestępstwa ujawnione i nieujawnione Obiekty, typy i sprawcy przestępstw, Piractwo komputerowe, sabotaż, wywiad gospodarczy, szpiegostwo, przestępstwa bankowe Organizacje przeciwdziałające przestępczosci komputerowej. 3. Aspekty prawne ochrony informacji i normalizacja • • • • Stan prawny ochrony informacji w Polsce, w Europie i na świecie. Ochrona danych osobowych. Prawo autorskie a programy komputerowe. Normalizacja w zakresie bezpieczeństwa systemów informatycznych. 4. Charakterystyka zagrożeń w systemach informatycznych • • • • Specyfika systemów informatycznych. Klasyfikacja zagrożeń: zagrożenia losowe wewnętrzne, zagrożenia losowe zewnętrzne, zagrożenia działań zamierzonych Statystyka typowych zagrożeń. Przeciwdziałanie zagrożeniom bezpieczeństwa systemów informatycznych. 5. Zabezpieczenia kryptograficzne • • • • • Dziedzina kryptografii i podstawowe pojecia. Podstawowe techniki szyfrowania: podstawienie, XOR i one-time pad, S-boxy Algorytm symetryczny DES, Algorytm asymetryczny RSA, Algorytm ElGamala. 6. Podpis cyfrowy • • • • • Idea podpisu cyfrowego. Certyfikacja i dystrybucja kluczy. Aspekt prawny podpisu elektronicznego. Przykłady podpisów cyfrowych: ElGamala i DSA (DSS). Protokoły związane z podpisami: slepy podpis, kanał podprogowy, podpis niezaprzeczalny 7. Kontrola dostępu - uwierzytelnianie • • • Pojęcie uwierzytelniania. Protokoły uwierzytelniania: protokół challenge and response, dowód interakcyjny uwierzytelniania, dowód z wiedzą zerowa. Uwierzytelnianie użytkowników. 232 8. Techniki kontroli dostępu do obiektów systemu informatycznego • • • • • Systemy kontroli dostępu fizycznego. Hasła - zasady wyboru i użytkowania haseł. Identyfikacja przy użyciu klucza współdzielonego. Identyfikacja przy użyciu kryptografii klucza publicznego, System uwierzytelniania Kerberos. 9. Ochrona usług w Internecie • • • • • Protokół TCP/IP a bezpieczeństwo. Protokoły: SET, PEM, PGP, SSL, S-HTTP. Bezpieczny protokół IP. Usługi ochrony danych i ich umiejscowienie w warstwach sieci. Szyfrowanie w łączu a szyfrowanie na całej drodze przesyłania danych. 10. Ochrona antywirusowa i zapory ograniczające • • • • • Ogólna charakterystyka programów destrukcyjnych. Charakterystyka i klasyfikacja wirusów komputerowych. Diagnostyka wirusów i profilaktyka antywirusowa. Zabezpieczenia dostępu typu firewall (zapora ogniowa), Systemy IDS. 11. Systemy przeciwdziałania włamaniom • • • • Systemy IDS a systemy IPS, Architektura systemów IPS Inspekcja pakietów - metody i technologie, System IDS a warstwy modelu TCP 12. Zapewnianie dostępności: ciagłość zasilania i archiwizacja informacji • • • • • • Problemy zasilania systemów komputerowych. Sposoby zapobiegania problemom zasilania. Metody organizacyjne archiwizacji informacji. Aspekt sprzętowy archiwizacji. Macierze RAID. Oprogramowanie archiwizacyjne. 13. Model bezpieczeństwa • • • Klasyfikacja zabezpieczeń. Ogólny model bezpieczeństwa systemów informatycznych. Kryteria bezpieczeństwa. 14. Projektowanie zabezpieczeń systemu informatycznego • • • Charakterystyka i specyfikacja systemu informatycznego. Wymagania i środowisko bezpieczeństwa SI Przedsięwziecia i środki bezpieczeństwa SI. 233 • • Zarządzanie bezpieczeństwem SI. Procedury bezpieczeństwa. 15. Ocena i zarządzanie bezpieczeństwem systemu informatycznego • • • • • Miedzynarodowe standardy ochrony systemów informatycznych. Miedzynarodowe kryteria oceny bezpieczeństwa, Audyt bezpieczeństwa SI. Monitorowanie stanu bezpieczeństwa SI. Model zarządzania bezpieczeństwem SI. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Programy antywirusowe • • Procedura testowania, Ocena możliwości wybranych programów antywirusowych, 2. Archiwizacja informacji • • wybrane strategie kopii zapasowej przy użyciu programu kopia zapasowa, ocena możliwosci wybranych programów archiwizujacych 3. Szyfrowanie danych • • • Zaawansowane możliwosci PGP, Szyfry podstawieniowe i przestawieniowe, Funkcja haszująca, 4. Instrumentarium administratora • • • bezpieczne hasła, narzędzia monitorujace ruch sieciowy identyfikacja intruza 5. Bezpieczeństwo w systemie Linuks I 234 • • bezpieczna instalacja systemu operacyjnego, ”łatanie” domyślnej konfiguracji Linuksa 6. Bezpieczeństwo w systemie Linuks II • • • • instalacja oprogramowania OpenSSL, utworzenie urzędu certyfikujacego (ang. Certificate Authority), wygenerowanie certyfikatu dla urzędu certyfikujacego, wygenerowanie certyfikatu dla klienta 7. Bezpieczeństwo w systemie Windows I • • • • zarządzanie kontami i grupami użytkowników, zarządzanie systemem haseł, inspekcja, zarządzanie zasobami 8. Bezpieczeństwo w systemie Windows II • • • Encryption File system, Konfiguracja usług SMTP, POP3, IMAP4 Filtrowanie ruchu 9. Firewall • • • zagrożenia, zasady tworzenia reguł, metody filtrowania pakietów, tworzenie reguł w Zone Alarm, tworzenie reguł w iptabl 10. Testy penetracyjne • • • narzędzia do pozyskiwania informacji, analiza podatności na atak, zautomatyzowane skanery luk 11. System wykrywania włamań Snort • • • • budowa i działanie programu SNORT, zasady tworzenia reguł, możliwosci reagowania na naruszenie bezpieczeństwa, instalacja i konfiguracja 12. System wykrywania włamań Snort II • • • • możliwości alarmowania, możliwości reakcji na naruszenie bezpieczeństwa, tworzenie własnych reguł wykrywajacych ataki, graficzne narzędzia do zarządzania SNORTEM 13. Pułapki I 235 • • instalacja i konfiguracja pułapki analiza logów z zapisem prób włamania 14. Pułapki II • • Realizacja prostych scenariuszy włamań, reakcje pułapki 15. Bezpieczeństwo baz danych na przykładzie Access 2000 • • • • struktura zabezpieczeń, ustawianie hasła dostępu, zabezpieczenia na poziomie użytkownika, zarządzanie hasłami, używanie kreatora zabezpieczeń 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Barczak A., Sydoruk T.: Bezpieczeństwo systemów informatycznych. Wyd.Akademii Podlaskiej, Siedlce 2002. 2. Barczak A., Sydoruk T.: Bezpieczeństwo systemów informatycznych zarządzania. Wyd. Bellona, Warszawa 2003. 3. Chestwick W., Bollovin S., Rubin A.: Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty. Wyd. Helion, Gliwice 2003 4. Czarny P.: Bezpieczeństwo w Windows NT/2000. Ćwiczenia praktyczne.Wyd. Helion, Gliwice 2002. 236 5. Czarny P.: PGP. Szyfrowanie informacji. Ćwiczenia praktyczne. Wyd. Helion, Gliwice 2002. 6. W. Chestwick, S. Bellovin, A. Rubin: ”Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty”, Wyd. Helion, Gliwice 2003. 7. T. J. Klevinsky, S. Laliberte, A. Gupta: ”Hack I.T. Testy bezpieczeństwa danych”, Wyd. Helion, Gliwice 2003. 8. J. Stanger, T. Lane, E. Danielyan: ”Hack Proofing Linux. Edycja polska”, Wyd. Helion, Gliwice 2003. 9. Praca zbiorowa: IPS. Zapobieganie i aktywne przeciwdziałanie intruzom.Wyd. Mikom, Warszawa 2005 10. Zabezpieczenia systemu Microsoft Windows 2000. Przewodnik Techniczny, Wyd. Promise, 2002 11. Amoroso E.: Wykrywanie intruzów. Wyd. Oficyna Wydawnicza RM,Warszawa 1999. 12. Hontanon R. J.: ”Bezpieczeństwo systemu Linux”, Wyd. Mikom, Warszawa 2002. 237 Kierunek: Informatyka Przedmiot: Zintegrowane Systemy Informatyczne Zarządzania Integrated Management Information Systems Czas trwania: semestr 6 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 21 zaliczenie na ocenę Laboratorium dr inż. Jacek Florek 24 zaliczenie na ocenę Punkty ECTS 4 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: • • • • • Inżynieria oprogramowania Problemy społeczne i zawodowe informatyki Grafika i komunikacja człowieka z komputerem Programowanie obiektowe Programowanie deklaratywne lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Podstawowym celem wykładów jest przedstawienie zasad tworzenia i eksploatacji systemów informatycznych zarządzania, ze szczególnym uwzględnieniem systemów zintegrowanych. Rozwiniętymi celami szczegółowymi sa: • • • • określenie roli zasobów informacyjnych w organizacji oraz uzasadnienie biznesowe wdrażania SIZ w przedsiębiorstwie określenie zasadniczych cech systemów informatycznych zarządzania, w tym ich typologii oraz ewolucji określenie zasad podejścia procesowego w zarządzaniu i tworzeniu ZSI oraz metodologicznych podstaw tworzenia zintegrowanych systemów informatycznych zarządzania ze szczególnym uwzględnieniem scenariusza wyboru i wdrożenia gotowego SIZ zapoznanie z typowymi rozwiązaniami eksploatowanych na rynku krajowym systemami informatycznymi zarządzania 238 Celem laboratorium jest zapoznanie z techniką wspomagania zarządzania w różnych obszarach aktywności społecznej człowieka. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • zapoznanie praktyczne z działaniem wybranych systemów branżowych m.in. Abra Gold czy Optima zapoznanie się z zasadami użytkowania wybranych modułów zintegrowanego systemu informatycznego m.in.SAP/R3 prezentaqcja przez grupy studenckie wybranych systemów dedykowanych do zarządzania małymi i średnimi firmami WYKŁAD 1. Rola zasobów informacyjnych w przedsiębiorstwie • • • • systemy organizacji zasoby informacyjne w przedsiębiorstwie procesy informacyjno-decyzyjne informacja a procesy podejmowania decyzji 2. Model zastosowań technologii informatycznej w organizacji • • • • • zastosowanie pojedynczych aplikacji IT wewnętrzna integracja reorganizacja procesów biznesowych reorganizacja sieci gospodarczej zmiana zakresu działalności gospodarczej 3. Typologia i ewolucja informatycznych systemów zarządzania • • • systemy informatyczne zarządzania typologia SIZ standardy SIZ 4. Struktury i architektura SIZ • • struktury SIZ architektury SIZ 5. Podejście procesowe w zarządzaniu i jego wpływ na kierunki rozwoju SIZ • • • istota podejścia procesowego w zarządzaniu związek podejścia procesowego z koncepcjami współczesnych SIZ podejście procesowe w systemach jakości 6. Złożoność realizacyjna SIZ • • czynniki występujących podczas realizacji systemu składniki systemu jako produktu końcowego 239 7. Scenariusze realizacji SIZ • • • tworzenie ZSI od podstaw przez służby informatyczne przedsiębiorstwa tworzenie ZSI od podstaw przez zewnętrzne firmy informatyczne wybór, zakup i wdrożenie wyrobu gotowego 8. Procedura wyboru gotowego ZSI • • • kryteria wyboru ZSI opis procedury fazy procedury wyboru gotowego ZSI 9. Organizacja prac wdrożeniowych ZSI • • • • model i etapy wdrażania ZSI realizacja ZSI działania integrujące (integrator wdrożeniowy) przykładowy model integracji działań 10. Współczesne zintegrowane systemy informatyczne zarządzania • • • klasyfikacja i podział współczesnych zintegrowanych SIZ przegląd dostępnych na rynku polskim SIZ tendencje rozwojowe współczesnych SIZ 11. Charakterystyka funkcjonalna przykładowego SIZ • • • modułowa budowa SIZ i jej odmiany moduły bazowe moduły uzupełniające ZALICZENIE WYKŁADU Przedmiot kończy się zaliczeniem na ocenę na podstawie pisemnego sprawdzianu przeprowadzanego w ustalonym terminie podczas zajęć. Sprawdzian jest oceniany systemem punktów pomocniczych. Student łącznie może uzyskać maksymalnie 100 punktów. Ocena końcowa z przedmiotu, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Praca z systemem Abra Gold firmy AKTIS 240 Ocena db (C) db+ (B) bdb (A) • • • • zapoznanie się z obsługą gospodarki magazynowej definiowanie danych i struktury organizacyjnej firmy (magazyn, oddziały, węzły, itp) definiowanie kart menu magazynu obsługa zamówień własnych i obcych 2. Praca z systemem CDN OPT!MA firmy Comarch • • • • rozpoczecie pracy z programem CDN OPT!MA konfiguracja systemu definiowanie słowników praca z wybranym modułem 3. Praca z systemem CDN OPT!MA firmy Comarch (c.d.) • • • praca z modułem Faktury praca z modułem Magazyn praca z modułem Place i Kadry 4. Praca z systemem SAP • • • • zapoznanie się z systemem i techniką pracy w systemie uruchamianie, korzystanie z programu definiowanie mandanta, konfiguracja użytkownika zapoznanie się ze strukturą systemu i koncepcją modelu referencyjnego IDES 5. Praca z systemem SAP (c.d.) • • monitorowanie zasobów serwera SAP komunikacja użytkowników w systemie SAP 6. Praca z systemem SAP - moduł Rachunkowość Finansowa • • wykorzystanie modułu Rachunkowosc Finansowa FI do zarządzania informacją o gospodarowaniu finansami, wykorzystanie modułu Rachunkowość Finansowa FI - tworzenie danych podstawowych i definiowanie Miejsc Powstawania Kosztów 7. Praca z systemem SAP - moduł Rachunkowość Finansowa (c.d.) • • • opracowanie danych podstawowych kont Księgi Głównej opracowanie danych dostawców i odbiorców praca z kontami 8. SAP R/3 - Moduł Controllingu • • • • rekordy danych podstawowych odbiorców rekordy danych podstawowych banków rekordy danych podstawowych składników majatku trwałego sprawozdawczość do rekordów danych podstawowych 9. SAP R/3 - moduł Zarządzanie Kadrami 241 • • • prowadzenie ewidencji nadzór czasu pracy planowanie urlopów i szkolen pracowników - podmoduł MP 10. SAP R/3 - moduł Planowanie Produkcji • • • BOM - opis struktury wyrobu rekordy danych planistycznych technika planowania produkcji w SAP R/3 11. Przegląd wybranych infromatycznych systemów zarządzania • • prezentacja wybranej aplikacji (systemu) przez grupę studentów - wspomaganie zarządzania instytucją oświatową prezentacja wybranej aplikacji (systemu) przez grupę studentów - wspomaganie zarządzania jednostką administracji państwowej 12. Przegląd wybranych infromatycznych systemów zarządzania (c.d.) • • prezentacja wybranej aplikacji (systemu) przez grupę studentów - wspomaganie zarządzania jednostką administracji gospodarczej prezentacja wybranej aplikacji (systemu) przez grupę studentów - wspomaganie zarządzania jednostką służby zdrowia ZALICZENIE LABORATORIUM Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne 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 5 pkt. Łącznie student za 10 zajęć (zajęcia 1-10) może uzyskać od 0 do 50 pkt. Dalsze 50 pkt. może otrzymać za przygotowanie prezentacji SIZ prezentowanego na zjęciach 11-12. Łą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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LITERATURA 242 Ocena db (C) db+ (B) bdb (A) 1. Mazzullo J., Wheatley P. - SAP R/3. Podrecznik uzytkownika. HELION, Gliwice 2006. 2. Wrycza S. - Analiza i projektowanie systemów informatycznych zarzadzania. Metody, techniki, narzedzia. PWN. Warszawa, 1999. 3. Kisielnicki J., Sroka H. - Systemy informacyjne biznesu. Informatyka dla zarzadzania. Agencja Wydawnicza PLACET, Warszawa 2005. 4. Jerzy G. Isajew - Systemy informacyjne. Expertus, Warszawa 2001 5. Adamczewski P.- Zintegrowane systemy informatyczne w praktyce. MIKOM, Warszawa 2000 6. Chmielarz W. - Systemy informatyczne wspomagajace zarzadzanie. Aspekt modelowy w budowie systemów. Elipsa, Warszawa 1996 7. Barczak A., Florek J., Sydoruk T. - Projektowanie zintegrowanych systemów informatycznych zarzadzania. Wydawnictwo Akademii Podlaskiej, Siedlce 2006 8. Vivek Kale – SAP R/3. Przewodnik dla menadzerów. HELION, Gliwice 2001 243 Kierunek: Informatyka Przedmiot: Komputerowe Systemy Wspomagania Decyzji Computer-Aided Decision System Czas trwania: semestr 6 Przedmiot: obieralny Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 21 zaliczenie na ocenę Laboratorium dr inż. Jacek Florek 24 zaliczenie na ocenę Punkty ECTS 4 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: • • • • • Inżynieria oprogramowania Problemy społeczne i zawodowe informatyki Grafika i komunikacja człowieka z komputerem Programowanie obiektowe Programowanie deklaratywne lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Podstawowym celem wykładu jest wprowadzenie studentów w tematykę komputerowych systemów wspomagania decyzji. Rozwiniętymi celami szczegółowymi sa: • • • przedstawienie podstaw teoretycznych wspomagania decyzji omówienie roli systemów komputerowych we wspomaganiu procesów decyzyjnych oraz elementów składowch takich systemów przedstawienie najbardziej reprezentatywnych technik wykorzystywanych we wspomaganiu decyzji oraz zagadnień budowy modeli rzeczowych i preferencji sytuacji decyzyjnej. Podstawowym celem zajęć laboratoryjnych jest uzyskanie praktycznych umiejętności posługiwania sie zestawem narzędziowym wykorzystywanym w procesach analizy danych i wspomagania decyzji. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: 244 • • • posługiwanie się pakietem MS Access w problemach związanych raportowaniem i analizą danych wykorzystanie metod hierarchii analitycznej do rozzwiązywania wielokryterialnych problemów wyboru z dyskretnego zbioru decyzji dopuszczalnych samodzielnego anlizowania informacji o prostych i złożonych systemach analitycznych i wspomagania decyzji WYKŁAD 1. Wprowadzenie do przedmiotu • • • • transformacja gospodarki przemysłowej wizje modelu przedsiebiorstw XXI wieku wyzwania nowej gospodarki stojace przed menedżerami stan zaawansowania w zakresie wdrożen nowych technologii informacyjnych zarządzania 2. Podstawy wspomagania decyzji • • • • • • rola decyzji w nowoczesnym przedsiebiorstwie charakterystyka sytuacji decyzyjnej zakres podejmowania decyzji horyzont czasowy podejmowanych decyzji charakter problemów, decydent schematy podejmowania decyzji i analityczne podejście do podejmowania decyzji 3. Informacyjne systemy zarzadzania i modele podejmowania decyzji • • • • pojecie informacyjnego systemu zarządzania informacyjne systemy zarzadzania i poziomy organizacyjne decyzje podejmowane w zale,nosci od poziomu zarzadzania modelowanie rzeczywistosci, baza modelu 4. Wprowadzenie do komputerowych systemów wspomagania decyzji • • • • systemy wspomagania decyzji a współczesne systemy informacyjne MIS, EIS, ES itd. definicja systemu wspomagania decyzji struktura systemu wspomagania decyzji charakterystyka elementów składowych 5. Analityczne modelowanie sytuacji decyzyjnej • • • • sytuacja decyzyjna a model modelowanie analityczne sytuacji decyzyjnej elementy składowe modelu sytuacji decyzyjnej model rzeczowy sytuacji decyzyjnej 6. Modelowanie preferencji decydenta 245 • • • • • koncepcja specyfikacji preferencji za pomocą funkcji realizacji celu decydenci indywidualni i grupowi, tworzenie efektywnych zespołów wspomaganie komputerowe decydenta indywidualnego i grupowego przykłady modelowania sytuacji decyzyjnej metody rozwiązywania zadań analizy wielokryterialnej 7. Analiza wielokryterialna • • podstawowe definicje przegląd metod rozwiązywania zadań analizy wielokryterialnej 8. Metody reprezentacji niepewności • • • modele probabilistyczne logika rozmyta i zbiory rozmyte zbiory rozmyte i przybliżone 9. Zarządzanie i analiza danych • • • hurtownie danych i technologia OLAP cechy hurtowni danych, architektura, modele danych, analiza wielowymiarowa eksploracja i analiza danych jako narzedzia wspomagania decyzji 10. Implementacja systemów wspomagania decyzji • • problematyka implementacji systemów wspomagania decyzji przykłady wykorzystania systemów wspomagania decyzji 11. Systemy ekspertowe • • • • baza wiedzy i metody reprezentacji wiedzy w bazie wiedzy maszyna wnioskująca algorytmy wnioskowania (do przodu, wstecz, mieszane, heurystyki) przykład systemu ekspertowego w systemie wspomagania decyzji ZALICZENIE WYKŁADU Przedmiot kończy się zaliczeniem na ocenę na podstawie pisemnego sprawdzianu przeprowadzanego w ustalonym terminie podczas zajęć. Sprawdzian jest oceniany systemem punktów pomocniczych. Student łącznie może uzyskać maksymalnie 100 punktów. Ocena końcowa z przedmiotu, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS): Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. 246 Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wykorzystanie MS Access do analizy danych (1) • • tworzenie formularza, formularz jako arkusz danych, formularz jako okno dialogowe tworzenie raportu 2. Wykorzystanie MS Access do analizy danych (2) • • • • makra , tworzenie makra uruchamianie makra edytor języka Visual Basic obsługa edytora VBA 3. Wykorzystanie MS Access do analizy danych (3) • • • • wykresy i makra formularz Wykres modyfikacje wykresu konstrukcja makropoleceń 4. Wykorzystanie MS Access do analizy danych (4) • • • • programowe przetwarzanie danych import i eksport danych obliczenia biznesowo-finansowe obliczenia statystyczne 5. Wykorzystanie pakietu ExpertChoice (1) • • • zapoznanie z metodą AHP hierarchii analitycznej (Analityc Hierarchy Process) zapoznanie z programem budowa przykładowego modelu 6. Wykorzystanie pakietu ExpertChoice (2) • • • realizacja przykładowego, wielokryterialnego wyboru z dyskretnego zbioru decyzji dopuszczalnych synteza ocen analiza ocen 7. Wykorzystanie pakietu ExpertChoice (3) • • realizacja przykładowego, wielokryterialnego wyboru z dyskretnego zbioru decyzji dopuszczalnych analiza wrażliwości 8. Wykorzystanie AHPproject (1) • rejestracja na www.AHPproject.com 247 • • zapoznanie z aplikacją zapoznanie się z bibliotekami 9. Wykorzystanie AHPproject (2) • • stworzenie własnego problem rozwiązanie problemu zgodnie z instrukcją postępowania 10. Przegląd wybranych informatycznych systemów zarządzania (1) • • Prezentacje (grupowe) studenckie wybranych SWD (Statistica, SPSS Clementine, Oracle Data Mining) Prezentacje (grupowe) studenckie wybranych SWD (Oracle Text , Insightful Miner, R) 11. Przegląd wybranych informatycznych systemów zarządzania (2) • • Prezentacje (grupowe) studenckie wybranych SWD (Weka, Oracle Discoverer) Prezentacje (grupowe) studenckie wybranych SWD (Cognos /Applix/ TM1) 12. Przegląd wybranych informatycznych systemów zarządzania (3) • • Prezentacje (grupowe) studenckie wybranych SWD (SAS) ocena prezentacji ZALICZENIE LABORATORIUM Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne 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 5 pkt. Łącznie student za 9 zajęć (zajęcia 1-9) może uzyskać od 0 do 45 pkt. Dalsze 55 pkt. może otrzymać za przygotowanie prezentacji realizowanej na zjęciach 10-12. Łą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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LITERATURA 248 Ocena db (C) db+ (B) bdb (A) 1. Kwiatkowska A. M.: Systemy wspomagania decyzji, PWN, Warszawa 2007. 2. Sirpińska M., Jachna T.: Metody podejmowania decyzji finansowych, PWN, Warszawa 2007. 3. Turban, E.: Decision Support and Expert Systems. Prentice-Hall. London. 1995 4. Adamczewski P., Zintegrowane systemy informatyczne w praktyce, Wydawnictwo Mikom, Warszawa 2000 5. Czerminski J., Systemy wspomagania decyzji w zarzadzaniu przedsiebiorstwem, Dom Organizatora, TNOiK, Torun-Gdansk 2002 6. Sroka H.: Inteligentne systemy wspomagania decyzji w zarządzaniu, AE Katowice 1996 7. Wierzbicki A.P., Granat J.: Optymalizacja we wspomaganiu decyzji, Preskrypt, Instytut Automatyki i Informatyki Stosowanej, Politechnika Warszawska, 2003 8. Bolesta-Kukułka K.: Decyzje menedżerskie, Wyd. PWE Warszawa 2003 249 Kierunek: Informatyka Przedmiot: Projekt zespołowy Team Project Czas trwania: semestr 7 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Laboratorium Liczba godzin Tryb zaliczenia Punkty ECTS 45 zaliczenie na ocenę 5 POZIOM Warunkiem dopuszczenia do zajęć jest zaliczenie przedmiotów: • • • • • Podstawy programowania Bazy danych Technologie sieciowe Algorytmy i złożoność Inżynieria oprogramowania. ZAŁOŻENIA I CELE Realizacja projektu grupowego obejmuje zagadnienia występujące w przedmiotach: Analiza systemów zarządzania, Systemy informatyczne w biznesie i administracji, Projektowanie informatycznych systemów zarządzania, Metody i narzędzia modelowania systemów informacyjnych. Celem podstawowym „Projektu grupowego” jest: 1. 2. 3. 4. wykorzystanie wiedzy zdobytej w dotychczasowym procesie kształcenia oraz zagadnień nauczanych w bieżącym semestrze 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ł. Dodatkowym celem „Projektu grupowego” jest: • • • • doskonalenie umiejętności algorytmicznego myślenia, zdobycie umiejętności efektywnego współdziałania i pracy w zespole, zdobycie umiejętności podejmowania indywidualnych i grupowych decyzji. 250 PROJEKT 1. Zajęcia wstępne • przedstawienie celu i zakresu przedmiotu, • omówienie sposobu zaliczania, • 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-13. Samodzielna praca studentów w grupach projektowych • • realizacja projektów z wykorzystaniem metod i narzędzi uzgodnionych z prowadzącym, wykonywanie dokumentacji projektowej 14 Prezentacja wyników prac projektowych • • • przedstawienie wyników prac, prezentacja rozwiązań praktycznych, przedstawienie dokumentacji projektowej 15 Omówienie i zaliczenie projektów ROLA NAUCZYCIELA AKADEMICKIEGO Przed rozpoczęciem zajęć: • • • sformułowanie tematów i zakresów projektów w formie pisemnej (na podstawie analizy zakresu merytorycznego przedmiotów realizowanych w bieżącym semestrze), przygotowanie zagadnień do szczegółowego rozwiązania, określenie literatury podstawowej i uzupełniającej (lub innych źródeł). 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, uzgodnienie zakresu i formy prezentacji wyników prac projektowych, ocena projektów ZALICZENIE PROJEKTU Przedstawiony do oceny projekt powinien zawierać: 251 • • • wyniki merytoryczne prac projektowych (aplikację informatyczną zapisaną na odpowiednim nośniku /dyskietka, CD ROM lub/i na wskazanym przez prowadzącego serwerze/ lub opracowanie pisemne1) dokumentację projektową (zawartość merytoryczną i formalną ustala prowadzący indywidualnie dla każdego projektu) prezentację graficzną (lub multimedialną) wskazującą na istotne zagadnienia poruszane w projekcie oraz sposoby ich realizacji Podczas zaliczenia projektu prowadzący uwzględnia: • kompletność, spójność i unikalność projektu • wartości merytoryczne i praktyczne przyjętych w projekcie rozwiązań • kompletność dokumentacji - 30% • prezentację projektu - 10% 60% 1 Postać prezentująca wyniki merytoryczne uzależniona jest od konkretnego projektu 252 Specjalność: PROGRAMOWANIE SYSTEMÓW I BAZ DANYCH 253 Kierunek: Informatyka Przedmiot: Programowanie zaawansowane Advanced Programming Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Wykład Laboratorium Liczba godzin Tryb zaliczenia dr hab. Stanisław Ambroszkiewicz dr Dariusz Mikułowski 30 egzamin mgr Waldemar Bartyna mgr Artur Niewiadomski 45 Punkty ECTS 5 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 Algorytmy i złożoność. lub znajomość literatury obowiązującej w tych przedmiotach oraz znajomość języków programowania Java i C++ w zakresie podstawowym. ZAŁOŻENIA I CELE Przedmiot jest obowiązkowy w ramach specjalizacji Programowanie systemów i baz danych. Podstawowym celem wykładów jest przekazanie wiedzy o zaawansowanych technikach programistycznych oraz rozszerzenie wiedzy dotyczącej zagadnień związanych z paradygmatem programowania obiektowego. Treści przedmiotu są kontynuacją zagadnień omawianych na wykładach z przedmiotów Podstawy Programowania i Języki i paradygmaty programowania. Celami szczegółowymi są następujące dotyczące przekazania wiedzy o zaawansowanych mechanizmach programistycznych w językach C# i Java: • • dziedziczeniu, metodach wirtualnych i polimorfizmie, 254 • • • metodach kontroli poprawności kodu, interfejsach, pakietach i modyfikatorach dostępu w języku Java, pakiecie NIO w języku Java. Celem zajęć laboratoryjnych jest nabycie i opanowanie umiejętności programowania w zakresie zaawansowanym. Cele szczegółowe zajęć laboratoryjnych obejmują następujące mechanizmy: • • • • dziedziczenie , metody wirtualne i polimorfizm, metody kontroli poprawności kodu, pakietu NIO (Java). Językami programowania wykorzystywanymi na zajęciach są Java i C#. WYKŁAD 1. C#. Mechanizmy warunkowego naruszania enkapsulacji klasy. • • Enkapsulacja a dziedziczenie. Mechanizm zaprzyjaźniania funkcji z klasą i klasy z klasą. 2. C#. Kompozycja i dziedziczenie. • • • Kompozycja. Dziedziczenie jednobazowe. Dziedziczenie wielobazowe. 3. C#. Metody wirtualne i polimorfizm. • • • • Metody wirtualne Klasy abstrakcyjne Polimorfizm dynamiczny Konstruktory i destruktory w środowisku polimorficznym 4. C#. Przestrzenie nazw. • • • Tworzenie przestrzeni nazw Przestrzenie nazw bez nazwy Wykorzystanie przestrzeni nazw 5. C#. Mechanizm obsługi wyjątków. • • • • Przechwytywanie wyjątków Rzucanie wyjątkiem Obsługa wyjątków Wyjątki standardowe 6. C#. Pliki i strumienie - podejście obiektowe. 255 • • • • • Strumienie predefiniowane Operatory wprowadzania i wyprowadzania Klasy obsługujące strumienie Flagi formatujące strumienie Manipulatory ustawieniami strumieni 7. C#. Asercje. • • • • Niezmienniki klasy Warunki wstępne i warunki końcowe Używanie asercji do implementowania niezmienników i warunków Efektywne korzystanie z asercji 8. C#. Dyrektywy preprocesora. • • • • Istota preprocesora Makrodefinicje Dołączanie bibliotek Kompilacja warunkowa 9. Java. Interfejsy. • • • Definicja interfejsu Zastosowanie interfejsów Dziedziczenie interfejsu 10. Java. Klasy anonimowe. • • Jawna klasa anonimowa Konstruktor klasy anonimowej 11. Java. Obiekty refleksyjne. • • Mechanizm refleksji Obiekty refleksyjne 12. Java. Pakiety • • Tworzenie pakietów Zastosowanie pakietów 13. Java. Modyfikatory. • • • • • • Modyfikatory dostępu Metody i pola statyczne Pola finalne Metody synchronizowane Pola ulotne Metody rodzime 14. Java. Pakiet NIO. 256 • • • Asynchroniczne wejście - wyjście. Kanały. Bufory. 15. Java. Pakiet NIO. • • • Kodowanie i dekodowanie znaków Klasa FileChannel. Skalowalne wejście - wyjście. 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. C#. Mechanizmy warunkowego naruszania enkapsulacji klasy. • • Zaprzyjaźnianie funkcji z klasą Zaprzyjaźnianie klasy z klasą 2. C#. Kompozycja i dziedziczenie. • • • Zawieranie obiektów klas istniejących w nowych klasach Dziedziczenie 1-bazowe Dziedziczenie wielobazowe 3. C#. Metody wirtualne i polimorfizm dynamiczny. • • Tworzenie rodziny funkcji wirtualnych Wykorzystanie klas abstrakcyjnych 4. C#. Przestrzenie nazw. • • Tworzenie przestrzeni nazw Wykorzystanie przestrzeni nazw 5. C#. Mechanizm obsługi wyjątków. • • Przechwytywanie wyjątków Rzucanie wyjątkiem 257 • Obsługa wyjątków 6. C#. Pliki i strumienie - podejście obiektowe. • • Algorytm przetwarzania plików Wykorzystanie klas standardowych 7. C#. Asercje. • • • • Niezmienniki klasy Warunki wstępne i warunki końcowe Używanie asercji do implementowania niezmienników i warunków Efektywne korzystanie z asercji 8. C#. Dyrektywy preprocesora. • • • Makrodefinicje Dołączanie bibliotek Kompilacja warunkowa 9. Java. Interfejsy. • • Zastosowanie interfejsów Dziedziczenie interfejsu 10. Java. Klasy anonimowe. • • Jawna klasa anonimowa Konstruktor klasy anonimowej 11. Java. Obiekty refleksyjne. • • Obiekty refleksyjne Przykłady wykorzystania refleksji 12. Java. Pakiety. • • Tworzenie pakietów Zastosowanie pakietów 13. Java. Modyfikatory. • • Modyfikatory dostępu. Wykorzystanie modyfikatorów w projektowaniu klas 14. Java. Pakiet NIO. • • • Asynchroniczne wejście - wyjście. Kanały. Bufory. 258 15. Java. Pakiet NIO. • • Kodowanie i dekodowanie znaków. Klasa FileChannel. 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. 5. 6. 7. 8. 9. Krzysztof Barteczko - Java, wykłady i ćwiczenia, MIKOM 2000 Jesse Liberty - C#. Programowanie, Helion 2005 Wei-Meng Lee - C# 2008. Warsztat programisty, Helion 2010 Steven John Metsker - C#. Wzorce projektowe, Helion 2005 Andrew Troelsen - Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition, . Apress 2007 Bruce Eckel - Thinking in Java. Helion 2006 Herbert Schildt - Java. Kompendium programisty. Helion 20052. Marek Wierzbicki - Java, programowanie obiektowe, Helion 2006 Specyfikacja języka Java - http://java.sun.com 259 Kierunek: Informatyka Przedmiot: Systemy baz danych Database Systems Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład prof. dr hab. inż. Andrzej Barczak 30 egzamin Laboratorium mgr Michał Wolski mgr Dariusz Zacharczuk 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • • • Bazy danych Systemy operacyjne Algebra liniowa Inżynieria oprogramowania Technologie sieciowe lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu ”Systemy baz danych” jest wprowadzenie do problematyki zaawansowanych systemów baz danych zarówno w zakresie podstaw teoretycznych jak i praktyki projektowania w wybranym środowisko programowania (ORACLE). W szczególności cele przedmiotowe obejmują: • • • • zapoznanie ze składnia, podstawowymi poleceniami i funkcjami jezyka PL/SQL zapoznanie z istota i funkcjonowaniem rozproszonych oraz inteligentnych baz danych zapoznanie z systemem zaradzania baza danych zapoznanie z architektura, konfiguracja, układem logicznym i fizycznym bazy danych ORACLE Celem laboratorium jest nabycie i opanowanie umiejetnosci w zarzadzaniu i projektowaniu złożonych systemów bazodanowych na przykładzie systemu ORACLE. Pierwsza cześć obejmuje zagadnienia związane z programowaniem w jezyku PL/SQL - nieodłącznym 260 elementem systemu ORACLE. Druga cześć poswięcona jest poznaniu technik projektowania aplikacji pracujacych w środowisku WEB. WYKŁAD 1. Jezyk PL/SQL • • • • • system menu, polecenia edycja w wierszu poleceń polecenie DESCRIBE, COLUMN polecenie SAVE, GET, START, EDIT rodzaje deklaracji SQL 2. Język PL/SQL • • • • • polecenie SELECT typy danych wyrażenia i operatory, funkcje polecenia INSERT, UPDATE, DELETE transakcje 3. Język PL/SQL • • • • • bloki PL/SQL, struktury sterujące polecenia SQL w programie PL/SQL, wyzwalacze przechowywane procedury i funkcje pakiety kursory 4. System zarządzania bazą danych • • • • zarządzanie plikami, wyszukiwanie informacji jądro SZBD, model pamięci zewnętrznej pliki nieuporządkowane, pliki sekwencyjne pliki haszowane, pliki indeksowe ,indeks a struktura B-drzewa 5. System zarządzania bazą danych (cz. 1) • • • • • zarządzanie transakcjami współbieżność transakcji - sytuacje konfliktowe metody zapewniajace współbiezność transakcji metody blokowania zarządzanie integralnością bazy danych 6. System zarządzania bazą danych (cz. 2) • • • • niezawodność i odtwarzanie baz danych po awarii obrazy przed i po transakcji, uaktualnianie segmentów pamieci zarządzanie słownikiem - tabele słownikowe zarządzanie zapytaniami, optymalizacja zapytań 261 7. Rozproszone bazy danych • • • • • zadania zalety rozproszenia typy rozproszonych baz danych system zarządzania rozproszoną bazą danych systemy klient - serwer 8. Inteligentne bazy danych (cz. 1) • • • inteligencja a bazy danych logika i bazy danych definicja danych w Katalogu, operowanie danymi w Datalogu 9. Inteligentne bazy danych (cz. 2) • • • Datalog i relacyjny model danych różnice miedzy Datalogiem i Prologiem systemy hipermedialne, geograficzne systemy informacyjne 10. Architektura bazy danych ORACLE (cz. 1) • • • baza danych i instancje wewnętrzna struktura bazy danych wewnętrzne obszary pamieci 11. Architektura bazy danych ORACLE (cz. 2) • • • procesy drugoplanowe podstawowa konfiguracja bazy danych model danych i tworzenie bazy danych; 12. Konfiguracja sprzętowa bazy danych ORACLE • • • • • • połączone bazy danych zdalna modyfikacja danych serwery klastrowe, konfiguracje wieloprocesorowe aplikacje typu klient-serwer architektura trójwarstwowa bazy danych typu standy, replikowanie bazy danych 13. Logiczny układ bazy danych ORACLE • • • • • optymalna elastyczna architektura (OFA) przestrzenie tabel SYSTEM i DATA przestrzenie tabel INDEX i TOOLS przestrzenie tabel RBS, TEMP i USERS przestrzenie tabel poza struktura OFA 14. Fizyczny układ bazy danych ORACLE (cz. 1) 262 • • • fizyczny układ plików bazy danych weryfikacja wartości obciążenia przez operacje we-wy problemy małej liczby dysków 15. Fizyczny układ bazy danych ORACLE (cz. 2) • • • położenie plików, wykorzystanie przestrzeni przez bazę danych zmiana rozmiarów plików, przenoszenie plików zwalnianie przestrzeni w segmentach 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wstęp do programowania w PL/SQL • • • tworzenie podprogramu i kompilacja, definiowanie procedur i funkcji, uruchamianie składowanych procedur i funkcji; 2. Tworzenie bloków PL/SQL • • • • deklarowanie zmiennych i stałych, zakres zmiennej, złożone typy danych, atrybut %TYPE, %ROWTYPE, reguły składniowe PL/SQL, tryby IN, OUT, INOUT parametrów formalnych; 3. Przegląd funkcji wbudowanych • • • funkcje konwersji typów danych, funkcje czasu i daty, funkcje obsługi błędów. 4. Transakcje • • • instrukcje COMMIT, ROLLBACK tworzenie punktów zachowania (SAVEPOINT, ROLLBACK TO ...) instrukcje SELECT ... FOR UPDATE, LOCK TABLE 263 5. Kursory PL/SQL • • • • deklaracja kursora (kursory jawne i niejawne) atrybuty kursora otwarcie, zamknięcie, sprowadzanie danych z kursora, pętle kursorowe; 6. Sterowanie przepływem w PL/SQL • • • pętle FOR, WHILE instrukcje IF, EXIT logika trójwartościowa SQL 7. Wyjątki w PL/SQL • • • obsługa wyjątków predefiniowanych tworzenie własnych wyjątków przechwytywanie własnych wyjątków; 8. Obsługa DDL w PL/SQL. Obsługa pakietów PL/SQL • • wykonanie instrukcji DDL przy zastosowaniu EXECUTE IMMEDIATE CREATE/DROP PACKAGE, CREATE/DROP PACKAGE BODY – tworzenie i usuwanie własnych pakietów, ustawianie praw dostępu do pakietów; 9. Omówienie zasad budowy i działania aplikacji pracującej w architekturze trójwarstwowej • • • podstawowe funkcje i procedury pakietów htf i htp tworzenie deskryptora dostępu do aplikacji – DAD tworzenie prostej procedury prezentującej wynik zapytania w postaci strony html 10. Zasady budowy formularzy i przetwarzania wprowadzonych danych • • elementy formularza WEB: pola tekstowe, listy, pola kombi, pola wyboru, przyciski itp. wypełnianie formularzy domyślnymi wartościami 11. Procedury WEB wywołanie i parametry wywołania • • • metody GET i PUT protokółu HTTP konwersja typów oraz znaków specjalnych przy przetwarzaniu formularzy obsługa niewypełnionych pól formularza; 12. Autoryzacja w aplikacji WEB • • • mechanizmy SSO Oracle Application Server funkcje pakietów owa_sec i owa_util dotyczące kontroli dostępu mechanizm cookie’s - kontrola przesyłanych informacji; 13. Operacje sieciowe z użyciem wbudowanych pakietów 264 • • • odczyt i przetwarzanie danych z podanego adresu URL z autoryzacją i bez autoryzacji wysyłanie poczty elektronicznej z wykorzystaniem pakietu utl_smtp uzyskiwanie informacji o przyłączonym kliencie (adresy, rodzaj oprogramowania itp.) 14. Przetwarzanie danych binarnych • • • struktura tabel do przechowywania danych binarnych tworzenie procedur dostępu do dokumentów alias ścieżki dostępu i metody pobierania danych binarnych 15. Eksport, import i archiwizacja danych • • • ustalenie atrybutów importu i eksportu – wybór obiektów bazy danych do transferu kopie do plików tekstowych kopie binarne - programy imp oraz exp 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Allen S.; Modelowanie danych; Wydawnictwo Helion, 2006 265 2. Bebel B., Wrembel R.; Oracle. Projektowanie rozproszonych baz danych; Wydawnictwo Helion, 2003 3. Connolly T., Begg C.; Systemy baz danych - Praktyczne metody projektowania, implementacji i zarządzania. Tom 1, 2; Wydawnictwo RM, 2004 4. Darwen H., Date C.J.; SQL. Omówienie standardu języka; Wydawnictwa Naukowo Tech-niczne, 2000 5. Elmasri R., Navathe S. B., Wprowadzenie do systemów baz danych; Wydawnictwo Helion, 2005 6. Garcia-Molina H., Ullman J. D., Widom J.; Systemy baz danych Pełny wykład; Wydawnictwa Naukowo Techniczne, 2006 7. Graham I., O’Callaghan A., Wills A.; Metody obiektowe w teorii i w praktyce; Wydawnictwa Naukowo Techniczne, 2004 8. Marzec M.; JBuilder i bazy danych; Wydawnictwo Helion, 2005 9. Dokumentacja Oracle: Application Developer’s Guide - Fundamentals, PL/SQL User’s Guide and Reference, PL/SQL Web Toolkit Reference, Using the PL/SQL Gateway. 10. Bulusu Lakshman: Oracle9i PL/SQL. Poradnik programisty, Tytuł oryginału: Oracle9i PL/SQL A Developer?s Guide, ISBN: 83-7279-333-6, Mikom 2003 266 Kierunek: Informatyka Przedmiot: Aplikacje internetowe i rozproszone Internet and Distributed Applications Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Wykład prof. dr hab. inż. Mieczysław Kłopotek Laboratorium mgr Mariusz Kujawiak mgr Ewa Szczepanik Liczba godzin Tryb zaliczenia 30 egzamin 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • Podstawy Programowania lub znajomość literatury obowiązującej w tym przedmiocie. ZAŁOŻENIA I CELE Celem głównym wykładu jest zapoznanie studentów z koncepcjami leżącymi u podstaw infrastruktury Internetu i struktury aplikacji internetowych i rozproszonych, oraz z paletą narzędzi niezbędnych do tworzenia aplikacji internetowych. Rozwiniętymi celami szczegółowymi są: • • • • • Infrastruktura i architektura dla aplikacji internetowych, Przedstawienia zagadnień związanych z językiem HTML oraz serwerami WWW, Zagadnienia zawiązane z językiem XML (eXtensible MarkUp Language), Web-Serwisy - tworzenie usług sieciowych. koncepcja mobilnego agenta oraz architektura koleżeńska Celem laboratorium jest nabycie umiejętności instalowania i tworzenia oprogramowania internetowego. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • instalowanie i testowanie serwerów WWW praktyczne wykorzystanie języka HTML, XML oraz formatowanie CSS 267 • • • wykorzystanie mechanizmów wyszukiwania w repozytoriach XML zdalne wykonywanie zadań oraz tworzenie usług w sieci (Web-serwisy) tworzenie architektury gridowe WYKŁAD 1. Infrastruktura i architektury dla aplikacji internetowych • • • • model wielowarstwowy ISO-OSI sieci komputerowych infrastruktura Internetu popularne aplikacje internetowe architektury aplikacji rozproszonych 2. Język HTML • • • • Koncepcja hipertekstu Strukturalizacja tekstu Zdobnictwo tekstu i CSS Multimedia w HTML 3. Infrastruktura dla HTML • • • • HTTP serwery WWW przeglądarki WWW wyszukiwarki WWW 4. Język XML (eXtensible MarkUp Language) jako język wymiany informacji między aplikacjami • • • • • XML jako szczególny przypadek SGML budowa dokumentu przestrzenie nazw wizualizacja XML za pomocą CSS zastosowania XML 5. Metainformacje dla XML • • DTD XSchema 6. Języki zapytań do dokumentów XML • • • Xpath Xquery SBQL 7. Język transformacji dokumentów XML • Koncepcja transformacji XSL (XML Stylesheet Language) 268 • • Budowa wzorców XSLT Środki programistyczne dostępne w XSLT 8. Interfejsy programistyczne do przetwarzania XML • • • • • DOM SAX JAXP JAXB JDOM 9. Migracja kodu • • • Zdalne ładowanie modułów zdalne uruchamianie zadań rozproszona trwałość obiektów 10. Web-Serwisy • • • • Oprogramowanie pośredniczące SOAP WSDL ebXML 11. Mobilni agenci • • • • koncepcja agenta mobilność platformy zastosowania 12. Architektury ``koleżeńskie`` • • • • architektura P2P wymagania technologiczne JXTA zastosowania w biznesie 13. Architektury gridowe • • • koncepcja gridu i wymagania biznesowe przykłady architektur gridowych gridowe języki zapytań 14. Smart dust • • TinyOS TinyDB 15. Architektury mobilne 269 • • mobilni agenci mobilne sieci ad hoc 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Infrastruktura i architektury dla aplikacji internetowych • • • • Instalowanie i testowanie serwera www Apache Instalowanie i testowanie serwera aplikacji Jboss Instalowanie i testowanie serwera Serwletów Instalowanie i testowanie kontenera EJB 2. Język HTML • • • • Koncepcja hipertekstu Strukturalizacja tekstu Zdobnictwo tekstu i CSS Multimedia w HTML 3. Infrastruktura dla HTML • • • Instalacja i konfiguracja serwera Instalacja i konfiguracja przeglądarki Instalacja i konfigurowanie wyszukiwarki 4. Język XML (eXtensible MarkUp Language) jako język wymiany informacji między aplikacjami • • • Edycja dokumentu XML (lokalnego / z przestrzenią nazw) Edycja stylu wyświetlania dokumentu (CSS) dokumentu Kreowanie rysunków w graficznym podjęzyku XML 5. Metainformacje dla XML • • Tworzenie schematu DTD i kontrola poprawności dokumentu XML Tworzenie schematu XSchema i kontrola poprawności dokumentu XML 270 6. Języki zapytań do dokumentów XML • • Tworzenie zapytań w języku Xpath Tworzenie zapytań w języku Xquery 7. Język transformacji dokumentów XML • • Przetwarzanie dokumentu XML do postaci HTML za pomocą XSLT Przetwarzanie dokumentu XML do postaci CSV za pomocą XSLT 8. Interfejsy programistyczne do przetwarzania XML • • • Kontrola poprawności dokumentu XML z wnętrza programu w Javie Wczytywanie parametrów w XML za pomocą środowiska SAX / JAXP Emitowanie zapytań Xpath i Xquery z programu w języku Java 9. Zdalne ładowanie modułów i zdalne uruchamianie zadań • • Zdalne ładowanie modułów (sieciowe klasy ClassLoader Javy) Zdalne uruchamianie zadań (RMI) 10. Web-Serwisy • • Przygotowanie zdalnych procedur SOAP pod Apache Web Server Zdalne wołanie procedury za pomocą SOAP 11. Web-Serwisy • • • Projektowanie usług Rejestracja usług Korzystanie z usług 12. Mobilni agenci • • Instalacja platformy Proste przesyłanie agentów 13. Architektury • Zastosowanie JXTA w systemie o koncepcji P2P 14. Architektury gridowe • • • Instalowanie systemu gridowego Projektowanie zapytań lokalnych w SBQL Projektowanie perspektyw 15. Architektury gridowe • Projektowanie rozproszonej bazy danych 271 • • Zakładanie rozproszonej bazy danych Tworzenie zapytań rozproszonych w języku SBQL 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. M.A.Kłopotek: Inteligentne wyszukiwarki internetowe. Akademicka Oficyna Wydawnicza Exit, Warszawa 2001, 332 strony, ISBN 83-87674-31-1 2. M. A. Kłopotek: Java dla kursantów niecierpliwych i odpornych. Opracowanie. 3. S. T. Wierzchoń Sztuczne Systemy Immunologiczne. Teoria i Zastosowania, Akademicka Oficyna Wydawnicza Exit, Warszawa 2001 4. Strona serwera WWW 5. Strona serwera aplikacji foxserv 6. B. Eckel: Thinking in Java Prentice-Hall, December 2002 lub nowsze (poprawione) 7. Dokumentacja Javy jdk 1.4.2 8. Dokumentacja pakietu atomiki i polskieznaki 9. Java 1.5 Tiger. Zapiski programisty Autorzy: Brett McLaughlin, David Flanagan Tłumaczenie: Jaromir Senczyk ISBN: 83-246-0048-5 Tytuł oryginału: Java 1.5 Tiger A Developers Notebook Format: B5, stron: 224 Data wydania: 01/2006 272 10. XSLT dla każdego Autor: Michiel van Otegem Tłumaczenie: Tomasz Żmijewski ISBN: 83-7197-785-9 Tytuł oryginału: TY XSLT in 21 Days Format: B5, stron: 576 Data wydania: 05/2003 11. Head First Servlets & JSP. Edycja polska Autorzy: Bryan Basham, Kathy Sierra, Bert Bates Tłumaczenie: Piotr Rajca, Mikołaj Szczepaniak ISBN: 83-7361-810-4 Tytuł oryginału: Head First Servlets & JSP Data wydania: 07/2005 12. Java Servlet i JavaServer Pages. Tom 1. Wydanie II Autorzy: Marty Hall, Larry Brown Tłumaczenie: Piotr Rajca ISBN: 83-246-0032-9 Tytuł oryginału: Core Servlets and JavaServer Pages, Vol. 1: Core Technologies, Second Edition Data wydania: 11/2005 273 Kierunek: Informatyka Przedmiot: Zaawansowane systemy grafiki komputerowej Advanced Computer Graphics Systems Czas trwania: semestr 7 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Mirosław Barański 30 egzamin Laboratorium dr inż. Mirosław Barański 30 zaliczenie na ocenę Punkty ECTS 4 POZIOM Wymagana jest znajomość podstawowych zagadnień związanych z grafiką komputerową i programowania. ZAŁOŻENIA I CELE Głowym celem wykładu jest omówienie wybranych złożonych systemów grafiki komputerowej. Systemy te umożliwiają rozwiązywanie głównych problemów grafiki komputerowej. Są to: modelowanie scen, animacja i wspomaganie projektowania. . Dodatkowym celem jest charakterystyka systemów grafiki komputerowej na przykładzie systemów dostęnych na rynku oprogramowania. Celem ćwiczeń jest praktyczne poznanie popularnych systemów grafiki komputerowej oraz rozwiązywanie wybranych zagadnień z grafiki komputerowej za ich pomocą.Zagadnienia te obejmują: modelowanie scen, animację oraz zagadnienia projektowania. Aplikacje ilustrujące omawiane zagadnienia to: PovRay, Flash i AutoCad. WYKŁAD 1. Podstawowe informacje o barwach • • Fizyka światła Wybrane zagadnienia percepcji barw 2. Modelowanie scen 1 274 • • Wybrane zagadnienia modelowania scen Proste modele scen 3. Złożone modele scen • • Metoda Ray-Tracingu Metoda energetyczna 4. Efekty specjalne w modelowaniu scen • • Tekstury Modelowanie różnych rodzajów pokryć obiektów za pomocą tekstur 5. Aplikacja Pov-Ray jako program do modelowania scen • • Obiekty w programie Pov-Ray Operacje na obiektach w programie Pov-Ray 6. Animacja 1 - podstawy • • Zastosowanie animacji Podstawowe metody animowania obiektów 7. Animacja 2 - Wybrane zagadnienia mechanicy w animacji • • Zderzenia sprężyste Zderzenia plastyczne 8. Animacja 2 - Wybrane zagadnienia behawioralne w animacji • • Modele zachowań Podstawowe zagadnienia występujące w animacji stada ptaków lub ławicy ryb 9. Aplikacja Flash jako przykład aplikacji wspomagającej tworzenie animacji 1 • • Środowski Flash Język Action-Script - podstawy 10. Aplikacja Flash jako przykład aplikacji wspomagającej tworzenie animacji 2 • • Język Action-Script - obiekty Język Action-Script - instrukcje 11. Aplikacja Flash jako przykład aplikacji wspomagającej tworzenie animacji 3 • • Język Action-Script jako język obiektowy Język Action-Script - biblioteki 12. Zagadnienia związane z systemami wspomagającymi projektowanie 275 • • Podstawowe obiekty wsytępujące w aplikacjach wspomagająych projektowanie Operacje na podstawowych obiektach 13. Aplikacja Auto-Cad jako przykłąd aplikacji wspomagającej projektowanie 1 • • Środowisko Auto-Cad Język AutoLisp - podstawy 14. Aplikacja Auto-Cad jako przykłąd aplikacji wspomagającej projektowanie 2 • • Język AutoLisp - obiekty, instrukcje Język AutoLisp - fukcje, biblioteki 15. Wybrane zagadnienia związane z projektowaniem zaawansowanych systemów grafiki komputerowej na podstawie omówionych aplikacji • • Stadnardy przechowywania danych Architektura systemów grafiki komputerowej 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Obliczenia geometryczne w grafice komputerowej • • Wyznaczanie przecięć prostej z wybranymi figurami geometrycznymi. Odwzorowania wybranych onszarów w inne (przeksztalcenie 3-punktowe i inne) 2. Obliczenia w przestrzeni barw • • Implementacja wybranych modeli barw Obliczenia w przestrzeni barw (dodawanie kolorów, odejmowanie i inne) 3. Obliczenia dla wybranych modeli scen • • Modele uwzględniające odbiciae zwierciadlane Modele uwzględniające załamanie światła 4. Tekstury 276 • • Implementacja wybranych modeli tekstur Tektury w wybranych systemach grafik komputerowej (Corel Draw, Adobe Photo Shop) 5. Aplikacja Pov-Ray jako aplikacja do modelowania scen 1 • • Środowisko Pov-Ray Proste sceny w Pov-Ray 6. Aplikacja Pov-Ray jako aplikacja do modelowania scen 2 • • Wybrane efekty specjalne w Pov-Ray Tekstury w Pov-Ray 7. Wprowadzenie do animacji • • Proste techniki uzyskiwania animacji Implamentacja animacji w wybranym środowisku programistycznym (C++ Builder) 8. Animacja komputerowa • • Animacja w aplikacji Pov-Ray Kolizje i ich wykrywanie. 9. Aplikacja Flash • • Środowisko Flash - proste animacje Zaawansowane metosy animacji - tor animacji, animacja tekstu 10. Język Action Script w animacji 1 • • Język Action Script - podstawy Implementacja wybranych problemów animacji za pomocą języka ActionScript 11. Język Action Script w animacji 2 • • Tworzenie własnych obiektów w języku ActionScript Korzystanie z bibliotek 12. AutoCad jako program wspomagający projektowanie • • Środowisko AutoCad Praca w podstawowymi obiektami w AutoCad 13. Zaawansowane operacje w środowisku AutoCad • • Konstruktywna geometia brył w AutoCad, rendering Wymiarowanie, podstawowe obliczenia w środowisku AutoCad 14. Języ AutoLisp - podstawy 277 • • Programowanie prostych obiektów w środowisku AutoCad Operacje zaawansowane na obiektach programowane za pomocą języka AutoLisp 15. Języ AutoLisp - podstawy • • Praca ze złożonymi obiektami w języku AutoLisp Biblioteki języka AutoLisp 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Shirley P.: Fundamentals of Computer Graphics, sec. ed., A K Peters, 2005 2. FoleyJ.D., van Dam A., Feiner St.K., Hughes J.F.: Computer Graphics, Principles and Practice. Addison-Wesley Publ.Co.1996 3. Hearn D., Baker P.: Computer Graphics. Prentice Hall 1997 4. Zabrodzki J. i inni : Grafika komputerowa, metody i narzedzia. WNT 1994 5. Jankowski M.: Elementy grafiki komputerowej. WNT 1990 278 Specjalność: SYSTEMY I SIECI KOMPUTEROWE 279 Kierunek: Informatyka Przedmiot: Rozproszone systemy operacyjne Distributed Operating Systems Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Franciszek Seredyński 30 egzamin Laboratorium mgr Zbigniew Młynarski 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • Systemy operacyjne lub znajomość literatury z tego przedmiotu. ZAŁOŻENIA I CELE Celem wykładu jest przedstawienie podstawowych koncepcji funkcjonowania systemów rozproszonych, mechanizmów synchronizacji i komunikacji w systemach rozproszonych oraz zasad dostępu i użytkowania rozproszonych zasobów systemu. Rozwiniętymi celami szczegółowymi są: • • • • • • • Struktury sieci LAN i modele sieci ISO oraz TCP/IP, Sieciowe systemy operacyjne, Mechanizm zdalnego wywoływania procedur RPC, Interfejs systemu plików, Rozproszone systemy plików, Zakleszczenia, Ochrona i bezpieczeństwo systemów operacyjnych. Celem laboratorium jest poszerzenie wiadomości nabytych w ramach wykładu oraz nabycie praktycznych umiejętności w zakresie administrowania sieciowymi systemami operacyjnymi. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: 280 • • • • • Konfigurowanie interfejsów i usług sieciowych, Tworzenie aplikacji z wykorzystaniem RPC i XDR, Instalacja i konfiguracja sieciowego systemu plików NFS, Uruchamianie usług katalogowych NIS, Implementacja sieci o topologii pierścienia. WYKŁAD 1. Struktury sieci (1) • • Podstawy: sieciowe systemy operacyjne i rozproszone systemy operacyjne Motywy: dzielenie zasobów, przyspieszanie obliczeń, niezawodność 2. Struktury sieci (2) • • • Topologia: sieci całkowicie i częściowo połączone, sieci hierarchiczne i gwiaździste, Topologia: sieci pierścieniowe i z szynami wielodostępnymi, sieci mieszane Typy sieci: sieci lokalne i rozległe 3. Struktury sieci (3) • • • Komunikacja: nazewnictwo i tłumaczenie nazw, strategie wyboru trasy, postępowanie z pakietami Strategie projektowe: model ISO, model TCP/IP Przykłady działania sieci 4. Struktury systemów rozproszonych (1) • • Sieciowe systemy operacyjne: zdalna rejestracja, przesyłanie odległych plików Rozproszone systemy operacyjne: wędrówka danych, wędrówka obliczeń, wędrówka procesów 5. Struktury systemów rozproszonych (2) • • • Usługi zdalne: zdalne wywołania procedur, wątki Odporność: wykrywanie uszkodzeń, rekonfiguracja Zagadnienia projektowe 6. Interfejs systemu plików • • • Pliki: atrybuty, operacje, typy, struktury Metody dostępu: sekwencyjny, bezpośredni, inne Struktura katalogu: katalog jednopoziomowy, dwupoziomowy, o strukturze drzewiastej 7. Rozproszone systemy plików (1) • Nazewnictwo i przeźroczystość: struktury i schematy nazewnicze, techniki implementacji 281 • Zdalny dostęp do plików: przechowywanie podręczne, uaktualnianie, spójność, obsługa zdalna 8. Rozproszone systemy plików (2) • • Obsługa doglądana i niedoglądana Zwielokrotnianie pliku 9. Rozproszone systemy plików (3) - analiza wybranych systemów • • • • • UNIX United Sieciowy system plików komputera SUN System Andrew System Sprite System Locus 10. Zakleszczenia • • • • Charakterystyka zakleszczenia Metody postępowania z zakleszczeniami Zapobieganie zakleszczeniom Unikanie zakleszczeń 11. Koordynacja rozproszona (1) • • • Porządkowanie zdarzeń Wzajemne wykluczanie Niepodzielność 12. Koordynacja rozproszona (2) - sterowanie współbieżnością • • Protokoły blokowania zasobów Zastosowanie znaczników czasu 13. Koordynacja rozproszona (3) - postępowanie z zakleszczeniami • • • • Zapobieganie zakleszczeniom Wykrywanie zakleszczenia Algorytmy elekcji Osiąganie porozumienia 14. Ochrona i bezpieczeństwo (1) • • Domeny ochrony Macierz dostępu i jej implementacja 15. Ochrona i bezpieczeństwo (2) • • Uwierzytelnianie hasła Zagrożenia programowe: robaki, wirusy 282 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Konfiguracja interfejsów i usług sieciowych w systemie operacyjnym (1) • • • • konfiguracja interfejsów sieciowych konfiguracja resolvera nazw konfiguracja serwerów i usług sieciowych demony systemowe 2. Konfiguracja interfejsów i usług sieciowych w systemie operacyjnym (2) • • • • badanie lokalnej sieci komputerowej badanie usług sieci komputerowej demony systemu operacyjnego badanie zawartości tablicy translacji ARP 3. Zdalne wywołanie procedur RPC (1) • • proste wywołanie zdalnej procedury przykład aplikacji RPC 4. Zdalne wywołanie procedur RPC (2) • • • standard reprezentacji danych XDR potoki i filtry XDR implementacja aplikacji RPC 5. Sieciowy system plików NFS • • • instalacja pakietu NFS konfiguracja klienta konfiguracja serwera 6. Usługa katalogowa NIS 283 • • • • instalacja pakietu NIS konfiguracja klienta konfiguracja serwera współpraca NIS i NFS 7. Pakiet Samba • • • • • instalacja pakietu Samba klient protokołu SMB, konfiguracja konfiguracja serwera uwierzytelnianie użytkowników współpraca systemów Linux i Windows 8. Programowanie interfejsu szeregowego RS232 (1) • • • typy połączeń asynchroniczna transmisja szeregowa rejestry portu szeregowego 9. Programowanie interfejsu szeregowego RS232 (2) • • • przygotowanie portu szeregowego do transmisji danych przesyłanie danych z/do bufora portu szeregowego realizacja ćwiczeń z użyciem portu szeregowego 10. Sieci o topologii pierścienia Token Ring, IEEE 802.5, FDDI (1) • • • • wprowadzenie do sieci o topologii pierścienia struktura sieci model sieci ze znacznikiem format ramki FDDI 11. Sieci o topologii pierścienia Token Ring, IEEE 802.5, FDDI (2) • • • struktura sieci wykonywanej w ramach ćwiczeń implementacja sieci o topologii pierścienia z użyciem portów szeregowych komputerów ustalenie formatu znacznika 12. Implementacja algorytmów sieci o topologii pierścienia (1) • • algorytm czasowego posiadania znacznika implementacja algorytmu 13. Implementacja algorytmów sieci o topologii pierścienia (2) • • algorytm procesu uzgadniania znacznika implementacja algorytmu 14. Tworzenie aplikacji w oparciu o zbudowaną sieć Token Ring 284 • • tworzenie aplikacji realizującej przesyłanie danych przy pomocy zaimplementowanej sieci włączenie zaimplementowanych algorytmów do tworzonej aplikacji 15. Testowanie aplikacji • • badanie poprawności działania aplikacji w sytuacji usunięcia znacznika testowanie aplikacji 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych, WNT, 2000 2. E. Nemeth, G. Snyder, S. Seebass, Przewodnik administratora systemu UNIX, WNT, 1998 3. D. Gilly, UNIX in a Nutshell, O Reilly, 1998 4. W. Stallings, Operating Systems, Prentice Hall, 1995 5. W. Richard Stevens, UNIX - programowanie usług sieciowych - tom 1 API: gniazda i XTI, WNT, Warszawa, 2000 285 6. Andrzej Daniluk, RS 232C - praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera, 2002 286 Kierunek: Informatyka Przedmiot: Zaawansowane sieci komputerowe Advanced Computer Networking Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Stanisław Ambroszkiewicz 30 egzamin Laboratorium mgr Andrzej Salamończyk mgr Grzegorz Terlikowski 45 zaliczenie na ocenę Punkty ECTS 5 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 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, 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, 287 • • Zaawansowane konfigurowanie routerów (OSPF, ACL). 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 zarzadzania 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 zarzadzania sieciami Bezpieczeństwo i administrowanie sieciami Zdalny nadzór sieci - RMON Uniwersalne sposoby prezentacji danych: ASN.1 - Abstract Syntax Notation 288 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 pomiędzy 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ęć zwiazanych 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 289 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) 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łączania, protokół Spanning Tree Konfiguracja usług DHCP na routerach 3. Programowanie na protokole HTTP • • Programowanie aplikacji w oparciu o adresy URL Programowa obsługa Internetowej bramki SMS 4. WLAN • • • Konfiguracja bezprzewodowych urządzeń 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ściwosci 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 290 • Realizacja aplikacji z wykorzystaniem protokołu HTTPS 8. Protokoły routingu (cz. 2) • • Właściwosci protokołów stanu łącza Konfiguracja protokołu OSPF, redystrybucja 9. Aplety - cz. 1 • • Architektura apletu Budowa prostego apletu, proste metody wyświetlania 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 wprowadzajacej 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 291 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. V. Amato. Akademia Sieci Cisco. Drugi rok nauki, wydanie drugie rozszerzone. Mikom, Warszawa 2002 2. Kurose J. F., Ross K. W., Sieci komputerowe. Od ogółu do szczegółu z Internetem w tle, Wydawnictwo Helion, Gliwice 2006 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 292 Kierunek: Informatyka Przedmiot: Projektowanie i administrowanie sieciami komputerowymi Computer Networks Design and Administration Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Stanisław Ambroszkiewicz 30 egzamin Laboratorium mgr Zbigniew Młynarski 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Architektura komputerów, Systemy operacyjne Technologie sieciowe lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem przedmiotu jest wprowadzenie w problematyke i nauczenie projektowania i administrowania sieciami komputerowymi, a w szczególnosci projektowania i administrowania sieciami TCP/IP. Rozwiniętymi celami szczegółowymi są: • • • • • • • Fizyczny i logiczny projekt sieci kampusowych, Administrowanie hostami, Monitorowanie sieci komputerowych, Administrowanie siciowymi systemami plików NFS i CIFS, Usługi nazewnicze i katalogowe w systemach heterogenicznych, Sieci pamięci masowych SAN, Platformy wirtualizacji hostów i serwerów. 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 samodzielnego projektowania i administrowania siecią komputerową. 293 Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • • • • Sporządzanie projektów logicznych i fizycznych sieci wykorzystaniem narzędzi projektowych, Administrowanie sieciami TCP/IP, Konfiguracja routingu, Wykorzystywanie narzędzi SNMP w zarządzaniu sieciami, Konfigurowanie serwerów usług sieciowych, Administrowanie heterogenicznymi sieciami komputerowymi. WYKŁAD 1. Fizyczny projekt sieci • • wybór technologii i urządzeń dla sieci kampusowych, wybór technologii i urządzeń dla sieci przedsiębiorstwa 2. Logiczny projekt sieci • • • • projektowanie topologii sieci, opracowywanie modeli adresowania i nazewnictwa wybieranie protokołów przełączania i routingu, tworzenie strategii bezpieczeństwa sieciowego 3. Testowanie, optymalizacja i dokumentowanie projektu sieci • • • testowanie projektu sieci optymalizacja projektu sieci, dokumentowanie projektu sieci 4. System operacyjny jako komponent administrowanej sieci • • • sieciowe systemy operacyjne systemy plików procesy i sterowanie zadaniami 5. Administrowanie hostami • • • • proces instalowania oprogramowania, projektowanie infrastruktury serwerowni i centrum danych, uruchamianie i zamykanie systemów, konfiguracja i personalizacja stacji roboczych. 6. Zarządzanie i monitorowanie sieci • • • zarządzanie desktopami, zarządzanie adaptacyjne, zdalne sterowanie. 7. Zarządzanie tożsamością 294 komputerowych z • • polityka obsługi kont, środowisko rejestrowania się w systemie, 8. Administrowanie rozproszonymi systemami plików • • sieciowy system plików NFS, system plików CIFS, 9. Usługi nazewnicze i katalogowe • • • modele i zasady administrowania sieciami, usługa nazewnicza DNS, model informacyjny a usługi katalogowe. 10. Zarządzanie konfiguracją oraz utrzymanie sieci • • • konfiguracja sieci i reguły polityk, zarządzanie zmianami konfiguracyjnymi, narzędzia do automatyzacji administrowania. 11. Zarządzanie awariami • • • tolerowania awarii i propagacja uszkodzeń, analiza schematu zdarzeń, monitorowanie sieci komputerowych. 12. Zabezpieczanie i archiwizacja danych • • backup i archiwizacja, rodzaje pamięci masowych, 13. Administrowanie sieciami bezprzewodowymi • • standaryzacja bezprzewodowych sieci WLAN, bezprzewodowe sieci metropolitalne 14. Sieci pamięci masowych • • • architektury pamięci masowych, przełączniki SAN, zarządzanie w sieciach SAN 15. Emulacja i wirtualizacja • • • • platformy wirtualizacji hostów, wykorzystanie wirtualizacji w administrowaniu sieciami, technologie wirtualizacji serwerów, mechanizmy ochrony wirtualizowanych zasobów ZALICZENIE WYKŁADU 295 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Narzędzia do planowania i projektowania sieci komputerowych • • • oprogramowanie Microsoft Visio, biblioteki urządzeń sieciowych (Netformx DesignXpert), alternatywne rozwiązania Open Source (Dia) 2. Projekt fizyczny sieci kampusowej • • • przykład projektu sieci kampusowej, charakterystyka ruchu aplikacji sieciowych, przeprojektowanie sieci kampusowej 3. Logiczny projekt sieci • • przygotowanie topologii projektu sieci kampusowej, projektowanie modelu nazewnictwa, 4. Dokumentowanie projektu sieci • • odpowiadanie na zapytanie ofertowe klienta, przygotowywanie zawartości dokumentacji projektu 5. Wprowadzenie do administrowania sieciami TCP/IP • • • podstawowe polecenia administracyjne, monitorowanie protokołów za pomoca analizatora Wireshark, polecenia ifconfig oraz ip, 6. Konfiguracja routowania • • podstawowe konfiguracje routowania, budowanie statycznej tablicy routowania, 7. Technologie zarządzania sieciami komputerowymi • • czynności pomiarowe w sieciach komputerowych, pakiety wykorzystujace narzędzia SNMP 296 8. Usługa przesyłania plików • • • klient FTP, instalacja i podstawowa konfiguracja serwera FTP, zaawansowana konfiguracja serwera proFTPd 9. Konfiguracja serwera DHCP • • konfiguracja klienta DHCP, konfiguracja serwera DHCP, 10. Dzielenie plików • • instalacja NFS, konfiguracja serwera i klienta NFS, 11. Administrowanie usługami nazewniczymi • • konfiguracja hosta, opcje konfiguracyjne programu nslookup, 12. Konfiguracja serwera nazw DNS • • konfiguracja BINDa, konfiguracja demona named 13. Konfiguracja serwera pocztowego • • • • konfiguracja programu sendmail, konfiguracja POP i IMAP, uruchamianie demonów POP i IMAP, wykorzystywanie fetchmaila 14. Administrowanie heterogenicznymi sieciami komputerowymi • • • narzędzia do zarządzania w środowiskach systemów UNIX, Linux i Windows, jednorodny dostęp do zasobów, zaliczenie projektu . 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. 297 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Bauer K., Automating UNIX and Linux Administration, Apress, 2003 2. Bruno A., Kim J., CCDA. Certyfikat projektanta sieci Cisco, Wydawnictwo MIKOM, Warszawa 2004 3. Burgess M., Principles of Network and System Administration, Wiley, 2004 4. Hunt C.: TCP/IP - Administracja sieci, Wydawnictwo RM, Warszawa 2003 5. Oppenheimer P., Projektowanie sieci metoda Top-Down, Wydawnictwo Naukowe PWN, Warszawa 2006 6. Davies J., Whittaker R., von Hagen W.,SUSE Linux 10 Bible, Wiley 2006 7. Krysiak K.,: Sieci komputerowe. Kompendium, Wydawnictwo Helion, Gliwice 2005 8. Pawlak R., Okablowanie strukturalne sieci, Wydawnictwo Helion, Gliwice 2006 9. TanenbaumA. S., Van Steen M., Systemy rozproszone. Zasady i paradygmaty, WNT, Warszawa 2006 298 Kierunek: Informatyka Przedmiot: Zaawasowane technologie internetowe Advanced Internet Technologies Czas trwania: semestr 7 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Wykład mgr Zbigniew Młynarski dr Dariusz Mikułowski Laboratorium mgr Zbigniew Młynarski mgr Grzegorz Terlikowski dr Dariusz Mikułowski Liczba godzin Tryb zaliczenia 30 egzamin Punkty ECTS 4 30 zaliczenie na ocenę POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Aplikacje internetowe i rozproszone Technologie programistyczne - systemy internetowe lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem wykładu "Zaawansowane technologie internetowe" jest wprowadzenie do problematyki technologii i narzędzi związanych z XML.Rozwiniętymi celami szczegółowymi są: • • zapoznanie z możliwościami i ograniczeniami standardów technologii XML, zapoznanie z wykorzystaniem narzędzi XML w tworzeniu zaawansowanych aplikacji internetowych Podstawowym celem zajęć laboratoryjnych jest pozyskanie praktycznych umiejętności w zakresie wykorzystania technologii XML w aplikacjach internetowych. Podstawowym celem zajęć laboratoryjnych jest pozyskanie praktycznych umiejętności w zakresie technologii i narzędzi XML. Zakres treści realizowanych na laboratorium przewiduje zapoznanie się z wykonywaniem zadań związanych z transformacją danych XML oraz różnych technik przetwarzania dokumentów. 299 WYKŁAD 1. Język XML • • Specyfikacja i składnia języka XML Dokumenty XML 2. Dokumenty DTD • • Schematy XML Specyfikacja DTD 3. Arkusze stylów XSL • • XSL FO - prezentacja danych Budowa arkusza 4. XML Schema Definition • • Język definicji danych dla XML Schematy dokumentów 5. Parsowanie dokumentów w technologii XML • • • Interfejsy analizatorów skladniowych API oparte na obsłudze zdarzeń - parser SAX API oparte na drzewach - parser DOM 6. Arkusze stylów XSLT • • Szablon XSLT Konstruowanie węzłów 7. Stosowanie języka XML Query • • Składowe XQuery Model danych 8. Mechanizm XPath i pozostałe elementy XQuery • • Wyrażenia ścieżkowe Wyrażenie FLWOR 9. Parsowanie XML za pomocą parsera JDOM • • Podstawy JDOM Klasy PropsToXML i XMLProperties 300 10. Technologie służace do publikowania dokumentów • • Publikowanie specjalistycznych dokumentów w sieci WWW Specjalizowane dialekty XML: MathML, XHTML, SMIL, CML, AML, BSML, XBRL 11. Technologie powiązane z XML • • Język opisu interfejsów usług - WSDL Organizacja rejestru usług UDDI 12. Języki opisu wiedzy • • Semantic Web - sieci semantyczne RDF - struktura opisu zasobów 13. Obsługa dokumentów XML w języku JavaScript • • Rozszerzanie XSLT za pomocą JavaScriptu Walidacja i edycja dokumentów XML w przeglądarkach internetowych 14. Technologie XML wspierane przez Microsoft • • Technologia Active Server Pages Język znaczników grafiki wektorowej VML 15. Technologia DAISY • • Standard Digital Talking Books Wykorzystanie dokumentów SMIL w technologii DAISY 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Specyfikacja i składnia języka XML • • Konwersja XML na tekst Eksportowanie XML 301 Ocena db (C) db+ (B) bdb (A) 2. Dokumenty DTD • • Poprawność strukturalna dokumentu Deklarowanie elementów, podelementów, atrybutów i encji 3. Arkusze stylów XSL • • Przetwarzanie XSL Struktura i zawartość strony 4. XML Schema Definition • • Łączenie schematu z dokumentem XML Sprawdzanie poprawności dokumentu XML 5. Parser SAX • • • • Instalacja SAX Programowanie przy użyciu SAX Obsługa treści Obsługa błedów 6. Zaawansowane właściwości i cechy SAX • • • • Tłumaczenie encji, notyfikacje i nieprzetwarzane encje Klasa DefaultHandler Interfejsy rozszerzeń Filtry i generatory 7. Parser DOM • • • Serializacja Modyfikacja i tworzenie XDOM Przestrzenie nazw 8. Moduły DOM • • • Sprawdzanie obsługi modułów Moduły DOM Level 2 Moduły DOM Level 3 9. Parser JDOM • • • • Klasa PropsToXML Klasa XMLProperties JDOM i Fabryki Rozwiązywanie problemów związanych z JDOM 10. JAXP • Analiza składniowa 302 • • XPath Walidacja XML 11. Prezentacyjny XML • • Transformacja na HTML za pomocą JSP Używanie XSLT 1.0 12. Wykorzystywanie XSLT 2.0 • • • Konwersja prostych nazwanych szablonów na funkcje XSLT Porównanie metody Przenoszenie aplikacji z XSLT 1.0 na 2.0 13. Technologie powiązane z XML • • Konwersja dokumentów Visio VDX na SVG Dostarczanie dokumentacji SOAP za pomocą WSDL 14. Technologie XML wspierane przez Microsoft • • Technologia ASP Język znaczników grafiki wektorowej VML 15. Zaliczenie przedmiotu • Dyskusja i ocena wynikó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. Łą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 0-70 pkt. 71-84 pkt. Ocena ndst (F) dst (E) Zakres 99-112 pkt. 113-126 pkt. 303 Ocena db (C) db+ (B) 85-98 pkt. dst+ (D) 127-140 pkt. bdb (A) LITERATURA 1. Ambroszkiewicz S., Mikułowski D., Web serwisy i Semantic Web Idee i Technologie, Akademicka Oficyna wydawnicza EXIT Warszawa 2006 2. Hunter D., Rafter J., Fawcett J., van der Vlist E., Ayers D., Duckett J., Watt A., McKinnon L., Beginnning XML, Wiley Publishing, 2007 3. Kaliszewska M., Pieciukiewicz T., Sobczak A., Stencel K., Technologie internetowe, Wydawnictwo PJWSTK, Warszawa 2007 4. Kazienko P., Gwiazda K., XML na poważnie, Wydawnictwo Helion, Gliwice 2002 5. Mangano S., XSLT. Receptury, Wydawnictwo Helion, Gliwice 2007 6. McLaughlin B., Edelson J., Java i XML, Wydawnictwo Helion, Gliwice 2007 7. Mikułowski D., XML w programowaniu aplikacji internetowych, Instytut Informatyki Akademii Podlaskiej, Siedlce 2007 304 Specjalność: SYSTEMY INFORMATYCZNE ZARZĄDZANIA 305 Kierunek: Informatyka Przedmiot: Systemy informatyczne w biznesie i administracji Information Systems in Business and Administration Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 30 egzamin Laboratorium mgr Marek Pilski 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Języki i paradygmaty programowanie Inżynieria oprogramowania lub znajomość literatury obowiązującej w tych przedmiotach oraz ogólna znajomość zagadnień związanych z funkcjonowaniem instytucji gospodarczych i administracji państwowej oraz ich zarządzaniem. ZAŁOŻENIA I CELE Podstawowym celem wykładów jest przedstawienie problematyki związanej ze stosowaniem w praktyce oprogramowania wspomagającego zarządzanie procesami biznesowymi w organizacjach gospodarczych oraz w administracji. Tresc wykładów obejmuje następujące grupy zagadnień: miejsce, rola i funkcje systemu informatycznego w organizacji gospodarczej i jednostce administracyjnej, ewolucja i stan obecny rozwoju systemów dla biznesu i administracji, współczesne koncepcje zarządzania i ich związki z architektura systemów informatycznych, problematyka zarządzania systemem informatycznym, przegląd i porównanie dostępnych w Polsce systemów dla biznesu i administracji, prezentacja wybranych, najbardziej zaawansowanych systemów informatycznych na przykładzie systemów SAP R/3 i SAS. Celem ćwiczeń jest zapoznanie sie w sposób praktyczny z technika wspomagania zarządzania procesami biznesowymi i administracji z wykorzystaniem nowoczesnego oprogramowania. W ramach ćwiczeń przewiduje się pracę z programem SAP R/3 i SAS oraz polskimi systemami dedykowanymi do zarządzania jednostkami administracji państwowej. 306 WYKŁAD 1. Informatyka w biznesie i administracji jako dziedzina nauki i dydaktyki • • • przedmiot i obszar zainteresowań relacje między informatyka a biznesem i administracją systemy informatyczne dla biznesu i administracji jako wyodrębnione grupy systemów informatycznych 2. Miejsce i rola systemu informatycznego w organizacji • • • problemy integracji przetwarzania informacji w przedsiębiorstwach i w administracji modele i architektury systemów informacyjnych i przedsiębiorstw ewolucja systemów informatycznych zarządzania dla biznesu i administracji 3. Funkcje systemu informatycznego w jednostce gospodarczej lub administracyjnej • • • funkcje zarządzania funkcje administrowania korzyści i zagrożenia użytkowania systemu informatycznego 4. Aspekty wdrażania technologii informatycznych w przedsiębiorstwach • • • metody i techniki wdrażania modele referencyjne specyfika wdrażania systemów informatycznych w administracji 5. Nowe koncepcje i techniki organizacyjne a technologie informatyczne • • • • • • • Business Process Reengineering lean management zarządzanie wiedzą organizacje wirtualne e-business organizacje współpracujace inne 6. Problematyka zarządzania systemem informatycznym w organizacji • • • • • organizacja i zarządzanie służbami informatycznymi i infrastrukturą efektywność i miary efektywności użytkowania systemów informatycznych czynniki efektywnego użytkowania systemu informatycznego bezpieczeństwo systemów informatycznych branżowa specyfika bezpieczeństwa 7. Informatyka w przedsiębiorstwie • koncepcja „zinformatyzowanego” zarządzania biznesem w przedsiębiorstwie 307 • • modele systemu informatycznego przedsiębiorstwa odzwierciedlenie obszarów i dziedzin przedsiębiorstwa w architekturach systemów informatycznych 8. Architektury systemów informatycznych • • • • budowa modułowa systemów zintegrowane systemy informatyczne systemy skalowalne systemy dedykowane dla branż 9. Charakterystyka i architektura systemów dla branży • • • • • przemysłu maszynowego budowlanego, energetyki, transportu handlu instytucji finansowych usługowych 10. Informatyka w administracji • • • wspólne i specyficzne cechy systemów informatycznych dla administracji modele systemów informatycznych dla administracji systematyka systemów informatycznych dla biznesu i administracji 11. Charakterystyka i architektura systemów dla jednostek administracyjnych • • • • • • administracji państwowej poszczególnych szczebli organizacji społecznych służby zdrowia szkolnictwa jednostek uzytecznosci publicznej formacji obronnych 12. Przegląd współcześnie dostępnych systemów wspomagających zarządzanie biznesem • • • pochodzenia zagranicznego pochodzenia krajowego analiza porównawcza 13. Przegląd współczesnych systemów dla administracji • • • pochodzenia zagranicznego pochodzenia krajowego charakterystyka i porównanie możliwości 14. Prezentacja wybranych zaawansowanych systemów informatycznych • • • system SAS, charakterystyka ogólna przetwarzanie danych w systemie SAS jezyk 4GL i jego możliwosci wykorzystania 308 • zaawansowane możliwosci rozbudowy systemu i dostosowania do potrzeb użytkownika 15. Prezentacja wybranych zaawansowanych systemów informatycznych (c.d.) • • • • system SAP R/3, charakterystyka ogólna struktura systemu SAP R/3, koncepcja przedsiębiorstwa IDES możliwosci konfiguracji, rozbudowy systemu i dostosowania do potrzeb użytkownika język ABAP, model referencyjny, rozwiązania branżowe 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Praca z systemem SAS firmy SAS Instytute • • • zapoznanie się z interfejsem systemu tworzenie biblioteki, import zbiorów tworzenie prostych raportów 2. Praca z systemem SAS (c.d.) • • • tworzenie wykresów dwuwymiarowych i blokowych tworzenie wykresów trójwymiarowych tworzenie wykresów geograficznych 3. Praca z systemem SAS (c.d.) - praca z modułem SAS/EIS • • • • • • tworzenie wielowymiarowych raportów i wykresów z użyciem obiektów EIS tworzenie prostych aplikacji informacyjnych Multidimensional Pie Chart 3D Business Graph tworzenie interaktywnej mapy użycie Application Screen Buildera 4. Zapoznanie z modułem SAS AF – tworzenie aplikacji użytkownika końcowego w SAS • • zasady posługiwania się modułem AF tworzenie okna menu graficznego aplikacji 309 • pierwsze proste obiekty zdefiniowane w AF – okno, przycisk, obraz 5. Tworzenie prostej aplikacji w SAS AF (c.d.): język SCL • • • • • tworzenie nowego okna uruchamianie nowego okna po naciśnięciu przycisku lub ikony definiowanie menu wywoływanie metod obiektów w SCL pierwszy program w SCL 6. Aplikacja SAS AF (c.d.): listy elementowe • tworzenie interaktywnych okien z elementami tekstowymi i graficznymi 7. Praca z systemem SAP R/3 • • • • zapoznanie się z systemem i techniką pracy w systemie uruchamianie, korzystanie z programu definiowanie mandanta, konfiguracja użytkownika zapoznanie się ze strukturą systemu i koncepcją modelu referencyjnego IDES 8. Praca z systemem SAP R/3 (c.d.) • • wykorzystanie modułu Rachunkowosc Finansowa FI do zarządzania informacją o gospodarowaniu finansami, wykorzystanie modułu Rachunkowość Finansowa FI - tworzenie danych podstawowych i definiowanie Miejsc Powstawania Kosztów 9. Praca z systemem SAP R/3 (c.d.) - moduł Rachunkowość Finansowa FI (c.d.) • • • opracowanie danych podstawowych kont Księgi Głównej opracowanie danych dostawców i odbiorców praca z kontami 10. SAP R/3 - Moduł Controllingu • • • • rekordy danych podstawowych odbiorców rekordy danych podstawowych banków rekordy danych podstawowych składników majatku trwałego sprawozdawczość do rekordów danych podstawowych 11. SAP R/3 - moduł Planowanie Produkcji PP • • • BOM - opis struktury wyrobu rekordy danych planistycznych technika planowania produkcji w SAP R/3 12. SAP R/3 - moduł Zarządzanie Kadrami HR • • prowadzenie ewidencji nadzór czasu pracy 310 • planowanie urlopów i szkolen pracowników - podmoduł MP 13. Prezentacja innych wybranych aplikacji i systemów wspomagających zarządzanie procesami biznesowymi dostępnych na polskim rynku • • prezentacja obszaru zastosowania i funkcjonalności wybranej aplikacji przez grupę studentów wspomaganie zarządzania instytucją oświatową 14. Prezentacja innych wybranych aplikacji i systemów wspomagających zarządzanie w administracji dostępnych na polskim rynku • • prezentacja obszaru zastosowania i funkcjonalności wybranej aplikacji przez grupę studentów wspomaganie zarządzania jednostką administracji państwowej 15. Prezentacja innych wybranych aplikacji i systemów wspomagających zarządzanie w administracji dostępnych na polskim rynku • • prezentacja obszaru zastosowania i funkcjonalności wybranej aplikacji przez grupę studentów wspomaganie zarządzania jednostką administracji gospodarczej 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. 311 Ocena db (C) db+ (B) bdb (A) LITERATURA 1. U. Zwierz - Wstep do systemu SAS (wersja 8.1). Szkoła Główna Handlowa w Warszawie 2001. 2. Fratczak Ewa, Peczkowski Marek, Sienkiewicz Kamil, Skaskiewicz Krzysztof – Statystyka od podstaw z systemem SAS. Wersja 9.1. Szkoła Główna Handlowa w Warszawie 2005. 3. Jim Mazzullo, Peter Wheatley - SAP R/3. Podrecznik uzytkownika. HELION, Gliwice 2006. 4. Wrycza Stanisław - Analiza i projektowanie systemów informatycznych zarzadzania. Metody, techniki, narzedzia. PWN. Warszawa, 1999. 5. Jerzy Kisielnicki, Henryk Sroka - Systemy informacyjne biznesu. Informatyka dla zarzadzania. Agencja Wydawnicza PLACET, Warszawa 2005. 6. Jerzy G. Isajew - Systemy informacyjne. Expertus, Warszawa 2001 7. Piotr Adamczewski - Zintegrowane systemy informatyczne w praktyce. MIKOM, Warszawa 2000 8. Witold Chmielarz - Systemy informatyczne wspomagajace zarzadzanie. Aspekt modelowy w budowie systemów. Elipsa, Warszawa 1996 9. Barczak A., Florek J., Sydoruk T. - Projektowanie zintegrowanych systemów informatycznych zarzadzania. Wydawnictwo Akademii Podlaskiej, Siedlce 2006 10. Z. Dec, Wprowadzenie do systemu SAS, Edition 2000 11. Vivek Kale – SAP R/3. Przewodnik dla menadzerów. HELION, Gliwice 2001 12. http://www.sas.com/offices/europe/poland/ 13. http://www.cyfronet.pl/ ypwitkow/sas/sas.html 14. http://www.sap.com/poland/index.ascx 312 Kierunek: Informatyka Przedmiot: Metody i narzędzia modelowania systemów informatycznych Methods and Tools for Information Systems Design Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 30 egzamin Laboratorium mgr Marek Pilski 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Inżynieria oprogramowania, Systemy informatyczne zarządzania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem wykładu jest zapoznanie studentów z problematyka występująca w trakcie realizacji średnich i dużych projektów informatycznych. Rozwiniętymi celami szczegółowymi sa: • • zapoznanie z metodami i narzędzi modelowania systemów informacyjnych zapoznanie z technikami modelowania statyki (danych) oraz dynamiki (zachowania) systemów informatycznych wykorzystywanymi w metodykach strukturalnych i obiektowych. Celem laboratorium jest nabycie umiejętności wykorzystywania w praktyce realizacyjnej systemów informatycznych podstawowych metod, narzędzi i technik modelowania systemów. Cele szczegółowe laboratorium obejmują: • • poznanie wybranych narzędzi (np. Posejdon, Star UML, MS Visio) przeprowadzenie prac analitycznych dla wybranego projektu systemu zarządzania małą i średnią firmą. 313 WYKŁAD 1. Cele i zadania SI • • • miejsce SI w organizacji (środowisko, zarządzanie, technologia), informacje i dane, ”dopasowanie” SI do organizacji 2. Ogólne metody analizy systemowej • • • podejście strukturalne, podejście obiektowe podejście społeczne 3. Podstawowe pojęcia w analizie strukturalnej • • • Model logiczny i fizyczny funkcje, encje, związki, diagramy 4. Modelowanie funkcji • • • • Hierarchia, zależność, logika, czas rzeczywisty Metody modelowania funkcji przedsiębiorstwa i systemów, Logika i opis funkcji, przykłady realizacji 5. Hierarchia funkcji • • • cele, funkcje elementarne diagram hierarchii funkcji - tworzenie i przykłady 6. Zależności funkcji • • • • wprowadzenie, powiązania, następstwa funkcji zależnośsci informacyjne i prawne diagram zależnosci funkcji - tworzenie i przykłady 7. Modelowanie danych • • cele i metody opisania potrzeb informacyjnych diagram związków encji - tworzenie i przykłady 8. Modelowanie procesów • • • 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 314 9. Modelowanie w czasie rzeczywistym • • • czas rzeczywisty - zasady i pojęcia, cele i metody, diagram przejść stanów - tworzenie i przykłady 10. Techniki strukturalne w projektowaniu i implementacji • • • diagramy strukturalne projektowanie logiczne danych (normalizacja danych i modelowanie tablic) przykłady 11. Podstawowe pojęcia w analizie obiektowej • • • • • obiektowość i metodyka obiektowa, perspektywy (pojęciowa, projektowa i implementacyjna) model przypadków użycia model obiektowy (statyczny) model zachowań (dynamiczny) 12. Modelowanie przypadków użycia (analiza funkcjonalna) • • • podstawowe pojęcia strukturalizacja przypadków użycia diagram przypadków użycia - tworzenie i przykłady 13. Budowa statycznego modelu klas • • • • 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 14. Budowa dynamicznego modelu zachowań • • • • 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 modelowania z wykorzystaniem wybranych narzędzi CASE ZALICZENIE WYKŁADU 315 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Wybór dziedziny przedmiotowej przedsiębiorstwa (wprowadzenie) • • • określenie zasad realizacji ćwiczeń, podział na zespoły, ustalenie dziedziny przedmiotowej. 2. Analiza dziedziny przedmiotowej przedsiębiorstwa • • rozpoznanie i opracowanie prezentacji firmy, ustalenie obszaru objętego projektem. 3. Wymagania funkcjonalne • • identyfikacja wymagań funkcjonalnych, budowa hierarchii funkcji. 4. Specyfikacja wymagań • • opracowanie specyfikacji wymagań funkcjonalnych, opracowanie wymagań niefunkcjonalnych. 5. Modele zależności (następstwa) funkcji • • identyfikacja zależności pomiędzy funkcjami, opracowanie diagramu następstw funkcji. 6. Model procesów • • identyfikacja procesów, składnic, obiektów zewnętrznych i strumieni, budowa diagramów przepływu danych. 7. Model wstępny systemu • • opracowanie diagramu kontekstowego systemu, zdefiniowanie i opracowanie słownika danych. 8. Model bazy danych 316 • • • identyfikacja encji, ustalenie powiazań pomiędzy encjami, budowa diagramu zwiazków encji. 9. Model przypadków użycia • • • identyfikacja aktorów systemu, identyfikacja przypadków użycia, budowa diagramów use-case. 10. Specyfikacja przypadków użycia • • • • opisanie scenariuszy realizacji przypadków użycia, określenie specjalnych wymagań, zdefiniowanie warunków wstępnych i końcowych, zdefiniowanie punktów rozszerzeń. 11. Model statyki systemu • • • • identyfikacja klas systemu, określenie atrybutów i operacji klas, określenie powiazań i relacji pomiędzy klasami, budowa diagramu klas i obiektów. 12. Model dynamiki systemu • • • identyfikacja kroków procesu, identyfikacja punktów podejmowania decyzji i rozgałezień, budowa diagramów czynnosci. 13. Model dynamiki systemu (c.d.) • • • identyfikacja możliwych stanów systemu bądz obiektów systemu, identyfikacja zdarzeń i przejść, budowa diagramów stanów. 14. Model dynamiki systemu (c.d) • • realizacja wybranych przypadków użycia za pomocą diagramu sekwencji, budowa diagramu współdziałania. 15. Prezentacja projektu • • 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 317 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Barker R., Longman C.: Modelowanie funkcji i procesów. WNT.Warszawa 1996 2. Barker R.: Modelowanie zwiazków encji. WNT. Warszawa 2005 3. Dabrowski W., Stasiak A., Wolski M.: ”Modelowanie systemów informatycznych w jezyku UML 2.1 w praktyce”, PWN, Warszawa 2007 4. Krol P., Kruchten P.: ”Rational Unified Process od strony praktycznej”, WNT, Warszawa 2006 5. Kruchten P.: ”Rational Unified Process od strony teoretycznej”, WNT, Warszawa 2007 6. Roszkowski J.: Analiza i projektowanie strukturalne, Helion. Warszawa 2002 7. Płodzien J, Stemposz E.: Analiza i projektowanie systemów informatycznych, Wyd. PJWSTK, Warszawa 2003 8. Wrycza S.: Analiza i projektowanie systemów informatycznych zarządzania. Wydawnictwo Naukowe PWN. Warszawa 1999 9. Jaszkiewicz A.: Inżynieria oprogramowania. Wyd. HELION. Warszawa 1997 10. Dokumentacja techniczna firmy Oracle na stronie WWW: http://www.oracle.com/technology/documentation/designer.html#6i 11. Multimedialne tutoriale konstruowania diagramów na stronie WWW: http://homepages.uel.ac.uk/D.Bowden/ 318 Kierunek: Informatyka Przedmiot: Projektowanie informatycznych systemów zarządzania Management Information Systems Design Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 30 egzamin Laboratorium mgr Marek Pilski 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa 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: • • Inżynieria oprogramowania Systemy informatyczne zarządzania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Podstawowym celem wykładów jest przedstawienie zasad obowiązujących podczas tworzenia systemów informatycznych zarządzania, ze szczególnym uwzględnieniem etapów planowania, projektowania i wdrażania. Rozwiniętymi celami szczegółowymi sa: • • • • określenie zasadniczych cech systemów informatycznych zarządzania określenie metodologicznych podstaw tworzenia systemów informatycznych zarządzania zapoznanie z podstawowymi scenariuszami realizacji systemów informatycznych zarządzania zapoznanie z organizacją prac projektowo-wdrożeniowych oraz problematyką zarządzania przedsięwzięciem informatycznym Celem laboratorium jest nabycie umiejętności w posugiwaniu się metodami i procedurami realizacji systemów informatycznych oraz zarządzania przedsięwzięciem informatycznym. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • opracowywania strategii informatyzacji firmy 319 • • • • precyzowanie założeń strategicznych dla realizacji wybranego przedsięwzięcia informatycznego identyfikacji i realizacji zadań projektowych prowadzenia postępowania ofertowego i przetargowego przygotowania i realizacji podstawowych działań związanych z zarządzaniem przedsięwzięciem informatycznym (głównie w obszarze wymiarowania projektu, szacowania budżetu i opracowania dokumentacji projektowo-wdrożeniowej WYKŁAD 1. Systemy informatyczne zarządzania • • • • • istota i rola zasobów informacyjnych w przedsiębiorstwie procesy informacyjno-decyzyjne istota informatycznych systemów zarządzania kryteria klasyfikacji ewolucja systemów 2. Wykorzystanie IT w zarządzaniu organizacją • • • • • zastosowanie pojedynczych aplikacji wewnętrzna integracja reorganizacja procesów biznesowych reorganizacja sieci gospodarczej zmiana zakresu działalności gospodarczej 3. Metodologiczne podstawy tworzenia zintegrowanych systemów informatycznych (1) • • zakres i składniki metodyki, klasyfikacja metodyk (strukturalne, obiektowe, społeczne) 4. Metodologiczne podstawy tworzenia zintegrowanych systemów informatycznych (2) • • • cykl życia systemu (liniowy, spiralny, prototypowanie, specyfikacji wymagań,...), modyfikacje tradycyjnego cyklu życia systemu (planowanie i analiza systemu, projekt systemu, wdrażanie, eksploatacja i rozwój) system informatyczny jako obiekt techniczny, 5. Planowanie systemów informatycznych zarządzania • • • • • • cele planowania, proces planowania, formułowanie strategii informatycznej (infoplanu) zawartość i znaczenie infoplanu, metody i techniki analizy sytuacyjnej, restrukturyzacja procesów gospodarczych 6. Analiza strukturalna i projektowanie systemów informatycznych • analiza systemów informatycznych, 320 • • • zakres projektowania strukturalnego, projekt ogólny, projektowanie we/wy, interfejsu użytkownika, plików i baz danych 7. Scenariusze realizacji SIZ • • • • • • złożoność realizacyjna ZSI, kategorie ZSI, przebieg działań w ramach realizacji przedsięwzięcia: inicjowanie, planowanie i organizowanie, realizowanie i kontrolowanie, zakończenie, wielobok metody realizacji ZSI: tworzenie od podstaw własnymi siłami, tworzenie od podstaw przez zewnętrzną firmę, wdrożenie gotowego ZSI, zarządzanie realizacją ZSI 8. Procedura wyboru gotowego SIZ (1) • • • • • opis procesu w ramach ZSI, procesy kierownicze, procesy wykonawcze, organizacja przedsięwzięć (poziom strategiczny, taktyczny i operacyjny), monitorowanie postępu prac, 9. Procedura wyboru gotowego SIZ (2) • • • • • • • 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 10. 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, 11. Jakość i efektywność przedsięwzięcia informatycznego • • • • • kształtowanie jakości specyfikacji wymagań i analizy, kształtowanie jakości projektowej, kształtowanie jakości potencjalnej, kształtowanie jakości eksploatacyjnej ocena efektywności SI (efekty, koszty i metody oceny) 12. Ryzyko w przedsięwzięciach informatycznych 321 • • model zarządzania ryzykiem, wskaźnik zagrożenia przedsięwzięcia informatycznego 13. Projekt informatyczny i problematyka zarządzania projektem (1) • • • • otoczenie zarządzania projektami co to jest projekt i cele projektu, cykl życia i unikalność projektu, plan projektu 14. Projekt informatyczny i problematyka zarządzania projektem (2) • • procesy i obszary zarządzania projektem organizacja projektu 15. Narzędzia CASE • • • • • istota i generacje, rodzaje pakietów CASE, integracja i standaryzacja pakietów, tendencje rozwojowe, przykład pakietu 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. LABORATORIUM 1. Określenie tematyki ćwiczeń laboratoryjnych • • • zapoznanie z programem ćwiczeń, podział na zespoły robocze, ustalenie dziedziny przedmiotowej przedsięwzięcia. 2. Rozpoznanie środowiska wdrożenia projektu • • rozpoznanie i opracowanie prezentacji firmy, ustalenie obszaru objętego projektem. 3. Opracowanie strategii informatyzacji wybranej firmy 322 Ocena db (C) db+ (B) bdb (A) • • • opracowanie charakterystyki obecnego stanu informatyzacji firmy, identyfikacja potrzeb w zakresie informatyzacji, opracowanie strategii informatyzacji w kontekście ogólnej strategii rozwoju firmy. 4. Opracowanie celu przedsięwzięcia • • • określenie tematu, przeznaczenia i zakresu systemu informatycznego dla wybranej firmy, opracowanie celów i założeń do projektu, identyfikacja wymagań użytkownika. 5. Opracowanie zapytania ofertowego • • • określenie danych do zapytania ofertowego, utworzenie dokumentacji przetargowej, ustalenie kryteriów oceny odpowiedzi na ofertę. 6. Identyfikacja zadań projektowych • • ustalenie listy zadań projektowych, ustalenie zasobów niezbędnych do realizacji projektu. 7. Realizacja zadań projektowych • • analiza zadań projektowych opracowanie planu szczegółowego realizacji zadań projektowych. 8. Projektowanie bazy danych • • identyfikacja danych wykorzystywanych przez system, tworzenie modelu bazy danych. 9. Projektowanie interfejsów aplikacji • • opracowanie projektu interfejsów aplikacji, opracowanie struktury systemu w postaci diagramu komponentów. 10. Opracowanie dokumentacji systemu • • zasady tworzenia dokumentacji utworzenie instrukcji użytkowania dla odbiorcy systemu. 11. Opracowanie dokumentacji dla fazy wdrożeniowej projektu. • • opracowanie planu testów, opracowanie raportu podsumowującego testy. 12. Szacowanie budżetu projektu • szacowanie kosztów oprogramowania, 323 • wykorzystanie metody COCOMO. 13. Wymiarowanie projektu • • szacowanie pracochłonności i czasu wykonania projektu, wykorzystanie metody punktów funkcyjnych. 14. Opracowanie oferty na wykonanie systemu informatycznego • • określenie danych do oferty, opracowanie oferty. 15. Konsultacja końcowej postaci projektu • • 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. 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. LITERATURA 324 Ocena db (C) db+ (B) bdb (A) 1. Barczak. A., Florek J., Sydoruk T.: Projektowanie zintegrowanych systemów informatycznych zarządzania, Wyd. AP, Siedlce 2006 2. Wrycza S.: „Analiza i projektowanie systemów informatycznych zarządzania. Metody, techniki, narzędzia”. PWN. Warszawa, 1997. 3. Kisielnicki J., Sroka H.: „Systemy informacyjne biznesu. Informatyka dla zarządzania”. Agencja Wydawnicza PLACET, Warszawa 2000. 4. Isajew J G.: „Systemy informacyjne”. Expertus, Warszawa 2001 5. Chmielarz W.: „Systemy informatyczne wspomagające zarządzanie. Aspekt modelowy w budowie systemów”. Elipsa, Warszawa 1996 325 Kierunek: Informatyka Przedmiot: Zarządzanie projektem informatycznym Software Project Managing Czas trwania: semestr 7 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Jacek Florek 30 egzamin Laboratorium dr inż. Jacek Florek 30 zaliczenie na ocenę Punkty ECTS 4 POZIOM Warunkiem udziału w zajęciach jest ogólna znajomość zagadnień związanych z funkcjonowaniem instytucji gospodarczych i ich zarządzaniem oraz projektowania systemów informatycznych, a ponadto wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Systemy informatyczne w biznesie i administracji Metody i narzędzia modelowania systemów informatycznych Projektowanie informatycznych systemów zarządzania lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Podstawowym celem wykładów jest poznanie zasadobowiązujących podczas realizacji przedsięwzięć informatycznych, a w szczególności z etapami i uwarunkowaniami organizacyjnymi realizacji tych przedsięwzięć. Rozwiniętymi celami szczegółowymi sa: • • • zapoznanie z zasadami zarządzania projektem informatycznym w naistotniejszych obszarach merytorycznych wg metodologi PMI zapoznanie z metodologią oraz scenariuszami tworzenia zintegrowanych systemów informatycznych poznanie roli i zadań głównych uczestników przedsięwzięć informatycznych Celem laboratorium jest nabycie umiejętności w rozwiązywaniu wybranych problemów dotyczących organizacji oraz realizacji procesu zarządzania przedsięwzięciem informatycznym. Cele szczegółowe laboratorium obejmują umiejętności praktyczne dotyczące: • sposobów organizacji zespołów projektowo-wdrożeniowych 326 • • • definiowania i wymiarowania oraz planowania wybranego projektu informatycznego realizacji prac w istotniejszych etapach projektowania systemów informatycznych monitorowania i oceny ryzaka projektu WYKŁAD 1. Współdziałanie systemów informacyjnych z organizacją (przedsiębiorstwem) • • • • obszary SI (środowisko, zarządzanie, technologia, opracowanie) model współdziałania SI/TI dlaczego organizacje inwestują w SI? techniki informatyczne a procesy transformacji zarządzania organizacją 2. Problematyka zarządzania projektami • • • • • co to jest projekt? cele projektu cykl życia i unikalność projektu procesy zarządzania projektem organizacja projektu 3. Metodologiczne podstawy tworzenia systemów informatycznych • • • zakres i składniki metodyki modele tworzenia systemu informatycznego identyfikacja projektu, definicja projektu, realizacja projektu, ukończenie projektu 4. Czynniki krytyczne sukcesu • • • • strategia informatyzacji firmy identyfikacja projektu i ustanowienie projektu identyfikacja zagrożeń realizacji znaczenie czynników krytycznych sukcesu 5. Zarządzanie zakresem projektu • • • • • planowanie prac projektowych elementy planu projektu struktura prac w projekcie definiowanie zakresu projektu plan punktów węzłowych 6. Wymiarowanie projektów informatycznych • • • • • estymacja parametrów projektu miary stosowane w SI techniki szacowania metoda punktów funkcyjnych inne problemy szacowania projektów 327 7. Zarządzanie czasem w projekcie • • • • • wyznaczanie terminu realizacji jednostki czasu technika harmonogramowania techniki sieciowe harmonogramowania wymiarowanie sieci 8. Zarządzanie zasobami projektu • • • • szacowanie budżetu sposoby ponoszenia kosztów monitorowanie kosztów analiza zasobowa harmonogramów 9. Zarządzanie komunikacją w projekcie • • • • • istota komunikacji planowanie komunikacji dystrybucja informacji sprawozdania administracja 10. Zarządzanie ryzykiem w projekcie • • • • • • • • ryzyko w projektach informatycznych identyfikacja ryzyka ocena ryzyka analizowanie ryzyka optymalizacja ryzyka kontrola ryzyka metody oceny ryzyka model zarządzania ryzykiem i wskaźnik zagrożenia przedsięwzięcia informatycznego 11. Zarządzanie jakością w projekcie • • • • • istota jakości planowanie jakości zapewnienie jakości kontrola jakości typowe narzędzia wspomagające zarządzanie jakością 12. Zarządzanie zmianami w projekcie • • zmiany w projekcie (istota) proces zarządzania zmianami 13. Rola kierownika projektu • • zarządzanie i proces zarządzania rola menadżera 328 • • zadania menadżera projektu rozwiązywanie problemów przez menadżera projektu 14. Porównanie standardów (sposobów, metod, modeli) zarządzania projektami • • • • standard amerykańskiej organizacji Project Management Institute metoda PRINCE 2 (Central Computer and Telecommuniocation Agency) model CMMI (Capability Maturity Model Integration) Polskie Wytyczne Kompetencji IPMA (International Project Management Association) opracowane przez Stowarzyszenie Project Manage 15. Efekty wdrażania systemów informatycznych • • • • klasyfikacja efektów bariery informatyzacji ocena systemowa efektywności skuteczność komputeryzacji 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: Zakres 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Zapoznanie z organizacją i przebiegiem zajęć • • • zasady organizacji wymiany informacji pomiędzy grupami zasady dokumentowania prac wybór i analiza dziedziny przedmiotowej dla prac projektowo-wdrożeniowych 2. Organizacja projektu • • • identyfikacja założeń i celów projektu analiza zagrożeń i czynników krytycznych sukcesu opracowanie dokumentu zawierającego opis przeprowadzonych analiz 3. Definicja projektu (1) • • • określenie struktury zespołu realizującego projekt identyfikacja skali zmian organizacyjnych definicja zakresu projektu 329 • wyznaczenie punktów węzłowych realizacji projektu 4. Definicja projektu (2) • • • opracowanie zasad organizacji prac projektowych wstępne określenie kosztów i terminów realizacji projektu wyznaczenie terminów realizacji prac związanych z zarządzaniem ryzykiem 5. Definicja projektu (3) • • • • określenie systemu raportowania w zespole projektowym określenie zasad postępowania w sytuacjach awaryjnych otwarcie książki projektu udokumentowanie podjętych zobowiązań 6. Realizacja projektu (1) • • planowanie zadań projektu przygotowanie planu ogólnego istotnych elementów 7. Realizacja projektu (2) • • przygotowanie planów szczegółowych przyporządkowanie planów do poszczególnych zadań 8. Wymiarowanie projektu • • estymacja parametrów projektu szacowanie liczebności zespołu wykonawczego oraz czasu realizacji programu z wykorzystaniem metody linii kodu 9. Wymiarowanie projektu • • szacowanie pracochłonności wykonania projektu z wykorzystaniem metody punktów funkcyjnych szacowanie czasu wykonania projektu 10. Wyznaczanie terminu realizacji • • oszacowanie czasu wykonania poszczególnych prac opracowanie planu realizacji projektu z wykorzystaniem techniki harmonogramów Gantta 11. Wyznaczanie relacji pomiędzy zadaniami projektowymi za pomocą metod sieciowych • • model przyczynowo-skutkowy PDM wyznaczenie czasu realizacji zadania 12. Szacowanie budżetu projektu 330 • • • oszacowanie kosztów z wykorzystaniem oszacowanej liczby punktów funkcyjnych oszacowanie kosztów metodą COCOMO porównanie wyników otrzymanych obiema metodami 13. Monitorowanie kosztów projektu • • obliczenie wskaźników wydajności i realizacji kosztów z wykorzystaniem metody Earned Value określenie wymaganej sprawności realizacji dalszych prac projektowych 14. Ocena ryzyka • • zbudowanie drzewa zdarzeń wyliczenie ryzyka wystąpienia zdarzeń 15. Prezentacja projektu i zaliczenie cwiczeń • • • • prezentacja wyników prac ocena zadań indywidualnych dyskusja i ocena projektów dokonanie zaliczeń laboratorió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. Łą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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Philips J.: "Zarządzanie projektami IT", Helion. 2005 2. Flasiński M.: "Zarządzanie projektami informatycznymi", PWN. 2006 331 3. Mingus N.: "Zarządzanie projektami", Wyd. OnePress, 2002 4. Szyjewski Z.: Zarządzanie projektami informatycznymi. Metodyka tworzenia systemów informatycznych. Agencja Wydawnicza Placet. Warszawa 2001 5. Kisielnicki J., Sroka H.: "Systemy informacyjne biznesu. Informatyka dla zarządzania", Agencja Wydawnicza Placet. Warszawa 2001. 332 Specjalność: BEZPIECZEŃSTWO SYSTEMÓW KOMPUTEROWYCH 333 Kierunek: Informatyka Przedmiot: Elementy kryptografii i systemów kryptograficznych Cryptography and Cryptographic Systems Fundamentals Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład prof. dr hab. inż. Wojciech Penczek 30 egzamin Laboratorium mgr Mirosław Szaban 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Matematyka dyskretna Podstawy programowania Algorytmy i złożoność lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu ”Elementy kryptografii i systemów kryptograficznych” jest przedstawienie zadań realizowanych 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ą: • • • • • Szyfry klasyczne Szyfry z kluczem publicznym Szyfry z kluczem symetrycznym Metody kryptoanalityczne Schematy podpisów i identyfikacji. 334 Celem laboratorium jest poszerzenie wiadomości nabytych w ramach wykładu oraz nabycie praktycznych umiejętności w zakresie stosowania algorytmów i technik kryptograficznych. W trakcie laboratoriów studenci podejmą analizę algorytmów szyfrowania i deszyfrowania danych, oraz wykonają implementacje wybranych algorytmów lub ich najistotniejszych części. Realizacja zajec oparta będzie na podstawach teoretycznych dotyczacych idei i przebiegu poszczególnych procesów kryptograficznych wyjaśnionych na wykładzie i w trakcie laboratorium. Cele szczegółowe laboratorium obejmują następujące umiejętności praktyczne: • • • • • Implementacja i testowanie szyfrów klasycznych Budowa i testowanie działania algorytmu DES Budowa i testowanie działania algorytmu RSA Budowa systemów kryptograficznych Schematy podpisów i identyfikacji. WYKŁAD 1. Wprowadzenie do klasycznej kryptografii • • • • • szyfr z przesunieciem szyfr podstawieniowy szyfr afiniczny szyfr Vigenere’a szyfr Hilla 2. Kryptoanaliza • • • • kryptoanaliza szyfru afinicznego kryptoanaliza szyfru podsawieniowego kryptoanaliza szyfru Vigenere’a ataki na szyfr Hilla 3. Teoria Shannona • • • • tajność doskonała entropia własności entropii błędne klucze i długość krytyczna 4. Standard szyfrowania danych - algorytm DES • • • opis DES tryby działania DES wymagania czasowe a wymagania pamięciowe - próba kompromisu 5. Kryptoanaliza różnicowa • • atak na 3-rundowy szyfr DES atak na 6-rundowy szyfr DES 335 6. Algorytm RSA • • • • wprowadzenie do kryptografii z kluczem publicznym elementy teorii liczb system kryptograficzny RSA implementacje RSA 7. Ataki na RSA i system Rabina • • • wykładnik deszyfrowania częściowa informacja o bitach tekstu jawnego system kryptograficzny Rabina 8. Algorytmy faktoryzacji • • • metoda p - 1 algorytm Dixona i sito kwadratowe algorytmy faktoryzacji w praktyce 9. Systemy kryptograficzne z kluczem publicznym • • system kryptograficzny ElGamala i logarytmy dyskretne systemy oparte na ciałach skończonych i krzywych eliptycznych 10. Systemy kryptograficzne z kluczem publicznym • • • system plecakowy Merkle’a-Hellmana system McEliece’a inne systemy 11. Schematy podpisów • • • • schemat podpisu ElGamala standard podpisu cyfrowego jednorazowe podpisy podpisy niezaprzeczalne 12. Funkcje skrótu • • • • bezkonfliktowe funkcje skrótu atak metoda dnia urodzin funkcja skrótu zwiazana z logarytmem dyskretnym funkcje skrótu budowane na systemach kryptograficznych 13. Uzgadnianie i dystrybucja klucza • • • wstępna dystrybucja klucza kerberos protokół wymiany kluczy Diffiego Hellmana 14. Schematy identyfikacji 336 • • • • schemat identyfikacji Schnorra schemat identyfikacji Okamoto schemat identyfikacji Guillou-Quisquatera przekształcenie identyfikacji w schemat podpisu 15. Kody uwierzytelniania • • • obliczanie prawdopodobienstw oszustwa ograniczenia kombinatoryczne ograniczenia związane z entropią 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Szyfry podstawieniowe I (szyfrowanie, deszyfrowanie, kryptoanaliza) • • • • • • szyfr z przesunięciem (monoalfabetyczne) szyfr Cazara szyfr ROT-23 szyfr z dowolnym przesunieciem szyfr AtBash szyfr afoniczny 2. Szyfry podstawieniowe II (szyfrowanie, deszyfrowanie, kryptoanaliza) • • • • • szyfr z przesunięciem (polialfabetyczne) szyfr Vigenere’a szyfr Kasiskiego-Babbage’a szyfr przestawieniowy szyfr macierz kwadratowa 3. Szyfry podstawieniowe III (szyfrowanie, deszyfrowanie, kryptoanaliza) • • • • • szyfr homofoniczny szyfr poligramowy szyfr Willa szyfr Playfair‘a tablica Polibiusza 337 • • metody nihilistycznej szyfr ADFFGVX 4. Szyfry bitowe (szyfrowanie, deszyfrowanie, kryptoanaliza) • • • Algorytm XOR Szyfr One-time pad Szyfr blokowy oparty o S-box (DES) 5. Standard szyfrowania danych - algorytm DES (analiza algorytmu) • • • • • • wstępna permutacja funkcja rozszerzenia S-boxy: S1, . . . , S8 permutacja odwrotna wstępna permutacja 3-rundowy szyfr DES 6. Algorytm DES • • • szyfrowanie wiadomości deszyfrowanie wiadomości kryptoanaliza algorytmu 7. International Data Encryption Standard - IDEA • • • • własności szyfrowanie wiadomości generowanie podkluczy deszyfrowanie wiadomości 8. Algorytm RSA - wprowadzenie, elementy teorii liczb • • • • • NWD - algorytm Euklidesa Funkcja Eulera Chińskie twierdzenie o resztach Test pierwszości Fermata Test Millera-Rabina 9. Algorytm RSA • • • • • system kryptograficzny RSA implementacje RSA wybór kluczy szyfrowanie wiadomosci deszyfrowanie wiadomości 10. Ataki na RSA i system Rabina • • wykładnik deszyfrowania częściowa informacja o bitach tekstu jawnego 338 • system kryptograficzny Rabina 11. Algorytmy faktoryzacji • • • metoda p - 1 algorytm Dixona i sito kwadratowe algorytmy faktoryzacji w praktyce 12. Systemy kryptograficzne z kluczem publicznym • • • • system plecakowy Merkle’a-Hellmana system kryptograficzny ElGamala i logarytmy dyskretne system McEliece’a systemy oparte na ciałach skończonych i krzywych eliptycznych 13. Schematy podpisów • • • • schemat podpisu ElGamala standard podpisu cyfrowego jednorazowe podpisy podpisy niezaprzeczalne 14. Uzgadnianie i dystrybucja klucza • • • wstepna dystrybucja klucza Kerberos protokół wymiany kluczy Diffiego Hellmana 15. Schematy identyfikacji • • • • schemat identyfikacji Schnorra schemat identyfikacji Okamoto schemat identyfikacji Guillou-Quisquatera przekształcenie identyfikacji w schemat podpisu 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. 339 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. 2. 3. 4. Stinson Douglas R., Kryptografia. W teorii i praktyce., WNT Niels Ferguson, Bruce Schneier, Kryptografia w praktyce, Helion John Viega, Matt Messier, C i C++. Bezpieczne programowanie. Receptury, Helion Friedrich L. Bauer, Sekrety kryptografii, Helion 340 Kierunek: Informatyka Przedmiot: Bezpieczeństwo rozproszonych systemów operacyjnych Security of Distributed Operating Systems Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr Jarosław Skaruz 30 egzamin Laboratorium mgr Piotr Świtalski 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • Systemy operacyjne lub znajomość literatury obowiązującej w tym przedmiocie. ZAŁOŻENIA I CELE Celem głównym wykładu jest przedstawienie zasad bezpieczeństwa rozproszonych systemów operacyjnych, opracowanie polityki bezpieczeństwa oraz metod zabezpieczania usług systemów operacyjnych. Celem laboratorium jest nabycie i opanowanie praktycznych umiejętności w rozwiązywaniu problemów związanych z bezpieczeństwem rozproszonych systemów operacyjnych w tym konfiguracją i zabezpieczaniem usług systemów operacyjnych. WYKŁAD 1. Active Directory (AD) - hierarchiczna baza danych obiektów domeny • • • • struktura AD składniki AD relacje zaufania replikacja AD 2. Projektowanie Active Directory 341 • • • struktury domen modele AD jednostki organizacyjne i grupy 3. Polityka bezpieczeństwa w Windows 2003 Serwer • • • • przegląd zagrożeń planowanie architektury zabezpieczeń inspekcja zabezpieczeń mechanizmy zabezpieczeń 4. Bezpieczeństwo usług w Windows 2003 Serwer • • • system DNS w Windows 2003 serwer protokoły DHCP i WINS oraz kontrolery domen internetowe usługi informacyjne 5. Infrastruktura klucza publicznego (PKI) • • • usługi certyfikatów Encrypting File System integracja PKI z obszarami Kerberosa w obcych środowiskach 6. Wirtualne siei prywatne w Windows 2003 Serwer • • • tunele VPN zarządzanie VPN za pomocą serwera Internet Authentication Service tworzenie VPN za pomocą usługi Routing and Remote Access 7. Protokół IPSec • • • • podstawowa funkcjonalność IPSec konfiguracja IPSec pomiędzy serwerami w domenie Windows 2003 monitor zabezpieczeń IP weryfikacja funkcjonowania IPSec 8. Kerberos w Windows 2003 • • • • projektowanie architektury Kerberos konfiguracja zasad grup współdziałania z innymi środowiskami zaawansowane techniki obsługi klientów systemu Kerberos 9. Uwierzytelnianie • • • • uwierzytelnianie podstawowe metody biometryczne systemy żetonowe karty inteligentne 10. Buforowanie w Windows 2003 Serwer 342 • • • • buforowanie treści - oprogramowanie buforowanie treści - urządzenia skalowanie serwera buforującego metody i protokoły buforowania 11. Autoryzacja w systemach Unixowych • • • • logowanie z prawami roota uwierzytelnianie z użyciem klucza publicznego ograniczanie przywilejów uwierzytelnianie w zadaniach cron 12. Kontrola dostępu do sieci • • • • monitorowanie interfejsów sieciowych włączanie i wyłączanie kart sieciowych konfiguracja usług ograniczanie dostępu 13. Instalacja i konfiguracja wirtualnych sieci prywatnych w systemie Linuks • • • konfiguracja protokołu PPTP instalacja i konfiguracja serwera FREE/SWAN potencjalne zagrożenia w sieciach VPN 14. Bezpieczeństwo poczty elektronicznej • • szyfrowanie poczty elektronicznej zastosowanie protokołu SSL do zabezpieczenia transmisji poczty POP/IMAP 15. Monitorowanie w systemie Linuks • • • • testowanie poprawności haseł obserwacja ruchu sieciowego rotacja plików dziennika śledzenie procesó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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. 343 Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Narzędzia administracji w systemie Windows 2003 Serwer • • • zarządzanie aplikacjami inspekcja zdalne zarządzanie 2. Polityka bezpieczeństwa: Active Directory • • • • drzewa i lasy w AD lokacje AD planowanie topologii i replikacji domeny specjalnego przeznaczenia 3. Zarządzanie kontami użytkowników • • • • umożliwienie zarządzania założeniami grupowymi zarządzanie instalowaniem oprogramowania w klientach przekierowanie folderów zarządzanie użytkownikami zdalnymi 4. Zabezpieczanie usług: DHCP, DNS, WWW • • • • • bezpieczne aktualizacje składników DNS autoryzacja DHCP procedury awaryjne DHCP uwierzytelnianie w serwerze WWW IIS certyfikaty SSL 5. Instalacja i konfiguracja usługi certyfikatów • • • • instalowanie usługi konfiguracja urzędu wydawania certyfikatów (CA) tworzenie szablonów certyfikatów zgłaszanie żądań certyfikatów 6. Wirtualne sieci prywatne: protokoły L2TP i PPTP • • • • konfigurowanie połączenia VPN typu router-router opartego na protokole PPTP konfigurowanie połączenia VPN typu router-router opartego na protokole L2TP konfigurowanie połączenia VPN zdalnego dostępu opartego na protokole PPTP konfigurowanie połączenia VPN zdalnego dostępu opartego na protokole L2TP 7. Administracja serwerem ISA • • • • instalowanie serwera ISA usługa akceleracji konfiguracja buforowania mechanizmy raportowania i monitorowania serwera ISA 344 8. Konfiguracja zapory sieciowej • • • • • kreator konfiguracji filtry reguły kontrola ruchu sieciowego filtry aplikacji 9. Algorytm RSA • • • tryby działania usługi funkcje usług terminalowych planowanie usług terminalowych 10. Autoryzacja w systemie Linux • • • • uwierzytelnianie w sudo uruchamianie programów X z prawami roota uwierzytelnianie przez mechanizm wiarygodnego hosta kontrola i monitorowanie plików logowania 11. Konfiguracja i zabezpieczanie usług rozproszonych systemów plików • • Zabezpieczanie serwera NFS Zarządzanie zasobami i użytkownikami serwera Samba 12. Autoryzacja i szyfrowanie: protokół Kerberos • • • • dodawanie użytkowników do domeny dodawanie hostów do domeny korzystanie z uwierzytelniania Kerberos w usłudze SSH zabezpieczenie usługi IMAP technologią Kerberos 13. Wirtualne sieci prywatne • • • • VPN z użyciem protokołów SSH, PPP oraz Perla CIPE - enkapsulacja protokołu IP z szyfrowaniem zastosowanie FREE/SWAN zastosowanie protokołu PPTP 14. Ochrona poczty elektronicznej • • zastosowanie protokołu SSL do szyfrowania poczty otrzymywanie poczty elektronicznej bez udostępniania serwera 15. Kontrola aktywności użytkowników • • • • wyszukiwanie kont bez haseł i superużytkowników sprawdzanie podejrzanych zachowań dotyczących kont testowanie ścieżki wyszukiwania efektywne przeszukiwanie systemu plików 345 • rejestrowanie zdalne 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Robbie Allen, Alistair G. Lowe-Norris, Active Directory, 2nd Edition, Helion, 2003 2. Blair Rampling, Windows Server 2003. Bezpieczeństwo. Biblia, Helion, 2003 3. Nelson Ruest, Danielle Ruest, Windows Server 2003. Podręcznik administratora, Helion, 2004 4. Rand Morimoto, Michael Noel, Omar Droubi, Kenton Gardinier, Noel Neal, Windows Server 2003. Księga eksperta, Helion, 2004 5. James Stanger Ph.D., Patrick T. Lane, Edgar Danielyan, Hack Proofing Linux. Edycja polska, Helion, 2003 6. Bob Toxen, Bezpieczeństwo w Linuksie. Podręcznik administratora, Helion, 2004 7. Daniel J. Barrett, Richarde Silverman, Robert G. Byrnes, Linux. Bezpieczeństwo Receptury, Helion, 2003 346 Kierunek: Informatyka Przedmiot: Bezpieczeństwo sieci komputerowych Computer Networks Security Czas trwania: semestr 6 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr hab. Andrzej Wiśniewski 30 egzamin Laboratorium mgr Andrzej Salamończyk dr Jarosław Skaruz 45 zaliczenie na ocenę Punkty ECTS 5 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • • Technologie Sieciowe Podstawy Bezpieczeństwa Systemów Komputerowych Podstawy telekomunikacji dla informatyków lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Celem głównym wykładu jest przedstawienie zróznicowanych form zagrożeń wewnętrznych i zewnętrznych w odniesieniu do sieci komputerowych, także że względu na zróżnicowane formy działania. Cele szczegółowe są następujące: • • • • • kwestie bezpieczeństwa wirtualnych sieci prywatnych, metody ataku i ochrony wrażliwych warstw w modelu OSI, technologie i techniki podsłuchu w sieciach komputerowych, mechanizmy przełamywania zabezpieczeń sieci, podstawowe narzędzia i metody ochrony sieci przed atakami. Celem laboratorium jest uzyskanie umiejętności instalowania i obsługi sprzętu oraz oprogramowania stosowanych w polityce bezpieczeństwa sieci komputerowych. Celami szczegółowymi są umiejętności praktyczne obejmujące: • rozpoznanie ataku i realizacja obrony w sytuacjach ataku DoS, DNS, spoofingu i in., 347 • • • stosowanie narzędzi przełamywania bezprzewodowych, konfiguracja punktu dostępowego, konfiguracja serwera SMTP. zabezpieczeń WYKŁAD 1. Wprowadzenie do bezpieczeństwa w sieciach komputerowych • • • • standardy sieci komputerowych urządzenia sieciowe zagrożenia wewnętrzne i zewnętrzne zagrożenia w sieciach bezprzewodowych 2. TCP/IP w obliczu zagrożeń • • • porywanie sesji prywatność w sieciach komputerowych ataki warstw 7, 5, 4, i 3 modelu OSI 3. Firewall w sieciach korporacyjnych • • • • komponenty firewalla konfiguracja dual-home konfiguracja bastion konfiguracja screened host 4. Wirtualne sieci prywatne • • • kwestia bezpieczeństwa VPN typowe zastosowania VPN protokoły L2TP i PPTP 5. Podsłuchiwanie oraz przechwytywanie ruchu sieciowego • • • • możliwości, technologie i techniki podsłuchu podsłuchiwanie w sieciach lokalnych podsłuchiwanie w sieciach rozległych charakterystyka narzędzi stosowanych do podsłuchu 6. Ataki odmowy usługi • • • • • zasada działania nadużycia w sieci amplification attack fragmentation attack rozproszone ataki 7. Rozpoznawanie systemów operacyjnych 348 WWW oraz sieci • • • • • rozpoznawanie stosu TCP czas oczekiwania TCP pasywne rozpoznawanie nieostre rozpoznawanie specjalizowane narzędzia 8. Bezpieczeństwo usług internetowych • • • • bezpieczeństwo serwera WWW zabezpieczanie przeglądarki zabezpieczanie serwera poczty zabezpieczanie klientów poczty oraz komunikatorów 9. Mechanizmy przełamywania zabezpieczeń • • • narzędzia analizy ruchu działające w trybie monitorowania łamanie zabezpieczeń: program TKIP atak man in the middle oraz wykorzystanie fałszywych punktów dostępowych 10. Ataki na połączenia szyfrowane w sieciach bezprzewodowych • • • narzędzia łamania szyfrów narzędzia do generowania ramek sieci komputerowej wprowadzanie do sieci zaszyfrowanego ruchu 11. Zaawansowane mechanizmy zabezpieczeń • • • standard 802.11i oraz WPA filtrowanie danych warstwy łącza danych modelu OSI stosowanie zabezpieczeń Extended Service Set Identifier - ESSID 12. Protokoły bezpiecznej komunikacji: SSH, SSL, IPSec • • • • IPSec: nagłówek AH, enkapsulacja ESP IPSec a kwestia bezpieczeństwa zasada działania SSH zasada działania SSL 13. Usługi poczty i WWW w obliczu zagrożeń • • • • serwery open-relay wykrywanie spamu ataki SQL-injection ataki cross-site scripting 14. Podstawy obrony przed atakami • • • polityka bezpieczeństwa sieci bezprzewodowych bezpieczeństwo warstwy pierwsze OSI wzmocniona brama bezprzewodowa 349 15. Pozyskiwanie informacji w sieciach komputerowych • • • aktywne i pasywne skanowanie enumeracja identyfikacja usług 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Firewall - zaawansowane konfiguracje • • • implementacja firewalla w konfiguracji bastion implementacja firewalla w konfiguracji screened host implementacja firewalla w konfiguracji dual-home 2. Utrzymywanie zapór sieciowych • • • sprawdzanie działania firewalla testowanie zapory sieciowej przy pomocy: telnet, iptables, netcat i sendip rejestrowanie blokowanie oraz opcje alarmowe 3. Atak i obrona: sniffing - podsłuchiwanie komunikacji • • • • instalacja i konfiguracja programu Etheral podsłuchiwanie komunikacji sieciowej za pomoca programu Etheral zastosowanie filtrów integracja Etheral z innymi snifferami 4. Atak i obrona: spoofing ARP - fałszowanie nagłówka ramki protokołu • • • metody fałszowania ramek ARP wykrywanie sfałszowanych ramek tworzenie statycznych tablic ARP 5. Atak i obrona: DoS i DDoS - ataki odmowy usługi • • zajmowanie przepustowości ataki na routing i DNS 350 • • zdalne ataki DoS rozproszone ataki odmowy usługi 6. Atak i obrona: usługi DNS i DNSec • • • przechwytywanie zapytań DNS modyfikacja transferu stref zastosowanie szyfrowanych połaczeń DNS 7. Atak i obrona: protokół ICMP • • • analiza transakcji ICMP w różnych systemach operacyjnych typy komunikatów ICMP identyfikacja zdalnych usług za firewallem 8. Bezpieczne tunele • • • tunelowanie połączeń wewnątrz HTTP tworzenie tunelu za pomocą programu VTun i protokołu SSH szyfrowanie i tunelowanie za pomocą protokołu SSL 9. Protokoły zarządzania poufnością e-mail • • • instalacja, konfiguracja i zastosowanie programu PGP szyfrowanie usług IMAP i POP za pomocą protokołu SSL konfiguracja serwera SMTP wykorzystującego szyfrowanie TLS 10. Konfiguracja punktu dostępowego • • • ogólne bezpieczeństwo punktu dostępowego konfiguracja punktu dostępowego w linuksie konfiguracja punktu dostępowego w windows 11. Szyfrowanie algorytmem WEP • • • • wykorzystanie możliwości protokołu WEP łamanie klucza WEP siłowy atak FMS udoskonalony atak FMS 12. Ataki na systemy bezpieczeństwa • • ataki na systemu uwierzytelnienia ataki na sieci VPN 13. Zastosowanie IPSec w sieciach w standardzie 802.11 • • • kompilacja i instalacja FREES/WAN ustawienia opcji dla topologii VPN konfiguracja klienta w windows 2000 351 14. Narzędzia przełamywania zabezpieczeń WWW • • zastosowanie aplikacji: netcat, whisker do pozyskiwania informacji o serwerach i aplikacjach WWW zastosowanie aplikacji: brutus, achilles, cookie pal do pozyskiwania informacji o serwerach i aplikacjach WWW 15. Narzędzia przełamywania zabezpieczeń w sieciach bezprzewodowych - AirSnort i Kismet • • zastosowanie narzędzia AirSnort do włamań do sieci bezprzewodowych zastosowanie narzędzia Kismet do włamań do sieci bezprzewodowych 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 0-100 pkt. 101-120 pkt. 121-140 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 141-160 pkt. 161-180 pkt. 181-200 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Schetina,E., Green,K., Carison,J., Bezpieczenstwo w sieci, Helion, 2002 2. William Chestwick, Steven Bellovin, Aviel Rubin, Firewalle i bezpieczenstwo w sieci, Helion, 2003 352 3. Chris Hare, Karanjit Siyan, Internet Firewalls and Network Security, New Riders, 1996 4. Elizabeth D. Zwicky, Simon Cooper, D. Brent Chapman, Building Internet Firewalls, Oreily, 2000 5. Angela Orebaugh, Etheral Packet Sniffing, Syngress, 2004 6. Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed - Network Security Secrets & Solutions, 2nd Edition, McGraw-Hill Osborne, 2003 7. Daniel, J. Barrett, Richard Silverman, Robert G. Byrnes, Linux Security Cookbook, O’Reilly, 2003 8. Bradley Dunsmore, Jeffrey W. Brown, Michael Cross, Mission Critical Internet Security, Syngress, 2001 9. Andrew Lockhart, 100 sposobów na bezpieczenstwo sieci, Helion, 2004 10. Andrew A. Vladimirov, Konstantin V. Gavrilenko, Andrei A. Mikhailovsky, Wi-Foo: The secrets of Wireless Hacking, Addison Wesley, 2004 11. Jon Edney, William Arbaugh, Real 802.11 Security: Wi-Fi Protected Access and 802.11i, Adisson-Wesley Professional, 2003 12. Cyrus Peikari, Seth Fogie, Maximum Wireless Security, Sams 2002 13. Matt Fearnow, S., Northcutt, M., Cooper, Intrusion Signatures and Analisys, Sams 2001 14. Simson, Garfinkel, Gene Spafford, Practical Unix Internet Security 2nd Edition, O’Reilly, 1996 15. Anton Chuvakin, Cyrus Peikari, Security Warior, O’Reily, 2004 16. Will Schmied, Victor Chang, Drew Simonis, Building DMZs for Enterprise Netoworks, Syngress, 2003 17. Will Schmied, Robert J. Shimonski, Dr. Thomas W. Shinder, Comptia Security Studyguide, Syngress, 2003 353 Kierunek: Informatyka Przedmiot: Administrowanie bezpieczeństwem systemu komputerowego Computer System Security Administration Czas trwania: semestr 7 Przedmiot: specjalnościowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład dr inż. Tadeusz Sydoruk 30 egzamin Laboratorium dr inż. Tadeusz Sydoruk 45 zaliczenie na ocenę Punkty ECTS 4 POZIOM Warunkiem uczestnictwa w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: • • Technologie sieciowe Podstawy bezpieczeństwa systemów komputerowych lub znajomość literatury obowiązującej w tych przedmiotach. ZAŁOŻENIA I CELE Zasadniczym celem przedmiotu jest wprowadzenie studentów do problematyki zarządzania bezpieczeństwem systemów komputerowych w zakresie administrowania zasobami i komponentami narzędziowymi systemu bezpieczeństwa poprzez zapoznanie z przekrojem zasad i metod zabezpieczania systemów komputerowych, w tym m.in. ochroną osobową i przekrojem metod ochrony fizycznej, oraz mechanizmami bezpieczeństwa i ich powiązaniami systemowymi. Celem dodatkowym jest wprowadzenie studentów do problematyki oceny bezpieczeństwa oraz zapoznanie z zasadami i metodami przeprowadzania audytu bezpieczeństwa. Celem laboratorium jest zapoznanie studentów z praktyczną realizacją wybranych procesów projektowania, wdrażania i administrowania metodami, mechanizmami i narzędziami bezpieczeństwa w typowych rozwiązaniach sieci komputerowych firm, instytucji i korporacji 354 WYKŁAD 1. Administrowanie bezpieczeństwem systemu teleinformatycznego - wprowadzenie • • • • Administrowanie a zarządzanie bezpieczeństwem systemu komputerowego Kształtowanie kultury bezpieczeństwa w miejscu pracy Gwarantowanie klientowi bezpieczeństwa informacyjnego System administrowania (zarządzania) bezpieczeństwem informacji 2. Rodzaje ryzyka i żródła zagrożeń • • • • • Bezpieczeństwo sieciowe na przestrzeni ostatnich lat (statystyki) Ochrona prywatności w sieci. Tożsamość i anonimowość w sieciach rozległych Zagrożenia i luki bezpieczeństwa. Odpowiedzialność użytkowników i działania ochronne Kontrola dostępu. Zdalni użytkownicy 3. Podstawy prawne ochrony informacji w systemach komputerowych • • • • • Klasyfikacja informacji wrażliwych Zasady ochrony informacji niejawnych Wymagania wzgledem ochrony danych osobowych Tajemnica przedsiębiorstwa. Tajemnica bankowa. Tajemnica zawodowa (lekarska, bankowa, adwokacka) 4. Zabezpieczenia administracyjne systemów komputerowych. • • • • • Ochrona osobowa Organizacja pionu teleinformatyki Model organizacyjny zespołu zabezpieczającego Zabezpieczenia proceduralne Szkolenia i kształcenie w zakresie bezpieczeństwa systemów komputerowych 5. Metody i standardy ochrony fizycznej systemów komuterowych • • • • • Cele i podstawowe zasady ochrony fizycznej Podstawy prawne ochrony fizycznej Zadania i rola pracowników ochrony Techniczne środki zabezpieczenia systemów i sieci teleinformatycznych Strefy bezpieczeństwa. Zasady i techniki kontroli 6. Praktyczne zasady administrowania bezpieczeństwem systemów i sieci cz. 1 • • • • Ogólne zasady zarządzania ryzykiem Zarządzanie konfiguracją Zarządzanie systemem Zarządzanie zmianami 355 7. Praktyczne zasady administrowania bezpieczeństwem systemów i sieci cz. 2 • • • • • Archiwizacja - cel i metody Kopie zapasowe danych i oprogramowania. Nośniki Dokumentowanie archiwizacji Procedury odtwarzania Plan archiwizacji 8. Praktyczne zasady administrowania bezpieczeństwem systemów i sieci cz. 3 • • • • Reakcja na incydenty Planowanie awaryjne Zarządzanie ciągłością procesów krytycznych Odzyskiwanie danych 9. Mechanizmy ochrony systemów komputerowych i ich powiązania cz. 1 • • • Zabezpieczanie portów i usług Zabezpieczanie przed penetracją Zabezpieczanie urządzeń sieciowych i usług 10. Mechanizmy ochrony systemów komputerowych i ich powiązania cz. 2 • • Zasady bezpieczeństwa Oprogramowanie zabezpieczające 11. Weryfikacja i ocena systemu bezpieczeństwa komputerowego. Audyt bezpieczeństwa cz. 1 • • Standardy oceny bezpieczeństwa Metody i kryteria oceny bezpieczeństwa 12. Weryfikacja i ocena systemu bezpieczeństwa komputerowego. Audyt bezpieczeństwa cz. 2 • • Audyt bezpieczeństwa - cel, zakres i charakterystyka działań Skład zespołu, kompetencje i kwalifikacje 13. Weryfikacja i ocena systemu bezpieczeństwa komputerowego. Audyt bezpieczeństwa cz. 3 • • Narzędzia i procesy. Dokumentowanie audytu Wykorzystanie audytu w administrowaniu bezpieczeństwem systemu komputerowego 14. Zarządzanie działaniami operacyjnymi i dobra praktyka w biznesie cz. 1 • • Dobra praktyka bezpieczeństwa w e-biznesie Bezpieczeństwo handlu w sieci 15. Zarządzanie działaniami operacyjnymi i dobra praktyka w biznesie cz. 2 356 • • Bezpieczeństwo płatności internetowych Umowy zawierane elektronicznie 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 0-50 pkt. 51-60 pkt. 61-70 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 71-80 pkt. 81-90 pkt. 91-100 pkt. Ocena db (C) db+ (B) bdb (A) LABORATORIUM 1. Analiza obszaru problemowego – podstawowe definicje • • • • • 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 357 • • • 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, 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 I • • zabezpieczanie i testy penetracyjne systemów Linuks, audyt haseł 13. Audyt systemów operacyjnych II • • zabezpieczanie i testy penetracyjne systemu Windows audyt haseł 14. Audyt konfiguracji w systemach operacyjnych 358 • • testowanie reguł firewalla analiza konfiguracji usług sieciowych 15. Techniki i infrastruktury uwierzytelnienia • • Kerberos infrastruktura PAM 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 0-70 pkt. 71-84 pkt. 85-98 pkt. Ocena ndst (F) dst (E) dst+ (D) Zakres 99-112 pkt. 113-126 pkt. 127-140 pkt. Ocena db (C) db+ (B) bdb (A) LITERATURA 1. Białas A. (red.): Podstawy bezpieczeństwa systemów teleinformatycznych. Wyd. Prac. Komp. J. Skalmierskiego, Gliwice 2002. 2. Chirillo J.: Hack Wars. Administrator kontratakuje. Wyd. Helion, Gliwice 2002. 3. Gałach A.: Instrukcja zarządzania bezpieczeństwem systemu informatycznego. Wyd. ODi DK, Gdańsk 2004 4. Kifner T.: Polityka bezpieczeństwa i ochrony informacji. Wyd. Helion, Gliwice 1999 5. Lam K., LeBlanc D., Smith B.: Ocena bezpieczeństwa sieciowego. Wyd. APN PROMISE, Warszawa2004 6. Liderman K.: Podręcznik administratora bezpieczeństwa teleinformatycznego. Wyd. MIKOM, Warszawa 2003 7. Noonan W.J.: Ochrona infrastruktury sieciowej. Wyd. Edition 2000, Kraków 2004 8. Reuvid J.: E-biznes bez ryzyka. Zarządzanie bezpieczeństwem w sieci. Wyd. Helion, Gliwice 2007 359