Języki i metody programowania. Algorytmy i struktury danych. Wstęp do systemu UNIX



Podobne dokumenty
Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Grupy pytań na egzamin inżynierski na kierunku Informatyka

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Zestaw zagadnień na egzamin dyplomowy inżynierski

Zakres egzaminu dyplomowego (magisterskiego) na kierunku INFORMATYKA

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Zagadnienia kierunkowe Kierunek informatyka, studia pierwszego stopnia

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Zagadnienia na egzamin dyplomowy

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

ZAGADNIENIA DO EGZAMINU DYPLOMOWEGO NA STUDIACH INŻYNIERSKICH. Matematyka dyskretna, algorytmy i struktury danych, sztuczna inteligencja

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Zagadnienia na egzamin dyplomowy. Studia jednolite magisterskie WFMiI rok akad. 2010/11

Semestr letni Brak Tak

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Języki programowania II - opis przedmiotu

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)

dr inż. Jarosław Forenc

Rok akademicki: 2012/2013 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Język programowania C C Programming Language. ogólnoakademicki

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)

Rozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym

Egzamin inżynierski. Grupy zagadnień na kierunku Informatyka

Sieci komputerowe - opis przedmiotu

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)

Pytania z przedmiotów kierunkowych

Podstawy programowania. Wprowadzenie

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Opisy efektów kształcenia dla modułu

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Język Java i technologie Web - opis przedmiotu

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Instytut Informatyki UMCS

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Nazwa modułu kształcenia Programowanie 2 Nazwa jednostki prowadzącej moduł. Kod modułu

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia. Technologie informacyjne Rodzaj przedmiotu:

Opis efektów kształcenia dla modułu zajęć

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PRZEWODNIK PO PRZEDMIOCIE

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

INP002018W, INP002018L

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia. Technologie informacyjne Rodzaj przedmiotu:

Metodyki i techniki programowania

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa, Inżynieria oprogramowania, Technologie internetowe

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

ID2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki stacjonarne

PRZEWODNIK PO PRZEDMIOCIE

Informatyka Informatics

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

E5 potrafi zaprojektować i zaimplementować prosty model

INFORMATYKA Informatics. forma studiów: studia stacjonarne. Liczba godzin/tydzień: 2W, 2L PRZEWODNIK PO PRZEDMIOCIE

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Systemy Informatyki Przemysłowej

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Rok akademicki: 2030/2031 Kod: EIT s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

IZ2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki niestacjonarne

SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne

PRZEWODNIK PO PRZEDMIOCIE

Metodyki i techniki programowania

PRZEWODNIK PO PRZEDMIOCIE

Automatyka i Robotyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Zestaw zagadnień na egzamin dyplomowy inżynierski

Podstawy Informatyki Information Technology. Inżynieria Środowiska I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Aplikacje internetowe - opis przedmiotu

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

INŻYNIERIA OPROGRAMOWANIA

Programowanie obiektowe Object programming. Elektrotechnika II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

