VIII semestar

Predmeti:

Računarska grafika

(izborni, IV godina, VIII semestar)

Uvod. Oblasti primene. Klasifikacija grafičkih aplikacija. Konceptualni okvir.
Grafički uređaji.
Izlazni uređaji. Grafički adapteri. Ulazni uređaji.
Grafički paketi za 2D grafiku.
Paket SRGP. Java2D rasterska grafika.
Osnovni rasterski algoritmi.
Prava linija. Kružnica.
Crtanje krivih.
Bezjeove krive. Spline krive.
Geometrijski odnosi primitiva. Utvrđivanje preseka duži. Odnos tačke i mnogougla.
Vektorsko i rastersko popunjavanje.
Popunjavanje mnogougla. Popunjavanje oblasti. Rekurzivni i iterativni algoritmi.
Odsecanje.
Prozor za odsecanje. Algoritmi: Cohen-Sutherland, Sutherland-Hodgman, Weiler-Atherton.
Transformacije. 2D transformacije. Složene (kompozitne) transformacije. 3D transformacije. Projekcija.
Grafički sistemi za modeliranje 3D scena. Standard (S)PHIGS. Grafički sistem OpenGL.
Skrivene površi i linije.
Algoritmi: Z-bafer, Uklanjanje površi okrenutih naličjem, Slikarev algoritam.
Realističko predstavljanje 3D modela.
Mreže poligona. Nepravilne mreže trouglova. Sistemi za predstavljanje boje. Teksture površi. Modeli osvetljenja i senčenja.
Animacija. Animacija u realnom vremenu. Sprajtovi. Klonovi. Potpuna animacija.

Ekspertski sistemi

(izborni, IV godina, VIII semestar)

Uvod u ekspertske sisteme - istorijat oblasti veštačke inteligencije, osnove ekspertskog rešavanja problema, arhitektura ekspertskih sistema, programski jezici i stanje u ekspertskim sistemima
Strategije pretraživanja – definisanje problema, stanja i operatori. Stablo i graf kao strukture pretraživanja. Heuristicka funkcija. Po širini, po dubini, planinarenje, generiši i testiraj, prvo najbolji A*, AO*, zadovoljenje ograničenja, sukcesivne aproksimacije.
Predstavljanje znanja u formalnoj logici. Tehnike znanja i zaključivanje u predikatskoj logici prvog reda. Semantičke mreže. Okviri. Produkcioni sistemi. Analitički (dedukcioni) sistemi.
Rad u neizvesnom okruženju – rasplinuta logika. Formiranje i prredstavljanje rasplinutih skupova. Hedges. Operacije nad rasplinutim skupovima. Rasplinuto zaključivanje.
Strategije rešavanja problema. Primeri ekspertskih sistema. Planiranje. STRIPS algoritam. Klasifikacioni model. Model školske table. Indukcioni sistemi. Algoritam ID3. Algoritam CLS.
Podsistemi za objašnjavanje. Princip i korist. Primer rada podsistema Press, Clear i Xplain.

Softverski alati baza podataka

(izborni, IV godina, VIII semestar)

Programiranje za bazu podataka. Programiranje na nivou baze podataka.SQL programski jezik. SQL funkcije. SQL procedure. SQL okidaci.Ugradjeni SQL (embedded SQL). SQL pozivni interfejs (call level interface for SQL).
Osnove dizajna baze podataka (metodologije i notacije). Tradicionalni pristup. Objektni pristup.
Softverski alati za dizajn baze podataka. Ustrojstvo sofvreskog alata za tradicionalni dizajn baze podataka. Toad Data Modeler. ERWin. Sybase PowerDesigner.
Usluzni softverski alati baza podataka. Softverski alati za administriranje baze podataka. Softverski alati za generisanje formi. Softverski alati za generisanje izvestaja.

Programski prevodioci 2

(izborni, IV godina, VIII semestar)

Napredne teme leksičke i sintaksne analize: oporavak identifikatora u leksičkoj analizi, oporavak kod TD parsera (i rek. spust i pot. automat), Oporavak od grešaka u SR parsiranju i kod yacc parsera. Sint. upravljano prevođenje, atributivno-translacione gramatike i apstraktna sintaksa. Tabele simbola, pregled mJ semantike, pregled konstekstnih uslova. Semantička analiza – tipovi podataka, Načini predstavljanja i generisanja međukoda (zaključno sa ponovnom upotrebom privremenih promenljivih), bazični blokovi, graf toka kontrole, SSA forma, adresiranje elem nizova, prevođenje boolovih izraza
Izvršno okruženje ostale teme: statičke veze, displeji, procesorska podrška
dinam. okruženje, mehanizmi prenosa parametara, strategije dodele i oslobađanja dinamičke memorije, Generisanje koda: uvod, arhitektura mJ VM, organizacija mem. kod mJ VM, skup instrukcija mJ VM Gener. koda (do ispred globalne raspodele registara), Globalna raspodela reg, predstavljanje baz. blokova acikl. grafovima, preuređivanje međukoda numerisanjem grafa.
Prevođenje objektno-orijentisanih jezika: predstavljanje objekata, statički i dinamički metodi, jednostruko i višestruko nasleđivanje, mehanizmi enkapsulacije, provera tipa, sigurna konverzija tipova.

Programiranje u realnom vremenu

(izborni, IV godina, VIII semestar)

Uvod u sisteme za rad u realnom vremenu. Definicija. Podela. Terminologija. Primeri RT sistema.
Pouzdanost i tolerancija otkaza u RT sistemima. Pouzdanost. Tolerancija otkaza. Statička i dinamička redundansa. Oporavak od otkaza unapred i unazad. Izuzeci i njihova obrada.
Koncepti konkurentnog programiranja u RT sistemima i jezicima. Konkurentnost i procesi. Sinhronizacija i komunikacija deljenim promenljivim. Sinhronizacija i komunikacija porukama. Kontrola resursa.
Usluge vezane za realno vreme u RT sistemima i jezicima. Sat realnog vremena. Merenje proteklog vremena. Vremenske kontrole. Specifikacija i kontrola ispunjenja vremenskih zahteva (vremenski rok i vreme izvršavanja u najgorem slučaju) i temporalni opsezi. Periodični i sporadični procesi.
Rasporedivost i raspoređivanje. Pojmovi. Osnovne strategije raspoređivanja (FPS i EDF). Osnovne politike dodele prioriteta (DMPO i RMPO). Testovi rasporedivosti. Blokiranje procesa i izbegavanje inverzije prioriteta (ICPP).
Projektovanje RT sistema. Projektovanje vremenskih zahteva. ROOM. RT profil jezika UML.