II (B) Opisy przedmiotów obowiązkowych
Transkrypt
II (B) Opisy przedmiotów obowiązkowych
II (B) Opisy przedmiotów obowiązkowych Nazwa przedmiotu ALGEBRA LINIOWA Z GEOMETRIĄ ANALITYCZNĄ Kod przedmiotu ALL202 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy I, 1 6 wykład ćwiczenia 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Przemysław Koprowski brak Opanowanie podstawowych narzędzi z zakresu algebry liniowej, w tym: arytmetyki modularnej, ciał skończonych, rachunku macierzowego, rozwiązywania układów równań liniowych, wyznaczanie rzędu, wyznacznika i wartości własnych macierzy, formułowania i rozwiązywania problemów w języku przestrzeni wektorowych i ich homomorfizmów. 1. Podstawowe struktury algebraiczne: pojęcie grupy i ciała; ciała skończone i ciało liczb zespolonych; operacja sprzęŜenia, postać trygonometryczna i wykładnicza liczb zespolonych. Pierścienie wielomianów, pierwiastki wielomianów, rozkład wielomianów na czynniki. 2. Przestrzenie liniowe: pojęcie (pod)przestrzeni liniowej; kombinacje liniowe wektorów; (pod)przestrzenie generowane przez układy wektorów; liniowa zaleŜność i niezaleŜność układu wektorów, pojęcie bazy, wymiar. 3. Macierze: działania na macierzach i ich własności; rzędy i wyznaczniki macierzy, macierze odwracalne i ich obliczanie. 4. Układy równań liniowych: pojęcie układu, opis macierzowy; pojęcie rozwiązania układu, istnienie rozwiązania, jego postać; metody rozwiązywania układów równań liniowych. 5. Przekształcenia liniowe: pojęcie przekształcenia liniowego, jądro, obraz; macierze przekształceń; pojęcie podprzestrzeni niezmienniczej endomorfizmu; wartości i wektory własne; sprowadzanie macierzy endomorfizmu do postaci diagonalnej. 6. Przestrzenie 2-liniowe: pojęcie funkcjonału 2-liniowego, jego macierz; formy kwadratowe; prostopadłość wektorów i podprzestrzeni, bazy prostopadłe. 7. Elementy geometrii analitycznej: Układy współrzędnych na płaszczyźnie i w przestrzeni. Iloczyn skalarny, prostopadłość, bazy prostopadłe, długość wektora, kąt między wektorami. Równania tworów I i II stopnia. Metody oceny Spis zalecanych lektur ocena ćwiczeń: bieŜące kolokwia, ocena egzaminu: egzamin pisemny 1. G.Banaszak, W. Gajda: Elementy algebry liniowej. WNT 2002. 2. A.Białynicki – Birula: Algebra. PWN 1979. 3. J. Klukowski, I. Nabiałek: Algebra dla studentów. WNT 2005. 4. M. Stark: Geometria analityczna. PWN 1979. Nazwa przedmiotu ALGORYTMY I STRUKTURY DANYCH Kod przedmiotu ASD302 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu podstawowy II, 1 6 wykład ćwiczenia 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Michał Baczyński Matematyka dyskretna Efekty kształcenia – umiejętności i kompetencje: zapisywania klasycznych algorytmów w postaci schematu blokowego, listy kroków, w pseudokodzie oraz w wybranym języku programowania; rozumienia matematycznych podstaw analizy algorytmów i wpływu doboru struktur danych i algorytmów na czas działania programów komputerowych; konstruowania algorytmów z wykorzystaniem klasycznych struktur danych oraz podstawowych technik algorytmicznych; - analizowania złoŜoności algorytmów. Treści merytoryczne przedmiotu Elementy analizy algorytmów. Rozmiar danych, złoŜoność czasowa i pamięciowa. Typy złoŜoności: konieczna, wystarczająca, średnia. Notacja asymptotyczna, rzędy wielkości funkcji. Algorytmy rekurencyjne, przykłady. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych. Wyszukiwanie. Analiza wybranych metod: wyszukiwanie liniowe, wyszukiwanie binarne, wyszukiwanie interpolacyjne. Problem wyboru (selekcja). Sortowanie. Analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym. Techniki projektowania algorytmów: dziel i zwycięŜaj, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami, heurystyki. Ilustracja omawianych metod na konkretnych przykładach (problem najdłuŜszego wspólnego podciągu, kodowanie Huffmana, algorytm Kruskala, wyznaczanie cyklu Hamiltona) Abstrakcyjne struktury danych. Stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyŜszych struktur (listy, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania. Mieszanie (haszowanie). Metody rozwiązywanie kolizji. Podstawowe algorytmy grafowe: przeszukiwanie wszerz i w głąb. Problemy obliczeniowo trudne: NP-zupełność, nierozstrzygalność. Metody oceny Spis zalecanych lektur Zaliczanie ćwiczeń: ocena bieŜących kolokwiów. Egzamin pisemny z zadań i teorii. 1. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest, C. Stein: Wprowadzenie do algorytmów, WNT 2007 (wyd. 8). 2. A.V. Aho, J.E. Hopcroft, J.D. Ullman: Algorytmy i struktury danych, Helion 2003. 3. L. Banachowski, K. Diks, W. Rytter: Algorytmy i struktury danych, WNT 2006 (wyd. 5). 4. R. Sedgewick: Algorytmy w C++, Wydawnictwo ReadMe 1999. 5. M. Sysło: Algorytmy, WSiP 1997. Nazwa przedmiotu ANALIZA MATEMATYCZNA Kod przedmiotu ANM203 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy I, 2 6 wykład ćwiczenia 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Joanna Ger brak Posługiwania się aparatem analizy matematycznej i opisu zagadnień w języku analizy matematycznej; korzystania z pakietów oprogramowania analizy matematycznej i interpretacji wyników 1. Zbiór liczb rzeczywistych i jego własności. 2. Funkcje: definiowanie funkcji, ciągi, podstawowe własności funkcji rzeczywistych. 3. Ciągi i szeregi liczbowe: indukcja, ciągi ograniczone, działania na ciągach, podciągi, pojęcie granicy, rozbieŜność, szeregi o wyrazach dodatnich, kryteria zbieŜności. 4. Granica funkcji, ciągłość: działania na granicach, warunki istnienia granicy, ciągłość funkcji, ciągłość funkcji elementarnych, własności funkcji ciągłych, 5. Ciągi i szeregi funkcji: zbieŜność punktowa i jednostajna, szeregi potęgowe. 6. Pochodna i róŜniczka funkcji: pochodna i jej sens geometryczny, pochodne funkcji elementarnych, działania na pochodnych, pochodne wyŜszych rzędów. 7. Pewne zastosowania rachunku róŜniczkowego: twierdzenie Rolle'a, twierdzenie Lagrange'a, ekstrema lokalne, przedziały monotoniczności, reguła de l'Hospitala, ogólny schemat badania funkcji. wzór Taylora. 8. Całka nieoznaczona: definicja i wzory rachunkowe, metody całkowania, całkowanie funkcji wymiernych, całkowanie niewymierności, całki funkcji trygonometrycznych. 9. Całka oznaczona: całka Riemanna, wzór Newtona-Leibniza, całki niewłaściwe, zastosowania. 10. Rachunek róŜniczkowy i całkowy funkcji wielu zmiennych. 11. Równania róŜniczkowe: problemy prowadzące do równań róŜniczkowych, metody rozwiązywania prostych równań róŜniczkowych. Metody oceny Spis zalecanych lektur Egzamin pisemny z teorii i jej zastosowania. 1. A. Birkholz, Analiza matematyczna dla nauczycieli, PWN, 1977. 2. J. Ger, Kurs matematyki dla chemików, Wydawnictwo Uniwersytetu Śląskiego, 2005. 3. F. Leja, Rachunek róŜniczkowy i całkowy, PWN, 1973. Nazwa przedmiotu ARCHITEKTURA KOMPUTERÓW Kod przedmiotu AKO309 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy I, 2 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Joachim Włodarz Wstęp do Informatyki Prezentacja struktury oraz sposobu działania systemów komputerowych, ze szczególnym uwzględnieniem podstawowych elementów i modułów funkcjonalnych spotykanych we współczesnych implementacjach. Wprowadzenie do programowania niskopoziomowego. Wstęp: podstawowe pojęcia i kamienie milowe architektury komputerów, wielopoziomowa struktura systemów komputerowych, przykłady współczesnych systemów. Podstawowa organizacja systemów komputerowych: procesory, pamięć operacyjna, pamięć masowa, urządzenia wejścia/wyjścia. Poziom układów logicznych: algebra Boole’a, układy logiczne, elementy układów pamięci, elementy układów procesora i połączeń wewnątrzsystemowych, interfejs wejścia/wyjścia, przykłady. Poziom mikroarchitektury: ścieŜka danych procesora, mikrorozkazy, sterowanie na poziomie mikrorozkazów, reguły projektowe i przykłady. Poziom konwencjonalnej listy rozkazów: przegląd ogólny, typy danych i formaty rozkazów, adresowanie, typy rozkazów, sterowanie wykonaniem ciągu rozkazów, przykłady. Poziom systemu operacyjnego: pamięć wirtualna, wirtualne rozkazy wejścia/wyjścia, wirtualne rozkazy dla przetwarzania równoległego, przykłady. Poziom języka asemblera: wprowadzenie do programowania w języku asemblera, makra, biblioteki i inne środki pomocnicze, proces asemblacji i asemblery, konsolidacja modułów i rozmieszczanie w pamięci. Architektury systemów równoległych: wielowątkowość na poziomie układu, procesory wielordzeniowe, multiprocesory z pamięcią współdzieloną, multikomputery przekazujące komunikaty. Metody oceny Spis zalecanych lektur Egzamin pisemny (test komputerowy), zaliczenie laboratorium 1. A. Tanenbaum, Strukturalna organizacja systemów komputerowych, Helion 2006. 2. W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2005. 3. L. Null, J. Lobur, Struktura organizacyjna i architektura systemów komputerowych, Helion 2004. Nazwa przedmiotu BAZY DANYCH Kod przedmiotu BDA307 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy II, 1 6 wykład laboratorium 2 godziny tygodniowo 4 godziny tygodniowo 15 tygodni 15 tygodni polski dr Rafał Tyrala Brak Zapoznanie z podstawami baz danych. Omówienie modelu relacyjnego i języka SQL. Przedstawienie zagadnień projektowania baz danych. Wprowadzenie do problematyki systemów baz danych: pojęcie bazy danych i systemu zarządzania bazą danych. UŜytkownicy, architektura i zalety stosowania systemów baz danych. Modelowanie danych: model związków encji (entity relationship – E/R) jako jeden z fundamentalnych modeli wykorzystywanych przy projektowaniu baz danych. Relacyjny model danych i algebra relacji: atrybuty, dziedziny atrybutów, krotki i relacje; operacje na relacjach, integralność danych (klucze, klucze obce). ZaleŜności funkcyjne. Rozkład bez straty danych i bez straty zaleŜności funkcyjnych. Postacie normalne. SQL jako standardowy język systemów relacyjnych. Kwerendy wybierające, selekcja, sortowanie, grupowanie, funkcje agregujące DML - usuwanie, aktualizacja i dołączanie danych DDL - Operacje na strukturach. Indeksy – poprawianie czasu wykonania zapytania. Transakcje. Motywacja i własności (ACID). Przetwarzanie transakcji, blokady i poziomy izolacji. Projektowanie relacyjnych baz danych, architektura klient-serwer. system zabezpieczeń (administrowanie bazą danych, wielodostępność bazy danych). Metody oceny Spis zalecanych lektur Egzamin pisemny z zadań i teorii 1. H. Garcia-Molina, J.D. Ullman, J. Widom, Systemy baz danych. Pełny wykład, WNT, Warszawa 2006. 2. C.J. Date, Wprowadzenie do systemów baz danych, WNT, Warszawa 2001. 3. T. Pankowski; Podstawy baz danych, PWN, Warszawa 1992. 4. Thomas M. Connolly, Carolyn E. Begg, „Systemy baz danych”, Warszawa, RM 2004. Nazwa przedmiotu ELEMENTY GRAFIKI KOMPUTEROWEJ Kod przedmiotu ABC123 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur podstawowy II, 4 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Marek Siemaszko, prof. UŚ Algebra liniowa z geometria analityczną Algorytmy i struktury danych Zapoznanie się z podstawowymi zagadnieniami grafiki. Poznanie metod i algorytmów stosowanych w grafice komputerowej. Grafika komputerowe – podstawowe pojęcia i definicje. Budowa ludzkiego oka, percepcja obrazu przez człowieka. Systemy grafiki. Sprzęt i oprogramowanie dla potrzeb grafiki komputerowej. Graficzne interfejsy uŜytkownika. Formaty plików w grafice komputerowej: formaty dla grafiki rastrowej, formaty dla grafiki wektorowej. Przestrzenie (modele) barw w grafice komputerowej: modele kojarzone ze sprzętem, modele kojarzone z uŜytkownikiem, modele niezaleŜne. Podstawowe operacje rastrowe w grafice dwuwymiarowej: rysowanie (wyświetlanie) prymitywów graficznych, wypełnianie zamkniętego obszaru, obcinanie. Przekształcenia geometryczne 2D i 3D – podstawy matematyczne. Przekształcenia 2D: przesunięcie równoległe (translacja), skalowanie, obrót (rotacja). Składanie przekształceń 2D. Przekształcenia 3D: Translacja, skalowanie, obrót. Składanie przekształceń 3D. Reprezentacja przestrzeni trójwymiarowej na płaszczyźnie: rzutowanie równoległe, rzutowanie perspektywiczne. Rzutowanie a fotografia, wirtualna kamera. Opis obiektów dla potrzeb grafiki komputerowej: modelowanie obiektów 2D: interpolacja krzywych, krzywe Béziera, krzywe B-sklejane Podstawy modelowania powierzchni i brył. Eliminacja powierzchni zasłoniętych – podstawowe algorytmy. Oświetlenie obiektów – modelowanie oświetlenia: oddziaływanie światła z materią modele odbicia światła, cieniowanie powierzchni. Oświetlenie globalne: metoda śledzenia promieni, metoda bilansu energetycznego. Rendering. Podstawy komunikacji człowiek-komputer. Egzamin pisemny 1. J. D. Foley i In.,: Wprowadzenie do grafiki komputerowej, WNT 1995. 2. J. Zabrodzki (red.): Grafika komputerowa metody i narzędzia, WNT 1994. 3. M. Jankowski: Elementy grafiki komputerowej, WNT 1990. 4. http://wazniak.mimuw.edu.pl/ Nazwa przedmiotu FILOZOFIA Z ELEMENTAMI ANALIZY JĘZYKA Kod przedmiotu PIN106 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur podstawowy II, 4 2 wykład 2 godziny tygodniowo 15 tygodni polski dr BoŜena Kołek brak Student poznaje problematykę filozoficzną ze szczególnym uwzględnieniem następującej grupy zagadnień:1) spory dotyczące języka pojmowanego jako narzędzie przekazu informacji i interpretacji w perspektywie jego związku z fizyczną naturą świata, nauką, kulturą; 2) współczesne stanowiska filozoficzne traktujące język jako przedmiot filozofii; 3) problematykę modelowania ludzkiego rozumienia świata poprzez język; 4) relacje pomiędzy wymiarem semantycznym, syntaktycznym a pragmatycznym języka. Znajomość wspomnianych zagadnień ma wpływ na szeroko rozumiane kompetencje językowe. 1) Wprowadzenie do problematyki filozoficznej – rys historyczny; 2) Język w procesie epistemologicznym; 3) Zagadnienia filozofii analitycznej; 4) I i II filozofia L. Wittgenstaina – myśl, zdanie, gry językowe; 5) Sens i znaczenie; 6) Znaczenie i prawda; 7) Syntaktyka, semantyka, pragmatyka; 8) Język naturalny a język nauki; 9) Teoria deskrypcyjna i jej krytyka; 10) Język w perspektywie filozofii hermeneutycznej; 11) Interpretacja filozoficzna a analiza języka; 12) Symbol jako komunikat; 13) Język w metafizyce; 14) Wiedza językowa i pozajęzykowa; 15) Kompetencje językowe w informatyce. Egzamin ustny 1. K. Ajdukiewicz, „Język i znaczenie”, w: tegoŜ, Język i poznanie, tom I, Warszawa: PWN 1985. 2. K. Ajdukiewicz, „Obraz świata i aparatura pojęciowa”, w: tegoŜ, Język i poznanie, tom I, Warszawa: PWN 1985. 3. L. Wittgenstein, Dociekania Filozoficzne, Warszawa: PWN 1972. 4. L.Wittgenstein, Tractatus logico-philosophicus, Warszawa: PWN 2004. 5. Barbara Stanosz (red.), Fragmenty filozofii analitycznej. Filozofia języka, Warszawa 1993. 6. Rudolf Carnap, Znaczenie i konieczność, w: tegoŜ, Pisma semantyczne, Warszawa: Aletheia 2007. 7. W.v.O. Quine, „Znaczenie”, w: tegoŜ, Na tropach prawdy, Warszawa 1997. 8. D. Davidson, „Semantyka dla języków naturalnych”, w: tegoŜ, Eseje o prawdzie, języku i umyśle, Warszawa: PWN 1992. 9. G. Frege, Sens i znaczenie, w: tegoŜ, Pisma Semantyczne, Warszawa: PWN 1977. 10. B. Russell, Problemy filozofii, Warszawa: PWN 1995. Nazwa przedmiotu FIZYKA Kod przedmiotu FIZ206 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne podstawowy I, 1 6 wykład ćwiczenia 3 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Krzysztof Wójcik brak Cele przedmiotu Zapoznanie z podstawowymi zjawiskami fizycznymi oraz ich opisem matematycznym i tworzeniem modeli opisywanych zjawisk. Opanowanie umiejętności analizowania obserwowanych zjawisk, weryfikacji modeli rzeczywistego świata oraz umiejętności przewidywania zdarzeń i stanów na podstawie znanych modeli. Pokazanie ścisłych więzi fizyki z innymi dziedzinami wiedzy, w szczególności z naukami technicznymi. Treści merytoryczne przedmiotu Mechanika: kinematyka, prawa dynamiki Newtona (ruchy, postępowy i obrotowy), Energia, praca i moc, przekształcenie Galileusza, prawo ciąŜenia powszechnego, pole grawitacyjne, nieinercjalne układy odniesienia i pseudosiły bezwładności. Postulaty szczególnej teorii względności, przekształcenie Lorentza Drgania i fale: proste drgania harmoniczne, tłumienie drgań, drgania wymuszone i rezonans. Równanie fali, interferencja i dyfrakcja, fala stojąca, energia fali. Elektryczność i magnetyzm: Pole elektrostatyczne, natęŜenie pola i potencjał. Właściwości elektryczne materiałów, opór elektryczny i przewodność elektryczna. Bilans energii w obwodzie elektrycznym, siła elektromotoryczna, prawa Kirchhoffa. Liniowe i nieliniowe elementy obwodu elektrycznego. Pole magnetyczne, indukcja i natęŜenie pola magnetycznego. Zjawisko indukcji elektromagnetycznej, pole elektromagnetyczne. Równania Maxwella i fale elektromagnetyczne. Optyka: Interferencja i dyfrakcja światła. PrzybliŜenie optyki geometrycznej, przyrządy optyczne. Zjawisko fotoelektryczne i dwoista natura (dualizm) promieniowania elektromagnetycznego. Dualizm korpuskularno – falowy materii. Hipoteza L. de Broglie’a. Fale materii i ich właściwości, zasada nieoznaczoności, budowa atomu, rodzaje wiązań międzyatomowych i struktura ciała stałego. Półprzewodniki: Model pasmowy ciała stałego, przewodniki, półprzewodniki i izolatory. Podstawy fizyczne działania wybranych urządzeń półprzewodnikowych. Metody oceny Spis zalecanych lektur Zaliczenie ćwiczeń. Egzamin pisemny, egzamin ustny w drugim terminie 1. D. Halliday, R. Resnick, J. Walker, Podstawy fizyki, t 1 – 5, PWN. 2. N. Garcia, A. Damask, Physics for Computer Science Students, John Wiley & Sons. 3. J. Orear, Fizyka, t. 1 i 2, WNT 1993. 4. H. D. Young, and R. A. Friedman, Sears and Zemansky’s University Physics 12th Edition with modern physics, Pearson, Addison Wesley 2008. Nazwa przedmiotu MATEMATYKA DYSKRETNA Kod przedmiotu MDY204 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne podstawowy I, 2 6 wykład ćwiczenia 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Mieczysław Kula Algebra liniowa z geometrią analityczną Cele przedmiotu Opanowanie umiejętności: interpretowania pojęć z zakresu informatyki w terminach teorii grafów i rekurencji stosowania ich do rozwiązywania problemów o charakterze informatycznym; tworzenia i oceny złoŜoności prostych algorytmów teorioliczbowych i kombinatorycznych. Treści merytoryczne przedmiotu 1. Elementy teorii liczb: liczby pierwsze, jednoznaczność rozkładu, NWD, algorytm Euklidesa, równania diofantyczne; kongruencje, arytmetyka modularna, ciała skończone, małe twierdzenie Fermata i twierdzenie Eulera; sito Eratostenesa, testy pierwszości, algorytm Rabina, rozkład liczby na czynniki, algorytm Fermata. Algorytm szyfrujący RSA i warunki jego bezpieczeństwa. 2. Kombinatoryka: rozmieszczenie przedmiotów w pudełkach; permutacje, kombinacje, wariacje; symbole dwumianowe Newtona i ich własności. Algorytmy generujące proste obiekty kombinatoryczne: permutacje, wariacje, podzbiory zbioru; generowanie losowych obiektów kombinatorycznych; złoŜoność obliczeniowa i przykłady zastosowań takich algorytmów. 3. Metody zliczania obiektów: metoda bijektywna; reguła włączania i wyłączania; rekurencja i funkcje tworzące. 4. Elementy teorii grafów: podstawowe pojęcia; minimalne drzewo rozpinające; problem minimalnych odległości; grafy Eulera i Hamiltona, problem komiwojaŜera. Metody oceny Zaliczenie ćwiczeń: ocena bieŜących kolokwiów Egzamin pisemny i ustny Spis zalecanych lektur 1. R.L. Graham, D.E. Knuth, O. Patashnik, Matematyka konkretna, PWN 2006. 2. J. Grygiel, Wprowadzenie do matematyki dyskretnej. Wyd. EXIT 2007. 3. N. Koblitz, Wykład z teorii liczb i kryptografii, WNT 2006. 4. W. Lipski, Kombinatoryka dla programistów, WNT 2007. 5. R. J. Wilson, Wprowadzenie do teorii grafów. PWN 2007. Nazwa przedmiotu PODSTAWY INśYNIERII OPROGRAMOWANIA Kod przedmiotu PIO306 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu podstawowy II, 2 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Marek Wojtylak Programowanie Znajomość tworzenia podstawowych artefaktów wspomagających programowanie. Pisanie dokumentu wymagań, przypadków uŜycia. Umiejętność wizualizacji projektu oprogramowania. Ocena przydatności róŜnych metodologii przy konkretnym projekcie. Umiejętność: oszacowania złoŜoności projektu, zaplanowania testowania nisko- oraz wysokopoziomowego. Treści merytoryczne przedmiotu Zasady projektowania klas i struktur klas. Karty CRC. Analiza wymagań i zapis jej w dokumentach. Zasady tworzenia specyfikacji. Korzystanie z istniejących bibliotek oraz wzorców. Pisanie przypadków uŜycia. RóŜne metodologie programowania – metodyka strukturalna, programowanie obiektowe, XP (programowanie ekstremalne), Rational Unified Process, XPrince. Metodyka testowania – kod źródłowy, moduły, aplikacja, TDD, testowanie ekstremalne, testy akceptacyjne. Narzędzia tworzenia oprogramowania – UML, kontrole wersji (Subversion), wspomaganie testowania. Szacowanie oprogramowania- terminy, koszty. Punkty funkcyjne. Harmonogramy. Iteracyjne podejście do tworzenia oprogramowania. Refaktoryzacja. Metody oceny Przygotowanie fragmentów projektu systemu informatycznego – specyfikacje wymagań, przypadki uŜycia, diagramy klas, sekwencji w UML. Egzamin ustny – obrona projektu. Spis zalecanych lektur 1.S. McConnell, Szacowanie oprogramowania, APN PROMISE, 2006 2. D. Astels, G. Miller, M. Novak, eXtreme programing, Helion, 2002 3. M. Fowler, UML w kropelce, Oficyna Wydawnicza LTP,2005 4. P. Kruchten, Rational Unified Process od strony teoretycznej, WNT, 2007 5. J. Spolsky, Zarządzanie projektami informatycznymi. Subiektywne spojrzenie programisty. Helion, 2005 6. J.R. Richardson, W. A. Gwaltney Jr., Sprzedaj swój program, Helion, 2007 7. I. Somerville, InŜynieria oprogramowania, WNT, 2003 8. A. Cockburn, Jak pisać efektywne przypadki uŜycia, WNT, 2004 Nazwa przedmiotu PODSTAWY LOGIKI I TEORII MNOGOŚCI Kod przedmiotu LTM201 Typ przedmiotu Obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Podstawowy I, 1,2 10 Wykład ćwiczenia 2 godziny tygodniowo 2 godziny tygodniowo 30 tygodni 30 tygodni Polski prof. dr hab. Marek Zaionc Brak Zapoznanie studentów z podstawowymi pojęciami i narzędziami matematyki stosowanymi w informatyce. Wprowadzenie fundamentalnych obiektów matematycznych i ich własności. 1. Rachunek zdań i rachunek predykatów. 2. Aksjomatyka teorii mnogości, aksjomaty sumy, ekstensjonalności, przecięcia, pary. Iloczyn kartezjański, relacje, relacja równowaŜności, rozkłady zbiorów. 3. Konstrukcja von Neumanna liczb naturalnych, twierdzenie o indukcji, własności liczb. Definiowanie przez indukcje. Zasada minimum, Zasada maksimum. 4. Konstrukcja liczb całkowitych, działania na liczbach całkowitych. Konstrukcja liczb wymiernych. 5. Konstrukcja Cantora liczb rzeczywistych, działania i porządek. 6. Funkcje, twierdzenie o faktoryzacji. Obrazy i przeciwobrazy zbiorów. 7. Teoria mocy. Zbiory przeliczalne, własności. Zbiór liczb całkowitych i wymiernych jest przeliczalny. Zbiór liczb rzeczywistych jest nieprzeliczalny. Zbiory {0, 1}N i NN nie są przeliczalne. 8. Zbiór 2N _ R. Twierdzenie Knastera – Tarskiego (dla zbiorów). 9. Lemat Banacha. Twierdzenie Cantora-Bernsteina, (warunki równowaŜne). Twierdzenie Cantora. Zbiory mocy kontinuum. 10. Zbiory uporządkowane. Lemat Kuratowskiego Zorna. Przykłady dowodów przy pomocy lematu. 11. Zbiory dobrze uporządkowane. Twierdzenie o indukcji. Liczby porządkowe. 12. Zbiory liczb porządkowych. Twierdzenie o definiowaniu przez indukcje pozaskończonej. Twierdzenie Zermelo. Metody oceny Spis zalecanych lektur Przedmiot jest prowadzony przez dwa semestry. Po semestrze pierwszym zaliczenie. Po semestrze drugim zaliczenie i egzamin pisemny. 1. K. Kuratowski, Wstęp do teorii mnogości i topologii. 2. H. Rasiowa, Wstęp do matematyki współczesnej, PWN 1971, 1984, 1998. 3. K. Kuratowski, A. Mostowski, Teoria mnogości, PWN 1978. 4. Wykłady ze Wstępu do teorii mnogości z UW autor: prof. Jerzy Tiuryn. 5. Wykłady ze "Wstępu do teorii mnogości" z UW autor: prof. Paweł Urzyczyn. 6. Wykład "Logika dla informatyków z UWr autor: prof. Leszek Pacholski. 7. Materiały dydaktyczne przygotowane w ramach projektu Opracowanie programów nauczania na odległość na kierunku studiów wyŜszych – Informatyka. Nazwa przedmiotu PODSTAWY METOD PROBABILISTYCZNYCH Kod przedmiotu PMP205 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy II, 2 6 wykład ćwiczenia 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Katarzyna Horbacz brak Umiejętność obliczania prawdopodobieństwa zdarzeń. Umiejętność konstruowania prostych zjawisk losowych, w tym modelu doświadczeń niezaleŜnych, schematu Bernoulliego. Określania zmiennych losowych, wyznaczania ich rozkładów (dystrybuant), wartości oczekiwanej, wariancji i odchylenia standardowego. Przeprowadzanie prostego wnioskowania statystycznego. Pojęcie prawdopodobieństwa, przestrzeń zdarzeń, prawdopodobieństwo warunkowe i całkowite, wzór Bayesa, niezaleŜność zdarzeń. Pojęcie zmiennej losowej, jej rozkład i parametry rozkładu (dystrybuanta, wartość średnia, wariancja, odchylenie standardowe, momenty). Zmienne losowe dyskretne rozkłady: Bernoulliego, binomialny, geometryczny, Poissona. Zmienne losowe ciągłe, rozkłady: jednostajny, wykładniczy, gamma, normalny, beta. Rozkład zmiennych losowych wielowymiarowych (rozkład dwuwymiarowy, rozkład warunkowy, niezaleŜność dwóch zmiennych losowych). Macierze kowariancji i korelacji. Prawa wielkich liczb, centralne twierdzenie graniczne. Podstawowe pojęcia statystyki: populacja, próbka, statystyka, estymator. Rozkłady próbkowe (χ2 , tStudenta, F-Snedecora). Estymacja parametryczna i nieparametryczna. Estymacja punktowa i przedziałowa. Testowanie hipotez statystycznych i przedziały ufności. Przykłady zastosowań, symulacje, testy permutacyjne. Metody oceny Spis zalecanych lektur Egzamin pisemny z zadań i z teorii 1. J. Jakubowski, R. Sztencel, Rachunek prawdopodobieństwa dla prawie kaŜdego, Script, 2006. 2. A. Plucińska, E. Pluciński, Probabilistyka. Rachunek prawdopodobieństwa, statystyka matematyczna, procesy stochastyczne, PWN, 2000. 3. W. Krysicki i współautorzy, Rachunek prawdopodobieństwa i statystyka matematyczna w szadaniach, część I i II, Wydawnictwo Naukowe PWN, 2004. Nazwa przedmiotu PODSTAWY SZTUCZNEJ INTELIGENCJI Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne obowiązkowy podstawowy II, 1 6 wykład 2 godziny tygodniowo 15 tygodni laboratorium 2 godziny tygodniowo 15 tygodni polski dr Adrian Bruckner brak Cele przedmiotu Przedstawienie podstawowych metod sztucznej inteligencji, w tym konstruowania systemów ekspertowych, pozyskiwania i zapisu wiedzy, technik wnioskowania, przeszukiwania przestrzeni stanów oraz uczenia maszynowego. Treści merytoryczne przedmiotu Wprowadzenie w podstawowe zagadnienia sztucznej inteligencji, wskazanie zakresu badań nad sztuczną inteligencją. Sformułowanie zadania wnioskowania. Systemy ekspertowe – budowa bazy wiedzy, baza wiedzy z ograniczeniami. Systemy ekspertowe dokładne i przybliŜone. Wnioskowanie w przód i wstecz Wnioskowanie w deklaratywnym języku PROLOG, przykładowe predykaty. Budowa i przykłady systemów automatycznego wnioskowania. Zadanie przeszukiwania przestrzeni stanów. Pojęcie stanu początkowego, operatora stanów, stanu końcowego. Wnioskowanie, jako zadanie przeszukiwania, strategie przeszukiwania w głąb i wszerz, wybrane strategie przeszukiwania. heurystycznego, algorytm przeszukiwania z nawrotami. Strategie gier dwuosobowych, algorytm min max, przycinanie alfa-beta. Uczenie maszynowe, omówienie zasady uczenia z nauczycielem, ocena wyniku uczenia nadzorowanego, walidacja. Pojęcie funkcji błędu, problem generalizacji, rola zbioru trenującego, testowego. Uczenie klasyfikacji. Sztuczne sieci neuronowe. Metody uczenia perceptronu wielowarstwowego, algorytm wstecznej propagacji błędu. Funkcje aktywacji. Sieci neuronowe dla problemów klasyfikacji. Metody oceny Spis zalecanych lektur Egzamin pisemny i ustny z zadań i teorii. 1. G. Luger: Artificial Intelligence: Structures and Strategies for Complex Problem Solving, AddisonWesley, 2005. 2. Cichosz: Systemy uczące się, WNT 2007. 3. A. Niederliński: Regułowe systemy ekspertowe, Wyd. Pracowni Komputerowej Jacka Skalmierskiego, 2000. 4. J. śurada, M. Barski, M. Jędruch: Sztuczne sieci neuronowe, PWN 1996. Nazwa przedmiotu PRAWO INFORMATYCZNE Kod przedmiotu ABC123 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur podstawowy III, 5 2 wykład 2 godziny tygodniowo 15 tygodni polski dr Małgorzata Gajos brak Celem przedmiotu jest zapoznanie studentów z podstawami prawa informatycznego, zasadami przetwarzania i ochrony informacji w społeczeństwie informacyjnym i dobie szybkiego rozwoju technologii informatycznych i technik porozumiewania się. Podstawowe wiadomości z teorii prawa. Przepisy i źródła prawa informatycznego. Prawna ochrona programów komputerowych (programy komputerowe (PK) i systemy ich ochrony prawnej, autorskoprawna ochrona PK, ochrona PK na gruncie prawa własności przemysłowej, ochrona PK na gruncie kodeksu cywilnego, ochrona PK w świetle prawa międzynarodowego). Prawna ochrona informacji i baz danych (przestępstwa przeciwko ochronie informacji, ochrona baz danych). Prawna ochrona topografii układów scalonych. Prawo a Internet (prawne uwarunkowania rozwoju Internetu, ochrona domen internetowych, przestępczość w sieciach). Umowy z zakresu informatyki. Egzamin pisemny 1. Barta J., Czajkowska-Dąbrowska M., Ćwiąkalski Z., Markiewicz R., Traple E.: Prawo autorskie i prawa pokrewne. Komentarz. Zakamycze 2005. 2. Barta J., Markiewicz R.: Prawo i Internet. 2000. 3. Fischer B., Skruch M., Szewczyk P.: Wzory umów w prawie komputerowym. Zakamycze 2002. 4. Fisher B.: Przestępstwa komputerowe i ochrona informacji. Zakamycze 2000. 5. Hoc S.: Karnoprawna ochrona informacji. Uniwersytet Opolski. Studia i Monografie nr 410. 2009. 6. Kuś I., Senda Z.: Prawo autorskie i prawa pokrewne. Poradnik przedsiębiorcy. Polska Agencja Rozwoju Przedsiębiorczości, 2004. 7. Matlak A.: Prawo autorskie w społeczeństwie informacyjnym. Zakamycze 2004. 8. Szewc A., JyŜ G.: Ochrona programów komputerowych, informacji i baz danych. 2001. Nazwa przedmiotu PROGRAMOWANIE Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur obowiązkowy podstawowy I, 1,2 7 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 30 tygodni 30 tygodni polski dr Marek Wojtylak brak Umiejętność przeglądu prostych kodów. Pisanie, uruchamianie oraz testowanie prostych programów zawierających kilka funkcji z rozdzieleniem interfejsu od implementacji. Umiejętność przeglądu kodów prostych programów obiektowych z dziedziczeniem i polimorfizmem. Pisanie, uruchamianie oraz testowanie prostych programów zawierających, co najmniej jedną klasę z róŜnymi konstruktorami, funkcjami operatorowymi. Umiejętność dostrzegania potencjalnych klas w róŜnych dziedzinach problemu. Projektowanie klasy wraz z jej funkcjonalnością. Pisanie, uruchamianie oraz testowanie prostych programów zawierających kilka klas w tym form. Obiekty, ich typy, toŜsamość, stan. Tworzenie i niszczenie obiektów – dynamiczne i automatyczne. Agregacje obiektów. Konstrukcje programistyczne w językach Pascal, C. Implementacje prostych algorytmów – sortowanie, wyszukiwanie. Algorytmy iteracyjne – metoda Newtona, przybliŜone rozwiązywanie równań. Podprogramy – funkcje, procedury, wywoływanie, przekazywanie argumentów, zgodność typów. Projektowanie nagłówków funkcji. PrzeciąŜanie. Zasady testowania programów, przeglądy kodu, test czarnej skrzynki. Algorytmy (podprogramy) rekurencyjne – porównanie z iteracyjnymi. Tworzenie własnych list. Algorytmy typu „dziel i zwycięŜaj”. Tworzenie własnych typów. Obiekty – atrybuty, funkcjonalność. Klasa jako projekt obiektu – pola metody, hermetyzacja. Struktury klas – dziedziczenie, zestawienie, powiązania. Działania na obiektach język C++, Konstrukcja, destrukcja, inicjacja, kopiowanie, przypisanie, konwersja typu, funkcje operatorowe. Wielokrotne wykorzystanie kodu – biblioteki, interfejsy, polimorfizm. Wyjątki i ich obsługa. Szablony, wzorce. Projektowanie interfejsu uŜytkownika. Programowanie zdarzeniowe – zdarzenia, komunikaty i ich obsługa. Programowanie na platformie .NET, język C#. Kolekcje – metody i obszary wykorzystania. Egzamin pisemny i ustny z zakresu umiejętności czytania kodu, inspekcji kodu, projektowania klasy. Napisanie prostej funkcji. Zaprojektowanie nagłówków funkcji. 1. N. Wirth, Algorytmy+Struktury danych =Programy, WNT, 2004 2. B. W. Kerningham, D.M. Ritchie, Język ANSI C, WNT, 2004 3. G. J. Myers, C. Handler, T. Badgett, Todd M. Thomas, Sztuka testowania oprogramowania, Helion, 2005 4. M. Howard, D. LeBlanc, J. Viega, 19 grzechów śmiertelnych Jak naprawić najczęstsze usterki oprogramowania, PWN, 2006 5. Barr, Sztuka analizowania kodu, Helion, 2005 6. B. Stroustrup, Język C++ Wydanie VII, WNT, 2004 7. A. Jones C# Księga przykładów, APN Promise,2005 8. J. Liberty, Programowanie C#, Helion, 2006 9. J. Albahari, B. Albahari C# 3.0 Leksykon kieszonkowy Wydanie II, Helion, 2008 Nazwa przedmiotu PROJEKT ZESPOŁOWY Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu obowiązkowy podstawowy II, 2 4 laboratorium 3 godziny tygodniowo 15 tygodni polski prof. dr hab. Lesław Socha Znajomość analizy matematycznej, algebry liniowej, rachunku prawdopodobieństwa, podstaw informatyki, modelowania zjawisk fizycznych, elementów sztucznej inteligencji, programowania w C, C++, umiejętność z korzystania z bibliotek graficznych, tworzenia stron internetowych Nabycie umiejętności pracy w kilkuosobowym zespole przy rozwiązywaniu zadań informatycznych. Nabycie umiejętności opracowania dokumentacji projektu. Omówienie podstawowych etapów realizacji projektów Zapoznanie z typowymi realizacjami projektów studenckich Omówienie sposobu dokumentowania projektu Na zajęciach studenci pracują w zespołach nad projektem. Okresowo zespoły prezentują i poddają pod dyskusję na forum grupy w obecności prowadzącego zajęcia stan zaawansowania realizacji projektu. Metody oceny Spis zalecanych lektur Oddanie projektu w postaci prezentacji programu oraz opracowania pisemnego i zdanie ustne (odpowiedź na pytania dotyczące fragmentów kodu programu) Dla poszczególnych projektów prowadzący podaje zalecaną literaturę. Nazwa przedmiotu PROSEMINARIUM Kod przedmiotu ABC123 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur podstawowy III, 5 4 seminarium 2 godziny tygodniowo 15 tygodni polski prof. dr hab. Marek Zaionc, prof. dr hab. Leszek Socha, dr hab. Marek Siemaszko, prof. UŚ brak Nauka umiejętności opracowania i przedstawienia w formie komputerowej prezentacji referatu o tematyce informatycznej. Studenci przedstawiają na forum grupy referaty (w formie komputerowej prezentacji multimedialnej) na zaproponowany przez siebie temat z zakresu informatyki. Po wygłoszeniu referatu odbywa się dyskusja nad treścią merytoryczną oraz formą zademonstrowanej prezentacji. Studenci zobowiązani są do dostarczenia prowadzącemu seminarium wersji drukowanej referatu. Ocena jest wypadkową następujących składników: zawartość merytoryczna, forma prezentacji, jakość przekazu, jakość wersji drukowanej. 1. T. Negrino: Prezentacje w PowerPoint 2007 PL. Projekty, Helion, 2008. 2. E. śurek: Sztuka prezentacji, czyli jak przemawiać obrazem, Wyd. Poltext, 2008. 3. E. śurek: Sztuka wystąpień, czyli jak mówić, by osiągnąć cel, Wyd. Poltext, 2004. Nazwa przedmiotu SEMINARIUM DYPLOMOWE Kod przedmiotu ABC123 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur podstawowy III, 6 10 seminarium 2 godziny tygodniowo 15 tygodni polski prof. dr hab. Marek Zaionc, dr hab. Marek Siemaszko, prof. UŚ brak Przygotowanie studentów do egzaminu dyplomowego. Studenci wygłaszają na forum grupy referaty na tematy wybrane z listy zaproponowanej przez prowadzącego seminarium. Tematy obejmują zagadnienia wchodzące w skład treści programowych realizowanych w trakcie studiów w ramach przedmiotów obowiązkowych. Studenci zobowiązani są do dostarczenia prowadzącemu seminarium wersji drukowanej referatu. Ocena jest wypadkową następujących składników: zawartość merytoryczna referatu, forma prezentacji, jakość przekazu, jakość wersji drukowanej. (5) Nazwa przedmiotu SIECI KOMPUTEROWE Kod przedmiotu SKO310 Typ przedmiotu Obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Podstawowy II, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni Polski dr Joachim Włodarz Architektura Komputerów Przedstawienie struktury i zasad funkcjonowania sieci komputerowych z uwypukleniem warstwowej organizacji. Dyskusja kluczowych algorytmów i protokołów, istotnych dla poprawnego funkcjonowania sieci i zapewnienia odpowiedniej wydajności pracy. Wprowadzenie do programowania sieciowego. Wstęp: wykorzystanie sieci komputerowych, sprzęt i oprogramowanie sieciowe, usługi i protokoły sieciowe, warstwowa organizacja systemów sieciowych, model referencyjny ISO OSI, standaryzacja rozwiązań sieciowych. Komunikacja w warstwie fizycznej: podstawy teoretyczne, media komunikacyjne i transmisja sygnałów, połączenia kablowe elektryczne oraz optyczne, komunikacja radiowa, optyczna komunikacja bezprzewodowa, wielkoskalowe i globalne infrastruktury komunikacyjne Warstwa łącza: abstrakcja kanału komunikacyjnego, pakiety danych i ramkowanie, protokoły i usługi warstwy łącza, wykrywanie i korekcja błędów, sterowanie dostępem do medium, mostowanie i przełączanie, wybrane technologie (Ethernet, WiFi, Bluetooth). Warstwa sieci: abstrakcja komunikacji host-to-host, usługi warstwy sieci, sieci datagramowe, sieci obwodów wirtualnych. algorytmy trasowania i sterowania ruchem, sterowania obciąŜeniem oraz jakością usług, internetowa implementacja warstwy sieci, protokół IP. Warstwa transportu: abstrakcja komunikacji jednostka-jednostka, usługi warstwy transportu, transmisja połączeniowa i bezpołączeniowa, zwielokrotnianie połączeń, sterowanie przepływnością oraz obsługą błędów, internetowa implementacja warstwy transportu, protokoły TCP i UDP. Warstwa aplikacji: usługi nazewnicze i katalogowe, system nazw domenowych (DNS), protokoły i usługi globalnej sieci, usługi zorientowane plikowo, poczta elektroniczna, rozproszone systemy komputerowe i middleware, grid/cloud computing. Bezpieczeństwo i ochrona danych: środowisko sieciowe a zagroŜenia bezpieczeństwa, bezpieczeństwo komunikacji, mechanizmy ochrony i kryptografia, zapory ochraniające sieci oraz pojedyncze systemy, złośliwe oprogramowanie sieciowe i środki przeciwdziałania, kryteria i standardy bezpieczeństwa. Metody oceny Spis zalecanych lektur Egzamin pisemny (test komputerowy), zaliczenie laboratorium 1. A. S. Tanenbaum, Sieci Komputerowe, Helion, 2004. 2. J.F. Kurose, K.W. Ross, Sieci Komputerowe, Helion, 2006. 3. R. Perlman, Interconnections, 2nd Ed., Addison Wesley, 2000. Nazwa przedmiotu SYSTEMY OPERACYJNE Kod przedmiotu SOP304 Typ przedmiotu Obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Podstawowy II, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni Polski dr Joachim Włodarz Architektura Komputerów Cele przedmiotu Zapoznanie słuchaczy z wiedzą odnośnie budowy i funkcjonowania współczesnych systemów operacyjnych, z dyskusją wybranych algorytmów istotnych dla poprawnego działania i osiągnięcia odpowiedniej wydajności. Wprowadzenie do programowania systemowego. Treści merytoryczne przedmiotu Wstęp: system operacyjny, jako rozszerzenie sprzętu i zarządca zasobów, ewolucja i taksonomia, podstawowe pojęcia i abstrakcje, odwołania systemowe i struktura wewnętrzna, przykładowe realizacje systemów operacyjnych Procesy i wątki: aktywne jednostki systemowe, komunikacja międzyprocesowa, szeregowanie. Zasoby i zakleszczenia: pasywne jednostki systemowe, zakleszczenia: wykrywanie i odtwarzanie, unikanie i zapobieganie, zagłodzenie. Zarządzanie pamięcią: podstawowe metody, segmentacja, wymiana i stronicowanie, pamięć wirtualna, algorytmy zamiany stron, zagadnienia implementacyjne. Zarządzanie wejściem/wyjściem: zagadnienia sprzętowe i programowe, warstwowa struktura obsługi wejścia/wyjścia, urządzenia zorientowane znakowo blokowo i pakietowo, urządzenia dyskowe, Systemy plikowe: pliki, jako abstrakcje zbiorów danych, systemy katalogowe, przykładowe implementacje. Obsługa multimediów: wprowadzenie, szeregowanie przetwarzania, składowanie i pamięć podręczna. Systemy wieloprocesorowe: wsparcie sprzętowe, synchronizacja i szeregowanie. Metody oceny Spis zalecanych lektur Egzamin pisemny (test komputerowy), zaliczenie laboratorium 1. A. Silberschatz, P. Galvin, G. Gagne, Podstawy systemów operacyjnych, WNT, 2006. 2. A.S. Tanenbaum, Modern Operating Systems, 3rd Ed., Prentice Hall, 2007. 3. A. S. Tanenbaum, A. W. Woodhull, Operating Systems: Design and Implementation, 3rd Ed., Prentice Hall, 2006. Nazwa przedmiotu WSTĘP DO INFORMATYKI Kod przedmiotu WIN312 Typ przedmiotu obowiązkowy Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy I, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Joachim Włodarz Brak Przegląd najbardziej istotnych zagadnień związanych z informatyką, wprowadzenie do efektywnego wykorzystania systemów komputerowych i sieciowych Wstęp: zarys historyczny, podstawowe pojęcia i metodologia, informatyka w nauce i technologii, aspekty społeczne, etyczne i prawne Podstawy: dane, przetwarzanie danych, algorytmy, koncepcja języka programowania, paradygmaty programowania, abstrakcja i modelowanie, obliczenia numeryczne i symboliczne. Systemy komputerowe: koncepcja, organizacja i funkcjonowanie, wybrane realizacje, komputery osobiste, wirtualizacja Oprogramowanie: systemy operacyjne i oprogramowanie systemowe, oprogramowanie narzędziowe i uŜytkowe, aplikacje uŜytkownika, interfejs programisty, interfejs uŜytkownika Dane: organizacja, zagadnienia wymiany i udostępniania, rekordy, pliki i systemy plikowe, bazy danych i ich eksploracja, udostępnianie sieciowe, bezpieczeństwo danych. Technologie sieciowe: organizacja i funkcjonowanie sieci komputerowych, sieci lokalne i rozległe, Internet, typowe usługi sieciowe, zagroŜenia bezpieczeństwa. Metody oceny Spis zalecanych lektur Egzamin pisemny (test komputerowy), zaliczenie laboratorium. 1. A. Kisielewicz, Wprowadzenie do informatyki, Helion, 2002. 2. J.G. Brookshear, Informatyka w ogólnym zarysie, WNT 2003. 3. A. Tanenbaum, Strukturalna organizacja systemów komputerowych, Helion, 2006. II (B) Opisy przedmiotów do wyboru Nazwa przedmiotu ALGORYTMY I STRUKTURY DANYCH II Kod przedmiotu PSW601.3 Typ przedmiotu do wyboru Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu podstawowy III, 2 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Michał Baczyński Algorytmy i struktury danych Efekty kształcenia - umiejętności i kompetencje: - implementowania omawianych struktur danych w wybranym języku algorytmicznym wysokiego poziomu; - zapisywania i analizowania złoŜonych algorytmów; - modelowania problemów praktycznych w języku teorii grafów; - rozumienia wpływu doboru struktur danych i algorytmów na czas działania programów komputerowych; - wyznaczania górnego ograniczenia złoŜoności wybranych problemów. Treści merytoryczne przedmiotu Implementacja wybranych algorytmów omawianych w trakcie przedmiotu "Algorytmy i struktury danych". ZrównowaŜone drzewa BST: drzewa AVL, drzewa czerwono-czarne. Programowanie dynamiczne. Wybrane algorytmy grafowe; problem najkrótszych dróg (algorytm Dijkstry, algorytm BellmanaForda, algorytm Floyda-Warshalla). Problem wyszukiwania wzorca: analiza wybranych algorytmów (algorytm Rabina-Karpa, algorytm Knutha-Morrisa-Prata, algorytm bazujący na automacie skończonym). Wybrane zagadnienia geometrii obliczeniowej: przecinanie odcinków, wyznaczanie otoczki wypukłej, problem najmniej odległej pary punktów. W trakcie ćwiczeń, które będą odbywały się w pracowni komputerowej, studenci będą mieli moŜliwość napisania programów wykorzystujących omawiany materiał. W szczególności planowane jest korzystanie z serwisów Internetowych pozwalających na testowanie swoich programów. Metody oceny Spis zalecanych lektur Egzamin ustny z teorii, sprawozdanie pisemne z implementacji wybranych problemów. 1. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów, WNT, 2007 (wyd. 8). 2. A.V. Aho, J.E. Hopcroft, J.D. Ullman, Algorytmy i struktury danych, Helion, 2003. 3. L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, WNT, 2006 (wyd. 5). 4. R. Sedgewick, Algorytmy w C++. Grafy, Wydawnictwo ReadMe, 2003. 5. S.S. Skiena, M.A. Revilla, Wyzwania programistyczne, WSiP, 2004. Nazwa przedmiotu ANALIZA I PRZETWARZANIE OBRAZÓW CYFROWYCH Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu do wyboru podstawowy III, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski prof. dr hab. Lesław Socha znajomość analizy matematycznej, algebry liniowej, rachunku prawdopodobieństwa, podstaw informatyki. Zapoznanie się z podstawowymi metodami analizy obrazów, opracowywania filtrów obrazów dla określonych potrzeb, metod rozpoznawania obrazów. 1. Modelowanie obrazów cyfrowych, modele pikseli, notacja algorytmiczna dla pikseli i dla przeglądu obrazu, miary bliskości obrazów cyfrowych. 2. Przeglądanie obrazu cyfrowego, krzywa geoff, krzywa Hilberta. 3. Transformaty Fouriera, jednowymiarowe ciągłe i dyskretne transformaty Fouriera, dwuwymiarowe ciągłe i dyskretne transformaty Fouriera, 4. Interpolacja obrazu cyfrowego, zagadnienie interpolacji obrazu cyfrowego, interpolacja przez powielanie, pokryciowa, dwuliniowa, przekształcenie afiniczne obrazów cyfrowych. 5. Kwantyzacja skalarna obrazów cyfrowych, wtórna kwantyzacja skalarna, kwantyzacja równomierna i nierównomierna. 6. Binaryzacja obrazów cyfrowych, metoda tablic progowych, metody dyfuzji błędu. 7. Metody filtracji obrazów, filtry dolno i górnoprzepustowe, filtry nieliniowe. 8. Algorytmy wykrywania krawędzi, filtry kombinowane, algorytmy oparte na operatorze Gaussa 9. Metody szkieletyzacji, metody ścieniania, wypalania trawy, metoda MAT. 10. Metody rozpoznawania obrazów, klasyfikacja metod rozpoznania, metody minimalnoodległościowe, metody aproksymacyjne, metody probabilistyczne, metody ciągowe. Metody oceny Spis zalecanych lektur Egzamin pisemny i ustny z zadań i teorii. 1. W. Skarbek, Metody reprezentacji obrazów cyfrowych, seria Problemy współczesnej nauki, Teoria i zastosowania, Informatyka, Akademicka Oficyna Wydawnicza PLJ, 1993. 2. W. Malina, M. Smiatacz, Metody cyfrowego przetwarzania obrazów, seria Problemy współczesnej nauki, Teoria i zastosowania, Informatyka, Akademicka Oficyna Wydawnicza PLJ, 2005. 3. R. Tadeusiewicz, M. Flasiński, Rozpoznawanie obrazów, seria Współczesna Nauka i Technika, Informatyka, PWN, 1991. Nazwa przedmiotu BAZY DANYCH II Kod przedmiotu PSW601.1 Typ przedmiotu fakultatywny Poziom przedmiotu podstawowy Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu III, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Rafał Tyrala Zalecana wiedza z przedmiotu „Bazy danych”. Pogłębienie wiedzy z zakresu tworzenia baz danych, rozszerzenie (na przykładzie bazy Oracle ) języka SQL o język programowania bazy PL/SQL. Wprowadzenie w zagadnienia optymalizacji i analizy zapytań, oraz w tematykę bezpieczeństwa przechowywania danych. Architektura systemu zarządzania bazą danych, fizyczna struktura bazy, przechowywanie danych. Język SQL i PL/SQL w bazie Oracle Awarie i uszkodzenia systemu i metody odtwarzania danych. Typy indeksów, haszowanie. Optymalizacja zapytań – szacowanie kosztu operacji, plan zapytania. Zarządzanie transakcjami – zatwierdzanie i wycofywanie, problem zakleszczeń, transakcje rozproszone. Sterowanie współbieŜnością – konflikty, blokowanie, znaczniki czasowe. Rozmyte bazy danych. Metody oceny Spis zalecanych lektur Egzamin pisemny z zadań i teorii 1. H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa 2003. 2. C.J. Date, Wprowadzenie do systemów baz danych, WNT, Warszawa 2000. 3. J.D. Ullman, J. Widom, Podstawowy wykład z systemów baz danych, WNT, Warszawa 2000. 4. K. Loney, Oracle database 10g, Kompendium administratora, Helion 2005. 5. E. Honour, P. Dalberth, A. Kaplan, A. Mehta, Oracle w zadaniach, Robomatic 2001. Nazwa przedmiotu HURTOWNIE DANYCH Kod przedmiotu Typ przedmiotu fakultatywny Poziom przedmiotu podstawowy Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur III, 2 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Marek Wojtylak Bazy danych Umiejętność analizy problemów związanych z istniejącymi bazami danych pod kątem korzyści z zastosowania hurtowni danych. Umiejętność projektowania efektywnych hurtowni danych i wykorzystywania do eksploracji danych. Znajomość podstawowych zasad dotyczących optymalizacji i utrzymywania hurtowni danych oraz ocena ich jakości. Typowe architektury hurtowni danych. Wielowymiarowy model analizy. Model danych OLAP (On Line Analitycal Processing) i jego rozszerzenia (ROLAP, MOLAP). Tworzenie i konserwacja hurtowni danych. Kostki danych, wymiary i atrybuty. Agregacja i podział danych. Systemy wspomagania decyzji. Elementy SQL. Przetwarzanie i optymalizacja zapytań wielowymiarowych. Metadane. Zastosowania hurtowni danych. Odkrywanie wiedzy, eksploracja danych. Analiza danych czasowych. Tablica decyzyjna. Systemy tworzenia hurtowni danych. Hurtownie danych w praktyce: SQL Server 2008. Przygotowanie hurtowni danych i róŜnych analiz z jej wykorzystaniem. Egzamin ustny: prezentacja i obrona projektu. 1. C. Todman, Projektowanie hurtowni danych. WNT, Warszawa 2003. 2. M. Jarke, M. Lenzerini, Y. Vassiliou, P. Vassiliadis, Hurtownie danych. Podstawa organizacji i funkcjonowania. WSiP, Warszawa 2003. 3. J. Sturm, Microsoft SQL Server 7.0. Hurtownie danych, APN Promise, 2000 4. V. Poe, P. Klauer, S. Brobst. Tworzenie hurtowni danych. WNT, Warszawa 2000. 5. D. Mendrala, P. Potasiński, M. Szeliga, D. Widera., Serwer SQL 2008. Administracja i programowanie , Helion, 2009 Nazwa przedmiotu INFORMATYCZNE WSPOMAGANIE DECYZJI GOSPODARCZYCH Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne do wyboru podstawowy III, 2 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Damian Brückner brak Cele przedmiotu Przedstawienie moŜliwości programu Excel, w tym narzędzi Solver i Analysis ToolPak, przydatnych do wspomagania decyzji gospodarczych. Treści merytoryczne przedmiotu Elementy matematyki finansowej. Wykorzystanie narzędzi programu Excel takich jak tabela przestawna, filtr zaawansowany oraz wbudowanych funkcji przy obliczeniach związanych z analizą czasu pracy, wartością pracy, wartością sprzedaŜy, podatkami, kursem walut, kursami akcji oraz z wartością pieniądza w czasie w tym: kapitalizacją, dyskontowaniem, rachunkiem rentowym. Wykorzystania narzędzia Solver przy wyznaczaniu maksymalnego zysku i minimalizacji kosztów. Analiza typu, co-jeśli. Formatowanie warunkowe. MenedŜer scenariuszy. Szukanie wyniku. Obliczenia na datach. Graficzne przedstawianie danych. Wykorzystanie funkcji tablicowych. Zastosowania regresji liniowej do prognozowania gospodarczego i wyznaczania trendów przy wykorzystaniu narzędzia Analysis ToolPak dostępnego w Excelu. Metody oceny Spis zalecanych lektur Egzamin praktyczny - rozwiązywanie zadań przy pomocy komputera. 1. M. Sobczyk, Matematyka Finansowa. Podstawy teoretyczne, przykłady, zadania, Agencja wydawnicza Placet, 2001. 2. J. Walkenbach, Excel 2003 PL. Biblia, Helion, 2004. 3. K. Masłowski, Excel 2003 PL. Ćwiczenia zaawansowane, Helion, 2004. Nazwa przedmiotu KRYPTOGRAFIA I BEZPIECZEŃSTWO KOMPUTEROWE Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu do wyboru podstawowy II, 2 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Mieczysław Kula Matematyka dyskretna Opanowanie umiejętności: rozpoznawania zagroŜeń bezpieczeństwa informacji znajdowania skutecznych metod usuwania tych zagroŜeń; korzystania z wyspecjalizowanych narzędzi kryptograficznych i tworzenia implementacji prostych algorytmów szyfrujących; 1. Bezpieczeństwo informacji - zagroŜenia i mechanizmy ochrony. 2. Pojęcie systemu kryptograficznego, rodzaje systemów kryptograficznych. 3. Proste algorytmy szyfrowania. 4. Elementy kryptoanalizy. 5. Szyfr Vernama i poufność doskonała. 6. Szyfr AES, RC4 i inne algorytmy symetryczne. 7. Funkcje jednokierunkowe i algorytmy asymetryczne. 8. Zarządzanie kluczami, sterowanie dostępem. 9. Protokoły zapewniające autentyczność i integralność danych. 10. Funkcje skrótu, podpisy cyfrowe. 11. Protokoły z wiedzą zerową. 12. Wybrane zastosowania praktyczne: - protokoły SSL, Kerberos; - regulacje prawne; - bezpieczeństwo transakcji internetowych. Metody oceny Zaliczenie ćwiczeń: ocena zadań programistycznych Egzamin ustny. Spis zalecanych lektur 1. N. Koblitz; Wykłady z kryptografii i teorii liczb. WNT 2006. 2. A.J. Menezes, P. van Oorschot, S. Vanstone; Kryptografia stosowana. WNT 2005. 3. D. Pipkin; Bezpieczeństwo informacji. WNT 2002. 4. D. E. Robling-Denning; Kryptografia i ochrona danych. WNT 1992. 5. B. Schneier; Kryptografia dla praktyków. Protokoły, algorytmy i programy źródłowe w języku C. WNT 2002. 6. Źródła internetowe. Nazwa przedmiotu KURS ADMINISTROWANIA BAZAMI DANYCH Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu do wyboru Podstawowy III, 2 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni Polski dr Andrzej Grzybowski Zaliczenie przedmiotu Bazy danych i ewentualnie Bazy danych II Przekazanie podstawowej wiedzy o systemie zarządzania bazą danych (SZBD) na przykładzie systemu baz danych Oracle w oparciu o jego powszechnie stosowaną wersją z uwzględnieniem wiadomości takŜe o jego najnowszym wydaniu. Nabycie przez studentów praktycznych umiejętności, dających solidne podstawy do administrowania złoŜonymi systemami składowania danych, co w efekcie powinno umoŜliwić im spełnienie oczekiwań pracodawców w tym zakresie. Treści merytoryczne przedmiotu Architektura SZBD Oracle – struktury logiczne i fizyczne Wykorzystanie narzędzi Oracle SQL Plus i Oracle Enterprise Manager w zagadnieniach administracyjnych Instalacja SZBD Oracle w systemach operacyjnych Windows i Linux Tworzenie baz danych - takŜe z wykorzystaniem narzędzia Oracle Database Configuration Assistant Konfiguracja komunikacji sieciowej - takŜe z wykorzystaniem Oracle Net Configuration Assistant Zarządzanie przestrzeniami tabel i plikami bazy danych Zarządzanie schematami uŜytkowników - ich obiektami, przywilejami i rolami Zarządzanie transakcjami - takŜe z wykorzystaniem nowej przestrzeni tabel wycofania (Flashback) Archiwizacja i przywracanie danych – logiczne i fizyczne kopie zapasowe Wykorzystanie narzędzia Recovery Manager (RMAN) do tworzenia fizycznych kopii zapasowych i odtwarzania z nich danych Koncepcja Oracle Data Guard – logiczne i fizyczne zapasowe bazy danych (standby databases), klonowanie bazy danych (duplikat bazy) Metody oceny Spis zalecanych lektur Egzamin pisemny po wcześniejszym zaliczeniu wykonania ćwiczeń laboratoryjnych 1. K. Loney: Oracle Database 10g. Kompendium administratora, Wydawnictwo Helion, 2005. 2. K. Loney, B. Bryla: Oracle Database 10g. Podręcznik administratora baz danych, Wydawnictwo Helion, 2008. 3. M. Hart, R. G. Freeman: Oracle Database 10g. RMAN. Archiwizacja I odzyskiwanie danych, Wydawnictwo Helion, 2008.. 4. R. G. Freeman, A. Nanda: Oracle Database 11g. Nowe moŜliwości, Wydawnictwo Helion, 2009. 5. H. Garcia-Molina, J. D. Ullman, J. Widom: Implementacja systemów baz danych, WNT 2003. Nazwa przedmiotu KURS ADMINISTROWANIA UNIKSOWYMI SYSTEMAMI OPERACYJNYMI Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu do wyboru Podstawowy III, 1 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni Polski dr Joachim Włodarz Systemy Operacyjne, Sieci Komputerowe Zapoznanie słuchaczy z najwaŜniejszymi zagadnieniami związanymi z administrowaniem współczesnymi systemami komputerowymi, pracującymi pod kontrolą uniksowych systemów operacyjnych, z uwypukleniem aspektów praktycznych Wprowadzenie: typowe zadania administratora, zagadnienia natury prawnej, społecznej, etycznej. Przegląd systemów uniksowych: typowe systemy, porównanie funkcjonalności, standaryzacja. Przegląd rozwiązań sprzętowych: typowe podzespoły i konfiguracje, rozwiązania stelaŜowe i kasetowe, redundancja, zdalna administracja sprzętem. Instalacja i uruchamianie: BIOS/EFI, boot manager/leader, system startowy/instalacyjny, przygotowanie pamięci masowej, instalacja i konfiguracja systemu docelowego Zarządzanie oprogramowaniem: pakiety instalacyjne, zaleŜności i konflikty, uaktualnienia i zmiany konfiguracji, deinstalacja, instalacja oprogramowania ze źródeł, sieciowa dystrybucja oprogramowania. Zarządzanie uŜytkownikami: kategorie i profile uŜytkowników, autentykacja i autoryzacja, konfiguracja środowiska pracy Zarządzanie bezpieczeństwem: polityka bezpieczeństwa, monitorowanie pracy systemu i uŜytkowników, wczesne wykrywanie zagroŜeń i prewencja, diagnostyka incydentów, odtwarzanie systemu/danych Zarządzanie usługami: przegląd typowych usług, przykładowe konfiguracje serwerów, zarządzanie obciąŜeniem i dostępnością, zagadnienia związane z bezpieczeństwem Automatyzacja zadań administracyjnych: mechanizmy systemowe (cron, etc.), skrypty (powłoka, Perl, etc.), narzędzia (cfengine, etc.) Zarządzanie duŜymi systemami: organizacja centrum przetwarzania, warunki środowiskowe i zasilanie, bezpieczeństwo i ciągłość pracy Wykorzystanie wirtualizacji: podstawy i typowe rozwiązania, konsolidacja serwerów i usług, optymalizacja wykorzystania sprzętu, migracja aktywnych systemów, wirtualizacja a bezpieczeństwo Metody oceny Spis zalecanych lektur Egzamin pisemny (test komputerowy), zaliczenie laboratorium 1. A. E. Frisch, Essential System Administration, 3rd Ed., OReilly, 2002. 2. E. Nemeth, G. Snyder, T. R. Hein, Linux Administration Handbook, Pearson, 2007. 3. N. Campi, K. Bauer, Automating Linux and Unix System Administration, 2nd Ed., Apress, 2009. 4. M. Burgess, Principles of Network and System Administration, 2nd Ed., Wiley, 2004. 5. T. A. Limoncelli, C. J. Hogan, S. R. Chalup, The Practice of System and Network Administration, 2nd Ed., Addison-Wesley, 2007. Nazwa przedmiotu KURS PROGRAMOWANIE PRZY UśYCIU PAKIETÓW STATYSTYCZNYCH – DATA MINING Kod przedmiotu Typ przedmiotu fakultatywny Poziom przedmiotu podstawowy Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu III, 1 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Seweryn Kowalski brak Celem przedmiotu jest zapoznanie słuchaczy z nowoczesnymi technikami analizy danych oraz sposobów odkrywania wiedzy z danych Pakiety statystyczne są narzędziami do analizy danych, tworzenia wykresów i zarządzania danymi z wykorzystaniem zaawansowanych procedur analitycznych stosowanych w nauce, biznesie i technice. Zawierają równieŜ w sobie narzędzia do tworzenia specjalistycznych aplikacji. W ramach wykładu dokonany zostanie przegląd najwaŜniejszych metod statystycznych analiz danych Poruszane zostają następujące zagadnienia: opis procesu eksploracji danych, czyszczenie danych, eksploracyjna analiza danych, statystyczne narzędzia eksploracji danych, klasyfikacja algorytm k sąsiadów, drzewa decyzyjne, sieci Kohonena, grupowanie, reguły asocjacyjne. Metody oceny Spis zalecanych lektur Egzamin ustny i pisemny 1. Luszniewicz, T. Słaby, Statystyczne analizy z uŜyciem pakietu Statistica PL, WyŜsza Szkoła Prawa i Handlu, 1998. 2. Daniel T. Larose, Odkrywanie wiedzy z danych, Wydawnictwo Naukowe PWN, 2006. 3. David Hand, H. Mannila, P. Smyth, Eksploracja danych, Wydawnictwa Naukowo Techniczne, 2005. 4. Daniel T. Larose, Metody i modele eksploracji danych, Wydawnictwo Naukowe PWN, 2008. Nazwa przedmiotu KURS PROGRAMOWANIA W JĘZYKU JAVA Kod przedmiotu KUW501.1 Typ przedmiotu do wyboru Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu podstawowy III, 1 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski prof. dr hab. Zygmunt Gburski, dr Zbigniew Dendzik brak Opanowanie technologii programowania Java. Szczególny nacisk połoŜony na metody tworzenia aplikacji internetowych. Omawiane są takŜe przykłady programowania urządzeń mobilnych np. telefony komórkowe, z wykorzystaniem środowiska JME (Java Micro Edition). Historia powstania Java, kod źródłowy, kompilacja, kod bajtowy, interpretacja kodu bajtowego, automatyczne tworzenie dokumentacji, debugowanie, maszyna wirtualna JVM, aplikacje, aplety, serwlety, midlety, zestaw JDK, najpopularniejsze środowiska programowania w Javie. Elementy języka Java; typy danych, tablice, instrukcje sterujące, klasy, metody, pakiety, dostępu do pakietu i klasy, klasy i metody abstrakcyjne, interfejsy, przegląd standardowych interfejsów, klasy biblioteczne, hierarchia klas bibliotecznych. Komponenty GUI, prymitywy graficzne, JFC, Swing, Java2D, tworzenie i uŜywanie plików archiwalnych JAR, wyjątki, strumienie danych, obsługa komunikacji sieciowej (pakiet java.net). Programowanie współbieŜne (wielowątkowość). Korzystanie z JDBC (Java Database Connectivity Package). Serwlety, JSP (Java Server Pages). Wprowadzenie do programowania urządzeń mobilnych JME (Java Micro Edition). Metody oceny Spis zalecanych lektur Egzamin testowy 1. B. Eckel, Thinking in Java, Helion, 2006. 2. C. S. Horstmann, G. Cornell, Core Java 2 Podstawy, Helion, 2008. 3. C. S. Horstmann, G. Cornell, Core Java 2, Techniki zaawansowane, Helion, 2008. Nazwa przedmiotu KURS PROGRAMOWANIA W TECHNOLOGII .NET Kod przedmiotu Typ przedmiotu fakultatywny Poziom przedmiotu podstawowy Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne III, 2 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Jolanta Sobera brak Cele przedmiotu Zapoznanie studentów z programowaniem w języku C# z wykorzystaniem narzędzia Visual Studio 2008 – tworzenie aplikacji konsolowych oraz aplikacji Windows Forms. Treści merytoryczne przedmiotu 1. Korzystanie z Visual Studio 2005/2008 (programy konsolowe i aplikacje Windows). Typy danych (referencyjne, wartości, wyliczeniowy). Konwersja typów. Operatory. Operacje we/wy. 2. Instrukcje sterujące. Obsługa wyjątków. Podstawowe kontrolki. 3. Tablice (jedno i wielowymiarowe) 4. Funkcje (definicja, wywołanie metod, wartości zwracane, zmienne współdzielone i lokalne, przesyłanie argumentów do metod, przeciąŜanie metod, utworzenie biblioteki funkcji) 5. Struktury (kolejka FIFO, kolejka LIFO) Pliki i strumienie- aplikacja notatnik 6. Klasy (definicja klasy i instancji, modyfikatory dostępu, operatory) – aplikacja ułamek 7. Dziedziczenie, przeciąŜanie Interfejsy. Polimorfizm 8. Mechanizm drag & drop, aplikacje MDI – aplikacja test 9. Przestrzenie nazw 10. Kolekcje 11. Delegaty i zdarzenia 12. Wątki 13. Połączenie z bazą danych – aplikacja firma Metody oceny Spis zalecanych lektur Przedstawienie rozwiązań zadań zaproponowanych w kursach Wstęp do programowania i Programowanie obiektowe. Samodzielne wykonanie i zaprezentowanie aplikacji zawierającej w/w problemy – tematyka dowolna 1. Wojciech Rutkowski, Łukasz Wiśniwewski, Wstęp do programowania, Microsoft 2006 2. Wojciech Rutkowski, Łukasz Wiśniwewski, Programowanie obiektowe, Microsoft 2006 3. Jacek Matulewski, Visual C# 2005 Express Edition, Helion, 2006 Nazwa przedmiotu KURSN PROJEKTOWANIA I PROGRAMOWANIA PRZY UśYCIU METODOLOGII AGILE Kod przedmiotu Typ przedmiotu fakultatywny Poziom przedmiotu podstawowy Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur III, 2 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Marek Wojtylak Programowanie Pokazanie prostych, efektywnych i pragmatycznych metod tworzenia kodu. Nacisk na stałą współpracę z klientem. Uświadomienie znaczenia testowania i jego planowania. Omówienie najpopularniejszych wzorców projektowych. Przekonanie, Ŝe: programiści i ich dobra współpraca jest waŜniejsza od procesów i narzędzi, działające oprogramowanie jest waŜniejsze od wyczerpującej dokumentacji, elastyczność waŜniejsza od konsekwencji. Praktyki Agile: planowanie, projektowanie, kodowanie, testowanie. Iteracje, opowieści uŜytkownika, obecność klienta, planowanie iteracji, planowanie wydań, planowanie testowania. Proste projekty, refaktoryzacja. Standardy kodowania, TDD (Test driven development) – wytwarzanie kodu sterowane testami, ciągła integracja, wspólny kod, zarządzanie kodem źródłowym (CVS, Subversion). Testy jednostkowe, analiza jakości kodu, testy integracyjne, testy akceptacyjne, automatyzacja testów. Wzorce projektowe w Javie i C#. Zasady programowania obiektowego. Rozsądne wykorzystanie UML. Projekt systemu współbieŜnego lub sieciowego. Egzamin ustny: prezentacja i obrona projektu. 1. Cockburn, Agile, Software Development. Gra zespołowa, Helion, 2008 2. R.C. Martin, M. Martin, Agile Programowanie zwinne, Helion, 2008 3. S. J. Metsker, C# Wzorce projektowe, Helion, 2005 4. R. Jeffries, Programowanie ekstremalne w C# 5. J.R. Richardson, W. A. Gwaltney Jr., Sprzedaj swój program, Helion, 2007 6. J. W. Cooper, Java. Wzorce projektowe, Helion, 2001 Nazwa przedmiotu KURS PROJEKTOWANIA INTERNETOWYCH BAZ DANYCH Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne do wyboru podstawowy III, 2 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Krzysztof Kozioł Programowanie Bazy danych Cele przedmiotu Treści merytoryczne przedmiotu Opanowanie ogólnych zasad projektowania serwisów internetowych opartych na bazach danych oraz realizacja tych zasad w praktyce przy uŜyciu technologii ASP.Net Ogólne cechy i przykłady architektur bazodanowych serwisów internetowych Tradycyjne podejście do serwisu WWW – HTML, CSS. Skrypty po stronie klienta (JavaScript, VBScript) i po stronie serwera (bramka CGI) Wprowadzenie ASP.Net. Kontrolki serwerowe. Dostęp do elementów serwisu z poziomu Visual Studio 2008. IIS 7 w serwerze Windows 2008 i moduł Mono Apache, 2 jako platformy realizujące usługi ASP.Net. Projektowanie aktywnych serwisów internetowych – podstawowe elementy. Analiza kodu XML. Przypomnienie i usystematyzowanie ogólnych zasad projektowania relacyjnych baz danych. Główne cechy MS SQL Serwera, narzędzia do zarządzania nim i konfiguracji. Łączenie z bazą (bazami) danych. Kontrolki i ich konfiguracja Bezpieczeństwo złoŜonych serwisów internetowych. Zarządzanie stanem serwisu. Personalizacja – technologia Web Parts. Usprawnienie serwisu – technologia AJAX. Dostęp do danych z poziomu kodu aplikacji – technologia LINQ Metody oceny 2 testy ze zrozumienia kodu i znajomości procedur. Ocena końcowego projektu. Spis zalecanych lektur 1. P. Bubacz: Aplikacje Internetowe, ITA 103, 2008. 2. M. Mamone: Practical Mono, Springer, 2006. 3. L. Lobel, A.J. Brust, S. Forte: Programowanie Microsoft SQL Server 2008. Microsoft Press, 2009. 4. V. V. Agarwal, J. Huddleston, R. Raghuram, S. F. Gilani, J. H. Pedersen, J. Reid: Beginning C# 2008 Databases From Novice to Professional. Springer, 2008. Nazwa przedmiotu KURS PROJEKTOWANIA PREZENTACJI MULTIMEDIALNYCH Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu do wyboru podstawowy III, 1 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Marcin Kostur brak Praktyczne wprowadzenie do nowoczesnych technik prezentacji. MoŜliwości współczesnych prezentacji multimedialnych. Oprogramowanie do tworzenia prezentacji (PowerPoint, Impress, Beamer-LaTeX). Prezentacja przed publicznością, ogólne reguły, etapy pracy nad prezentacją: załoŜenia ogólne (cel prezentacji, audytorium, sposób realizacji pokazu, rozpowszechnianie prezentacji, przygotowanie elementów składowych, opracowanie stron (slajdów) prezentacji. Prezentacja online: narzędzia i metody. Kiosk interaktywny, Technologie interakcji: kamera, rozpoznawania gestów, interfejs dotykowy "multitouch". Biblioteki umoŜliwiające szybkie tworzenie oprogramowania, pymt, pygame. Standard komunikacji między złoŜonym urządzeniem wejściowym: TUIO. Projekt reacTivision. Film: podstawy technik zdjęciowych, plany filmowe, montaŜ. Wykład online: slajdy oraz narracja. Przegląd stosowanych technologii, rozwiązania otwarte i zamknięte. Metody oceny Spis zalecanych lektur Projekt zaliczeniowy. 1. M. Munter, D. Paradi: Prezentacje w Programie PowerPoint, Wolters Kluwer, 2009. http://wiki.nuigroup.com 2. http://www.pygame.org 3. http://pymt.txzone.net/ Nazwa przedmiotu KURS PROJEKTOWANIA SERWISÓW INTERNETOWYCH Kod przedmiotu ABC123 Typ przedmiotu do wyboru Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur podstawowy III, 6 4 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr hab. Marek Siemaszko, prof. UŚ Programowanie Zapoznanie z najnowszymi metodami i narzędziami do projektowania serwisów WWW. Zdobyta wiedza umoŜliwia samodzielne tworzenie takich serwisów. Elementy składowe serwisów Internetowych: tekst, grafika, obraz ruchomy, dźwięk, interakcja z uŜytkownikiem poprzez formularze. Etapy projektowania dynamicznych serwisów WWW. Elementy składowe DHTML (Dynamic HTML): język opisu strony XHTML – podstawy składni, arkusze stylów kaskadowych (CSS) – elementy składni i zastosowania w projektowaniu wyglądu serwisów internetowych, język skryptowy JavaScript – elementy składni i zastosowanie języka do projektowania interakcji z uŜytkownikiem. PHP – język skryptowy do tworzenia dynamicznych serwisów WWW: elementy składni i zastosowania. Elementy języka XML. Sprawdzian pisemny 1. A. Phyo: Projektowanie atrakcyjnych stron WWW, Helion, 2003. 2. L. Lemay, D. Tyler: HTML 4. Vademecum profesjonalisty, Helion, 2001. 3. E. A. Meyer: CSS. Kaskadowe arkusze stylów. Przewodnik encyklopedyczny, Helion, 2001. 4. Praca zbiorowa: JavaScript. Zaawansowane programowanie, Helion, 2003. 5. L. Welling, L. Thomson: PHP i MySQL. Tworzenie stron WWW, Helion, 2005. 6. Materiały udostępniane Internecie. Nazwa przedmiotu PROGRAMOWANIE ROZPROSZONE Kod przedmiotu Typ przedmiotu fakultatywny Poziom przedmiotu podstawowy Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu III, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski dr Marek Wojtylak Programowanie Zaznajomienie z istotą obliczeń równoległych w róŜnej skali, począwszy od jednego procesora do komputerów połączonych w sieć. Synchronizacja obliczeń. Mechanizmy bezpieczeństwa. Procesy i ich komunikowanie się między sobą. Programowanie współbieŜne. Wątki, procesy, wzajemne wykluczanie, bezpieczeństwo, Ŝywotność, blokada, zagłodzenie. Wysokopoziomowe mechanizmy synchronizacji: monitory, semafory, rejony krytyczne, serializery, wyraŜenia ścieŜkowe. Języki: ADA, C, Java, C#. Programowanie sieciowe. Komunikacja synchroniczna, asynchroniczna. Podstawy implementacji: semafory, komunikaty, kanały, implementacja z jednym i wieloma procesorami, systemy czasu rzeczywistego. Komunikacja w systemach rozproszonych: RPC (Remote Procedure Call), CORBA (Common Object Request Broker Architecture), SOAP (Simple Object Access Protocol), Web Services – usługi sieciowe, język WSDL. AJAX. Problem wzajemnego wykluczania – algorytm Maekawy. ASP.NET. Prawa bezpieczeństwa sieciowego. Metody oceny Spis zalecanych lektur Projekt systemu współbieŜnego lub sieciowego. Egzamin ustny: prezentacja i obrona projektu. 1. M. Ben – Ari Podstawy programowania współbieŜnego i rozproszonego, WNT, 1996 2. B. E. Borowik Programowanie równoległe w zastosowaniach, MIKOM, 2001 3. G. Coulouris, J. Dollmore, T. Kindberg Systemy rozproszone podstawy i projektowanie, WNT, 1998 4. Z. Weiss, T. Gruźlewski Programowanie współbieŜne i rozproszone, WNT, 1994 5. Holub, Wątki w Javie, Mikom, 2001 6. S. Short, Zastosowanie XML do tworzenia usług internetowych na platformie Microsoft .NET, APN PROMISE, 2003 7. K. Lam, D. LeBlanc, B. Smith, Ocena bezpieczeństwa sieciowego, APN Promise, 2005 8. L. F. Cabrera, C. Kurt, Architektura usług WEB i jej specyfikacje, APN Promise, 2005 9. M. Sawerwain, CORBA Programowanie w praktyce, MIKOM, 2002 Nazwa przedmiotu SYMULACJE I MODELOWANIE KOMPUTEROWE Kod przedmiotu Typ przedmiotu Poziom przedmiotu Rok studiów, semestr Liczba punktów Metody nauczania Język wykładowy Imię i nazwisko wykładowcy Wymagania wstępne Cele przedmiotu Treści merytoryczne przedmiotu Metody oceny Spis zalecanych lektur do wyboru podstawowy III, 1 6 wykład laboratorium 2 godziny tygodniowo 2 godziny tygodniowo 15 tygodni 15 tygodni polski prof. dr hab. Zygmunt Gburski, dr Zbigniew Dendzik, dr Aleksander Dawid brak Zapoznanie się z podstawowymi metodami symulacji i modelowania układów złoŜonych. Koncepcja modelowania i symulacji komputerowej. Rodzaje symulacji komputerowych – stochastyczne i deterministyczne. Wybrane narzędzia stosowane do modelowania (MATLAB, MATHEMATICA, biblioteki numeryczne, języki programowania C++, Fortran). Wykorzystanie programowania obiektowego do zagadnień modelowania i symulacji. Podstawowe metody numeryczne (całkowanie, róŜniczkowanie, interpolacja, rozwiązywanie równań róŜniczkowych, minimalizacja, operacje na macierzach). Systemy obliczeniowe wysokiej wydajności, obliczenia współbieŜne, obliczenia rozproszone i przekazywanie komunikatów (MPI). Wizualizacja i analiza wyników modelowania. Podstawowe metody komputerowych symulacji układów fizycznych – metoda dynamiki molekularnej i metody Monte Carlo. Przykłady symulacji procesów występujących w układach złoŜonych. Egzamin ustny 1. Andrzej Stasiewicz, C++ Builder. Symulacje komputerowe, Helion, 2003. 2. Tao Pang, Metody obliczeniowe w fizyce, PWN, Warszawa, 2001. 3. Maciej Matyka, Symulacje komputerowe w fizyce, Helion, 2002. 4. D. Kincaid and W. Cheney, Analiza numeryczna, WNT, Warszawa 2006.