AUTOMATYKA INFORMATYKA

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W E, 2L PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Treści programowe i literatura do przedmiotów wybranych na Egzamin kierunkowy i sprawdzian kwalifikacyjny na II stopień studiów stacjonarnych dla kierunku Informatyka Języki i metody programowania Typy stałych i zmiennych. Instrukcje sterujące. Tablice. Funkcje. Wskaźniki. Struktury i unie. Operacje na bitach. Definiowanie typów. Operatory. Preprocesor. Klasy pamięci. Dynamiczna alokacja pamięci. Biblioteka standardowa. Referencje w języku C++, elementy składowe klas. Kompozycja i dziedziczenie, dziedziczenie wielobazowe, polimorfizm. Konstruktory i destruktory. Przeciążanie funkcji i operatorów. Kopiowanie obiektów klas alokujących pamięć. Operatory rzutowania w C++. Mechanizmy RTTI. Wyjątki. Kontenery, lista i wektor. Wielokrotne użycie kodu kontenera. Iteratory. Szablony funkcji i klas. Szablony kontenerów i iteratorów. Kopiowanie kontenerów, hierarchie obiektów umieszczanych w kontenerze. Biblioteka STL. Podstawowe szablony i iteratory (string, vector, list, map). Algorytmy STL. Biblioteka strumieni w C++. [1] Kernighan B., Ritchie D.: Język C, WNT, Warszawa 2004. [2] Stroustrup B.: Język C++, WNT, Warszawa 2002. [3] Eckel B.: Thinking in C++, Helion, Gliwice 2004. [4] Grębosz J.: Symfonia C++, Oficyna Kallimach, Kraków 2004. [5] Grębosz J.: Pasja C++, Oficyna Kallimach, Kraków 2004. Algorytmy i struktury danych Algorytm i strategie konstruowania algorytmów. Złożoność obliczeniowa algorytmów. Podstawowe struktury danych: tablice, listy, kolejki, stosy, inne. Rekurencja i usuwanie rekurencji. Tablice z haszowaniem. Podstawowe algorytmy sortowania wewnętrznego oraz szybkie algorytmy sortowania. Sortowanie zewnętrzne. Drzewa, metody przeszukiwania drzew, problem wyważania drzew, drzewa BST, drzewa AVL, drzewa czerwono-czarne, inne rodzaje drzew. Złożone struktury danych, kopce. Przeszukiwanie grafów, przegląd algorytmów grafowych. Wyszukiwanie wzorców tekstowych. [1] Aho A.V., Hopcroft, J.E., Ullman J.D.: Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa 1983. [2] Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych, WNT, Warszawa 1996. [3] Cormen T.H., Leiserson C.E., Rivest R.L.: Wprowadzenie do algorytmów, WNT, Warszawa 1997. Wstęp do systemu UNIX Uwierzytelnianie użytkowników w systemie typu Unix. Mechanizmy konfiguracji powłoki Uniksowej. Uniksowe prawa dostępu. Komunikacja międzyprocesowa w systemie Unix. Zarządzanie systemem plików w Uniksie. Sekwencja startowa systemu typu Unix. Podsystem procesów w systemie Unix. Podstawowe algorytmy szyfrujące. Architektura systemu Unix. Podstawowe elementy budowy jądra Unix. Zarządzanie plikami w Uniksie. System monitorowania i rejestrowania zdarzeń w Uniksie. Podstawy tworzenia skryptów Sh. [1] Bach M. J.: Budowa systemu operacyjnego Unix, WNT, 1995. [2] Welsh M., et al.: Linux, O Reilly/RM, 2000. [3] Siever E.: Linux podręcznik użytkownika, O Reilly/RM, 1999. 1

Programowanie obiektowe Paradygmat programowania obiektowego w języku Java. Platforma Java. Maszyna wirtualna. Obiekty i referencje. Przydział pamięci i mechanizm automatycznego usuwania niepotrzebnych obiektów. Składnia języka. Tablice. Klasy i ich składowe: pola, metody, metody statyczne. Polimorfizm w języku Java. Konstruktory, klonowanie obiektów. Interfejsy i klasy abstrakcyjne. Zastosowania klas wewnętrznych i klas zagnieżdżonych. Stosowanie wyjątków. Wątki, synchronizacja i wzajemne wykluczanie, monitory. Podstawowe kontenery w języku Java. Biblioteka AWT, hierarchie komponentów. Zarządzanie układem komponentów. Obsługa zdarzeń operacje graficzne. Animacja. Biblioteka Swing: elementy składowe. [1] Eckel B.: Thinking in Java, Helion, Gliwice 2003. [2] Horstmann C., Cornell G.: Java 2 Podstawy, Helion, Gliwice 2003. [3] http://java.sun.com Podstawy elektroniki cyfrowej Układy cyfrowe małej i średniej skali integracji TTL oraz CMOS bramki, przerzutniki, rejestry, liczniki, multipleksery, dekodery, przerzutniki monostabilne, pętla PLL. Uruchamianie i testowanie układów cyfrowych standard JTAG. Programowalne układy logiczne. Język opisu sprzętu VHDL. Podstawy cyfrowego przetwarzania sygnałów. Konwersja analogowocyfrowa i cyfrowo-analogowa. Mikrokontroler 8051. Tryby pracy procesora 486. [1] Kulka Z., Libura A., Nadachowski M.: Przetworniki analogowo-cyfrowe i cyfrowo-analogowe, WKiŁ, Warszawa, 1987. [2] Łuba T., Jasiński K., Zbierzchowski B.: Specjalizowane układy cyfrowe w strukturach PLD i FPGA, WKŁ, Warszawa, 1997. [3] Pieńkoś J., Turczyński J.: Układy scalone TTL w systemach cyfrowych, WKiŁ, Warszawa, 1986. [4] Rydzewski A.: Mikrokomputery jednoukładowe rodziny MCS-51, WNT, Warszawa, 1992. [5] Turczyński M., Goczyński R.: Mikroprocesory 80286, 80386 i i486, KOW Help, Warszawa, 1991. [6] Wrona W.: VHDL język opisu i projektowania układów cyfrowych, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice, 1998. Architektury komputerów Historia rozwoju komputerów. Hierarchiczna struktura komputerów. Architektura von Neumanna. Reprezentacja danych w systemie komputerowym: system dwójkowy, ósemkowy, szestnastkowy, kod uzupełnień do dwóch przeliczanie, zapis liczb zmiennoprzecinkowych. Podstawy budowy i organizacji procesora. Architektura zbioru rozkazów. Przetwarzanie rozkazów. Organizacja pamięci i adresowanie. Pojęcie przerwania. Język asembler. Analiza i pomiar wydajności komputera. [1] Null L., Lobur J.: Struktura organizacyjna i architektura komputerów, Helion 2004 [2] Tanenbaum A.S.: Strukturalna organizacja systemów komputerowych, Helion 2006 Podstawy grafiki komputerowej Obszary zastosowań grafiki komputerowej i ich charakterystyka. Psychologia widzenia i percepcji obrazu, kształtu i ruchu dla człowieka i porównawczo dla zwierząt. Sprzęt komputerowy niezbędny dla realizacji zaawansowanej grafiki komputerowej (zaawansowane urządzenia I/O: skanery 3D, spacemouse, dataglove itd.). Konstrukcja systemów Virtual Reality i ich zastosowanie. Procesory graficzne koncepcja przetwarzania (graphics pipeline), architektury procesorów graficznych (GPU) i wielopotokowych kart graficznych, konstrukcje stacji roboczych i super systemów dla potrzeb grafiki komputerowej. Algorytmy i metody zrównoleglania obliczeń w grafice komputerowej. Reprezentacja obiektów geometrycznych stosowanych w grafice komputerowej stosowane w profesjonalnych systemach prymitywy graficzne i ich reprezentacja matematyczna (obiekty prosto- i krzywokreślne krzywe Hermite a Bezier,a, NURBS), modele obliczeniowe złożonych obiektów, ciecze, gazy, modele hierarchiczne w grafice komputerowej 3D, zasady konstrukcji sceny. Transformacje geometryczne. Trudności obliczeniowe transformacji. Obliczanie wizualizacji obiektów i scen graficznych w układzie 2D i 3D. Modele oświetlenia, koloru, przeźroczystości i przedstawienia powierzchni. Tekstury konstruowanie tekstur. Animacja 2

(grafika 4D) problemy i stosowane metody przedstawiania dynamiki obiektów, modelowanie i liczenie dynamiki (szkielety i pokrycia), definiowanie środowisk, edytory animacji. Modelowanie złożonych obiektów, systemów obiektów i struktur (np. twarz ludzka). Fraktale. Przegląd i analiza porównawcza profesjonalnych systemów do tworzenie grafiki komputerowej. Najważniejsze konferencje i ośrodki zajmujące się grafiką komputerowa w Polsce i na Świecie. [1] Hearn D., Baker M. P.: Computer Graphics with OpenGL. 3/e, Pearson/Prentice Hall, 2004. Metody numeryczne Podstawowe pojęcia i informacje dotyczące obliczeń numerycznych. Źródła błędów obliczeń numerycznych, uwarunkowanie zadania i sposoby jego oceny, stabilność numeryczna algorytmów, poprawność numeryczna algorytmów, złożoność obliczeniowa. Interpolacja wielomianowa: wielomian interpolacyjny Lagrange a, postać Newtona wielomianu interpolacyjnego, błąd interpolacji, efekt Runge go, interpolacja Hermite a, i oszacowanie jej błędu. Interpolacja funkcjami sklejanymi wraz z oszacowaniem błędu. Aproksymacja: aproksymacja średniokwadratowa, aproksymacja jednostajna. Całkowanie numeryczne: pojęcie kwadratury liniowej, kwadratury interpolacyjne (Lagrange a i Hermite a), kwadratury Newtona - Cotesa, rząd kwadratury, błędy, zbieżność ciągu kwadratur, przyspieszenie zbieżności. Metody ekstrapolacyjne metoda Romberga, procedury automatycznego całkowania. Rozwiązywanie równań i układów równań nieliniowych: charakterystyka metod iteracyjnych stacjonarnych i niestacjonarnych, metoda Newtona, metoda siecznych i jej modyfikacje, problem zbieżności. Rozwiązywanie układów równań liniowych: rozkład LDU, metoda eliminacji Gaussa i jej warianty, obliczanie wyznacznika i odwracanie macierzy, metody iteracyjne Jacobiego, Gaussa-Seidla. Wyznaczanie wartości i wektorów własnych macierzy. Równania różniczkowe zwyczajne: zagadnienie początkowe Cauchy ego, metody jednokrokowe, metody wielokrokowe. Obliczenia symboliczne. Pakiety matematyczne: MATHCAD, MATHEMATICA, MATLAB. [1] Kincaid D., Cheney W.: Analiza numeryczna, WNT, Warszawa 2006. [2] Björck A., Dahlquist G.: Metody numeryczne, PWN, Warszawa 1987. Algorytmy decyzyjne i teoria złożoności Proces podejmowania decyzji. Model matematyczny procesu decyzyjnego. Programowanie liniowe i całkowitoliczbowe. Proces wieloetapowy. Programowanie dynamiczne. Schemat podziału i ograniczeń oraz algorytmy oparte na tym schemacie. Problem komiwojażera. Problemy grafowe (kolorowanie grafu, maksymalna klika, izomorfizm). Planowanie przedsięwzięć. Metoda ścieżki krytycznej. Problemy szeregowania zadań, ich klasyfikacja i wybrane algorytmy. Heurystyczne metody rozwiązania problemów. Algorytmy przeszukiwania sąsiedztwa. Algorytmy ewolucyjne. Teoria gier i decyzji. Symulowane wyżarzanie. Podstawowe pojęcia związane ze złożonością obliczeniową. Klasy złożoności problemów decyzyjnych. Modele obliczeń. Techniki dowodzenia NP-zupełności i NP-trudności problemów. [1] Jarosław Arabas: Wykłady z algorytmów ewolucyjnych. WNT Warszawa 2004. [2] Tadeusz Sawik: Badania operacyjne dla inżynierów zarządzania. Wydaw. AGH, Kraków 1998. [3] Bolesław Mikołajczak, Janusz Stokłosa: Złożoność obliczeniowa algorytmów. Wydaw. PP, Poznań 1984. Sieci komputerowe Transmisja szeregowa i równoległa. Transmisja modemowa, proste protokoły modemowe. Topologia sieci komputerowych, model warstwowy OSI/ISO. Metody dostępu do warstwy fizycznej (MAC). Zasady działania i konfigurowania sieci Ethernet. Sieci rozległe, modemy, ISDN, warstwa sieciowa w sieciach rozległych X.25 i Frame Relay. Protokoły rodziny TCP/IP. Protokół IP: adresy IP. Protokół UDP i protokół TCP. Warstwa aplikacji protokoły BOOTP, DHCP, DNS, Telnet, FTP, RPC, NFS, SMTP, SNMP. Protokół DNS, PPP. Hierarchiczna organizacja serwerów nazw. Internet, intranet. Organizacja sieci w systemie operacyjnym Windows. Programowanie transmisji w sieciach: gniazda, przegródki (mailslots), potoki (pipes). Urządzenia i protokoły do współpracy międzysieciowej: mosty, bramy itd. Konfigurowanie routerów. Bezpieczeństwo w sieciach, szyfrowanie z kluczem publicznym, ściany ogniowe. Transmisja satelitarna. Protokoły bezprzewodowe WAP. [1] J.F.Kurose, K.W.Ross: Sieci komputerowe, wydanie 3-cie, Helion, Gliwice 2006. [2] A.Tanenbaum: Sieci komputerowe, Helion, Gliwice 2004. 3

Techniki internetowe i multimedialne Podstawowe informacje o sieci Internet: IP (TCP, UDP, ICMP); DNS usługi sieciowe; adresy w sieci; Universal Naming Convention, Uniform; resource Locator, Uniform Resource Identifier. Protokół HTTP. Przeglądarki WWW: współpraca przeglądarki z serwerem; wyszukiwarki i wyszukiwanie informacji. Projektowanie stron WWW: koncepcja, struktura logiczna, tekst, grafika, tło, kolory. Język XHTML: znaczniki i polecenia.; formatowanie tekstu; grafika; odnośniki; tworzenie map odnośników; tabele; przyciski i formularze. Arkusze stylów, język CSS. Programowanie aplikacji internetowych: programowanie po stronie klienta (język JavaScript); programowanie po stronie serwera (język PHP); walidacja formularzy; przetwarzanie danych z formularzy. Metajęzyki SGML, XML, i ich zastosowania: różnice pomiędzy HTML, a XHTML; stylizacja dokumentów XML; walidacja. Przesyłanie wiadomości email: protokół SMTP. Multimedia w Internecie: techniki kompresji i przesyłania obrazów, dźwięku i sekwencji wideo; multimedia na stronach WWW. [1] Schultz D., Cook C.: HTML, XHTML i CSS. Nowoczesne tworzenie stron WWW. Helion, Gliwice 2008. [2] White E., Eisenhamer, J.D.: PHP 5 w praktyce. Helion, Gliwice 2007. [3] Tanenbaum A.S.: Sieci komputerowe. Helion, Gliwice 2004. Przetwarzanie obrazów cyfrowych Budowa narządu wzroku człowieka; elementy sztucznego systemu wizyjnego. Pozyskiwanie obrazów cyfrowych urządzenia; próbkowanie; kwantyzacja. Podstawowe metody przetwarzania obrazów cyfrowych: poprawa jakości obrazu; operacje arytmetyczne; filtracja i usuwanie zakłóceń; detekcja krawędzi. Operacje na obrazach binarnych; etykietowanie; operacje logiczne. Metody morfologiczne. Analiza obrazów cyfrowych: segmentacja; analiza obrazów barwnych; wyznaczanie parametrów obiektów; współczynniki kształtu; niezmienniki momentowe; metody rozpoznawania obiektów; analiza sceny. Transformacja Hougha. Przetwarzanie obrazów w dziedzinie częstotliwościowej; transformaty DCT i Fouriera, kompresja obrazów. Przykłady zastosowań metod przetwarzania obrazów. [1] Tadeusiewicz R.: Systemy wizyjne robotów przemysłowych, WNT, Warszawa 1992. [2] Tadeusiewicz R., Korohoda P.: Komputerowa analiza i przetwarzanie obrazu, Wyd. Fundacji Postępu Telekomunikacji, Kraków 1997. [3] Tadeusiewicz R., Ogiela M.: Medical Image Understanding Technology, Series: Studies in Fuzziness and Soft Computing, Vol.156, Springer-Verlag, Berlin-Heidelberg-New York, 2004. Inżynieria oprogramowania Inżynieria oprogramowania specyfika podejścia inżynierskiego do procesu wytwarzania oprogramowania. Model CMM i jego znaczenie. Cykle życie oprogramowania, przegląd. Technologie strukturalne a obiektowe. Analiza i projektowanie strukturalne wg. Yourdona, metodyka Warda-Mellora. Podejście obiektowe na przykładzie języka UML, znaczenie języka, koncepcja MDA. Podstawowe diagramy języka UML: diagramy przypadków użycia, struktura statyczna, modelowanie dynamiki, diagramy implementacji. Inne zagadnienia inżynierii oprogramowania: szacowanie oprogramowania, analiza i zarządzanie ryzykiem, studium wykonalności. [1] Górski J.(red.): Inżynieria oprogramowania w projekcie informatycznym. Wydawnictwo MIKOM 2002 [2] Jaszkiewicz A.: Inżynieria oprogramowania. Wydawnictwo Helion 1997. [3] Martin J., Odell J. J.: Podstawy metod obiektowych. WNT, Warszawa 1997. [4] Yourdon E.: Współczesna Analiza Strukturalna. WNT, Warszawa 1996. [5] Booch G., Rumbaugh J., Jacobson I.: UML przewodnik użytkownika. WNT, Warszawa 2001. [6] Booch G., Rumbaugh J., Jacobson I.: The Unified Modeling Language Reference Manual, Addison-Wesley 1999. [7] Booch G., Rumbaugh J., Jacobson I.: The Unified Software Development Process. Addison-Wesley 1999. [8] Flower M. Scott K.: UML w kropelce. Oficyna Wydawnicza LTP, Warszawa 2002. 4

Programowanie współbieżne i rozproszone Języki Ada i Erlang: składnia, komunikacja, typy danych, wyjątki, elementy obiektowości, podstawowe funkcje obsługujące typy danych. Algorytmy w systemach rozproszonych (sekcja krytyczna, elekcja, map-reduce). [1] Cesarini F., Thompson S.: Erlang Programming, O Reilly, 2009. [2] Huzar Z.: Ada 95, Helion, Gliwice 1998. [3] Milner R.: Communication and concurrency, Prentice Hall, 1989. Systemy operacyjne Rola i zadania systemu operacyjnego, klasyfikacja systemów operacyjnych, ogólna zasada działania systemu operacyjnego (sposób przekazywania sterowania do programu jądra), koncepcja procesu, zasobu i wątku. Obsługa procesów tworzenie procesów, uruchamianie programów (fork, exec, exit, wait), Obsługi wątków tworzenie i synchronizacja wątków. Planowanie przydziału procesora, ogólna koncepcja planowania. Algorytmy planowania z wywłaszczaniem i bez wywłaszczeń oraz kryteria ich oceny. Zagadnienia zarządzania pamięcią. Podział pamięci, przydział pamięci oraz transformacja adresów. Zjawisko fragmentacji wewnętrznej i zewnętrznej, problem ochrony oraz współdzielenia pamięci. Tworzeniu obrazu procesu w pamięci. Realizacja pamięci wirtualnej. Błąd strony, jego obsługa i podstawowe problemy z tym związane. Zarządzanie systemem plików. Ujęcia systemu plików od strony logicznej: pojęcie pliku, pojęcie struktury i typu pliku, organizacja logiczna systemu plików (strefy, katalogi), metody dostępu do pliku oraz interfejs operacji plikowych. Fizyczna organizacja systemu plików: przydział bloków dyskowych, zarządzanie wolną przestrzenią oraz implementację katalogu. Omówienie wybranych systemów plików FAT32, NTFS, Linux. Zagadnienia przetwarzania współbieżnego i synchronizacji procesów. Pojęcie instrukcji atomowej oraz przeplotu, istota synchronizacji oraz poprawność programów współbieżnych. Mechanizmy synchronizacji wspierane przez system operacyjny lub język programowania wysokiego poziomu: semafory ich klasyfikacja i implementacja oraz rygle i zmienne współdzielone. Mechanizm komunikacji IPC (międzyprocesowej): kolejki komunikatów, pamięć współdzielona, sygnały, komunikacja strumieniowa za pośrednictwem łączy tworzenie potoków i zasady ich użycia w komunikacji między procesami (pipe) Zakleszczenie: istota zjawiska, metody przeciwdziałania. Warunki konieczne zakleszczenia w kontekście zasobów odzyskiwalnych i nieodzyskiwalnych, definicja zakleszczenia, opis stanu systemu na potrzeby analizy zakleszczenia graf przydziału i graf oczekiwania oraz ich specyficzne własności. Przeciwdziałanie: zapobieganie zakleszczeniom, unikanie zakleszczeń (w tym algorytm bankiera), detekcja stanu zakleszczenia i zasady usuwania. [1] Silberschatz A., Peterson J.L., Gagne G.: Podstawy systemów operacyjnych. WNT, Warszawa 2005. [2] Stallings W.: Systemy operacyjne. Robomatic, Wrocław 2004. [3] Stevens W.R.: Programowania w środowisku systemu UNIX. WNT, Warszawa 2002. [4] Rochkind M.J.: Programowanie w systemie Unix dla zaawansowanych. WNT, Warszawa 1993. [5] Guźlewski Z., Weiss T.: Programowanie współbieżne i rozproszone w przykładach i zadaniach. WNT, Warszawa 1993. Bazy danych Relacyjny model danych. Algebra relacji. Zależności funkcyjne i postacie normalne. Normalizacja. System zarządzania bazą danych PostgreSQL. Instrukcja select: kryteria wyszukiwania, wyrażenia regularne, złączenia tabel, agregacja i grupowanie danych, łączenie zapytań, podzapytania skorelowane i nieskorelowane. Tworzenie tabel. Typy danych. Związki między tabelami. Sekwencje, widoki, domeny, ograniczenia. Instrukcje DML: insert, update, delete. Administracja bazą danych: grant, revoke. Wyzwalacze, funkcje, reguły. Podstawy przetwarzania transakcyjnego. [1] Stones R., Matthew N.: Bazy danych i PostgreSQL, Wydawnictwo Helion, Gliwice, 2001. [2] Ullman J.D., Widom J.: Podstawowy wykład z baz danych, WNT, Warszawa, 2000. [3] http://www.postgresql.org strona zawiera między innymi dokumentację w formacie pdf i html. Języki formalne i kompilatory Język a metajęzyk, podział języków, budowa języka. Gramatyka generacyjna, klasyfikacja Chomsky ego. Metody rozbioru gramatycznego. Automat deterministyczny i niedeterministyczny, optymalizacja automatu. Wyrażenia regularne. Translator, 5

kompilator, interpreter, budowa i zasady działania. Analiza leksykalna i składniowa, generowanie kodu wynikowego, wydobywanie się z błędów. Gramatyki i analizatory LL(k), zasady działania i własności. Inne sposoby parsingu. Generatory parserów. [1] Gries D.: Konstrukcja translatorów dla maszyn cyfrowych, WNT, Warszawa 1984. [2] Aho A.V, Sethi R., Ullman J.D.: Kompilatory: reguły, metody i narzędzia, WNT, Warszawa 2002. [3] Hopcroft J., Ullman J.: Wprowadzenie do teorii automatów, języków i obliczeń, PWN, Warszawa 1994. Metody optymalizacji Operacje jednorodne, liniowe, ograniczone. Funkcje wklęsłe i wypukłe. Ekstrema lokalne i globalne z ograniczeniami lub bez dla funkcji wielu zmiennych. Warunki istnienia rozwiązania optymalnego w zagadnieniach z ograniczeniami lub bez ograniczeń. Warunki stopu stosowane w iteracyjnych metodach poszukiwania minimum. Zbieżność iteracyjnych metod poszukiwania minimum. Metody zewnętrznej i wewnętrznej funkcji kary dla ograniczeń równościowych i nierównościowych. Przypadek zbioru dopuszczalnego o pustym wnętrzu. Metody Powella poszukiwania minimum bez ograniczeń. Kierunki sprzężone względem macierzy. Degeneracja bazy kierunków poszukiwań. Algorytmy genetyczne i wykorzystywane w nich operacje. Zadania optymalizacji wielokryterialnej. Metoda skalaryzacji. Programowanie liniowe. Postać kanoniczna zadania programowania liniowego. Zrewidowana metoda symplex. Metoda dwu faz. Graficzna poszukiwanie rozwiązania. [1] Korytowski A., Ziółko M.: Metody optymalizacji z ćwiczeniami laboratoryjnymi, Wydawnictwo AGH, Kraków 1992. [2] Findeisen W., Szymanowski J., Wierzbicki A.: Teoria i metody obliczeniowe optymalizacji, PWN, Warszawa 1977. [3] Stachurski A., Wierzbicki A.P.: Podstawy optymalizacji, Oficyna Wydawnicza PW, Warszawa 2001. [4] Brdyś M., Ruszczyński A.: Metody optymalizacji w zadaniach, WNT, Warszawa 1985. SOA w projektowaniu i implementacji oprogramowania Pojęcie usługi i architektury zorientowanej na usługi, cechy usług, podział usług, orkiestracja i choregorafia usług. Usługi SOAP i REST, WSDL, SOAP, UDDI. Podstawowe wzorce projektowe SOA, pojecię szyny danych (ESB) oraz integracja systemów w oparciu o ESB. Architektura Java EE, komponenty EJB: rodzaje i cechy, asynchroniczny wzorzec komunikacji, Java Messaging Service, Java Persistence API. [1] Erl T.: SOA Principles of Service Design, Prentice Hall Service-Oriented Computing Series, 2007 [2] Erl T.: SOA Design Patterns, Prentice Hall Service-Oriented Computing Series, 2008 [3] Jendrock E., Evans I., Gollapudi D., Haase K., Srivathsa C.: The Java EE 6 Tutorial: v. 1: Basic Concepts (Java Series), Addison-Wesley, 2010 [4] Jendrock E., Evans I., Gollapudi D., Haase K., Srivathsa C.: The Java EE 6 Tutorial: v. 2: Advanced Topics, Addison- Wesley, 2010 Zarzadzanie projektami Metodologie prowadzenia projektu, metodologie lekkie, tradycyjne, best practices. Zespoły projektowe, role w zespole, zarządzanie zespołem, kontrola prac i stanu projektu. Komunikacja w projekcie, interesariusze (stakeholders), outsourcing. Zarządzanie ryzykiem w projekcie. Zarządzanie jakością i kontrola jakości. [1] Berkun S.: Sztuka zarządzania projektami, Helion, Gliwice 2006. [2] Gibbs D.: Project Management with the IBM Rational Unified Process, IBM Press 2007. [3] Yourdon E.: Marsz ku klęsce, WNT, Warszawa 2007. Przewodniczący Komisji ds. Egzaminu Kierunkowego dr hab. Andrzej Bielecki, prof. n. 6