Predmeti:
- Operativni sistemi 1
- Arhitektura računara
- Objektno-orijentisano programiranje 2
- Veb dizajn
- Računarske mreže
- Verovatnoća i statistika
- Signali i sistemi
Operativni sistemi 1
(obavezni, II godina, IV semestar)
Uvod. Pojam, namena i funkcije operativnih sistema: šta je OS, zašto postoje OS, osnovni zadaci i funkcije OS, šta sve obuhvata OS. Istorijat i vrste OS: paketni sistemi, sistemi sa multiprogramiranjem i vremenskom raspodelom, personalni računarski sistemi, multiprocesorski sistemi, distribuirani sistemi, sistemi za rad u realnom vremenu.
Upravljanje procesima. Procesi i niti: pojam procesa, operacije nad procesima, implementacija procesa, pojam niti, implementacija niti. Sinhronizacija i komunikacija između procesa: kooperativni procesi, mehanizmi interakcije, međusobno isključenje, uslovna sinhronizacija, uposleno čekanje, semafori, implementacija semafora, upotreba semafora (međusobno isključenje, ograničeni bafer).
Upravljanje memorijom. Vezivanje adresa: problem vezivanja adresa, prevođenje (compilation), povezivanje (linking), učitavanje (loading), dinamičko preslikavanje adresa. Deljenje memorije: problem deljenja memorije, dinamičko učitavanje, preklopi (overlays), biblioteke sa dinamičkim vezivanjem (DLL), zamena (swapping). Organizacija i alokacija memorije: kontinualna alokacija, stranična organizacija, segmentna organizacija. Virtuelna memorija: pojam virtuelne memorije, učitavanje stranica na zahtev (demand paging).
Ulazno/izlazni sistemi. Sistemske I/O usluge: arhitektura I/O podsistema, klasifikacija I/O uređaja, aplikativni programski interfejs (API) prema I/O. I/O podsistem: raspoređivanje, baferisanje, keširanje, spooling, zaštita, obrada I/O zahteva, performanse.
Fajl sistemi. Interfejs fajl sistema: pojam fajla, struktura direktorijuma, montiranje (mounting), deljenje fajlova, zaštita. Implementacija fajl sistema: struktura fajl sistema, implementacija direktorijuma, metode alokacije, rukovanje slobodnim prostorom, efikasnost i performanse, oporavak od otkaza.
Arhitektura računara
(obavezni, II godina, IV semestar)
Arhitektura. CISC i RISC arhitekture. Elementi arhitekture. Programski model. Tipovi podataka. Formati instrukcija. Načini adresiranja. Skup instrukcija. Standardne instrukcije. Uslovni skokovi. Nestandardne instrukcije. Instrukcije za rad sa stringovima i kontrolu petlji. Mehanizam prekida. Spoljašnji i unutrašnji prekidi. Prioriteti prekida. Selektivno i kompletno maskiranje prekida. Gneždenje. Prekid posle svake instrukcije. Instrukcija prekida.
Magistrala. Osnovni pojmovi. Gazda i sluga. Adresne linije, linije podataka i upravljačke linije. Adresiranje lokacija u slugi. Arbitracija. Procesor. Arbitrator sa paralelnom i serijskom arbitracijom. Arbitracione politike. Ciklusi. Asinhrone i sinhrone magistrale sa atomskim i podeljenim ciklusima. Sistemi sa više magistrala.
Ulazno/izlazni sistem. Osnovni pojmovi. Uređaji. Kontroleri. Periferije. Registri kontrolera. Kontroleri bez direktnog pristupa memoriji. Struktura i funkcionisanje. Programiranje ulaza/izlaza sa ispitivanjem statusa i sa prekidom. Kontroleri sa direktnim pristupom memoriji. Struktura i funkcionisanje. Programiranje ulaza/izlaza. Prekidi ulazno/izlaznih uređaja. Ispitivanje statusa, vektorisanje i kombinovani.
Sistem diskova. Struktura diska. Mehaničke komponente. Elektronika. Tehnološki aspekti. Karakteristike diskova i kontrolera. Oblici podataka. Komponente pristupa disku.. Obrada komandi. Keširanje. Baferski, keš i RAID kontroleri. Interfejsi. Paralelni i serijski ATA i SCSI interfejsi. Mrežno bazirani sistemi. NAS i SAN arhitekture.
Objektno-orijentisano programiranje 2
(obavezni, II godina, IV semestar)
Uvod. Motivacija. Istorijat jezika Java. Bajtkod i virtuelna mašina za Javu. Aplikacije i apleti. Prevodioci i alati. Pregled jezika Java.
Klase i objekti. Ugovor i implementacija. Polja i metodi. Parametri. Kontrola pristupa. Konstruktori. Preklapanje metoda. Statička polja, metodi i blokovi. Sakupljanje đubreta. Glavni program. Paketi.
Proširivanje klasa. Proširenje ugovora klase. Pojam korene klase Object. Zaštićeni članovi. Konstrukcija objekata. Redefinisanje metoda i sakrivanje polja. Referenca super. Konverzija i operator provere tipa. Konačne i apstraktne metode i klase. Metodi klase Object. Kloniranje objekata.
Interfejsi. Definicija interfejsa. Metodi i polja interfejsa. Implementacija interfejsa. Reference na interfejse. Jednostruko i višestruko nasleđivanje. Proširivanje interfejsa. Konflikti imena.
Izuzeci. Kreiranje tipova izuzetaka. Bacanje izuzetaka. Obrada izuzetaka. Konstrukcija try-catch-finally.
Ugneždeni tipovi. Prava pristupa. Statičke i unutrašnje klase. Relacije. Proširivanje unutrašnjih klasa. Lokalne klase. Anonimne klase.
Niti. Kreiranje, pokretanje i zaustavljanje niti. Neizvesnost trke i sinhronizacija niti. Kominikacija niti. Prioriteti i raspoređivanje niti.
Programiranje grafičkog korisničkog interfejsa. Koncepti paketa AWT. Hijerarhija klasa. Obrada događaja. Slušaoci i adapteri. Komponente i kontejneri. Prozori i kontrole: dijalozi, meniji, paneli, rasporedi, dugmad, polja za potvrde, radio dugmad, liste, padajuće liste, natpisi, polje za tekst i prostor za tekst.
Jezik C# i multijezička platforma .NET. Zajednički jezički interfejs. Sistem tipova i instrukcijski jezik platforme .NET/Rotor.
Pregled specifičnih elemenata jezika C#. Identifikatori. Operatori. Naredbe. Prostori imena.
Sistem tipova u jeziku C#. Ukazani i vrednosni tipovi. Strukture i klase. Pakovanje i raspakivanje. Svojstva. Indekseri. Delegati. Događaji.
Računarske mreže
(izborni, II godina, IV semestar)
Veb dizajn
(izborni, II godina, IV semestar)
Internet: istorija, osnovni pojmovi i koncepti. UlogaWeb čitača. Dizajn Web stranice i zahtevi korisnika.
Osnove HTML/XHTML jezika: images, tables, forms i frames. Korišćenje image maps, forms i tables tagova. Realizacija Cascading style sheets (CSS) za efikasnije formatiranje sadržaja stranica.
Osnove JavaScript jezika: Skript jezici i Web čitači. Sintaksa jezika, kontrole toka, objekti. Ponašanje JavaScript jezika u okviru različitih web čitača. Napredne tehnologije: Document Object Model (DOM). Mogućnost korišćenja multimedijalnih objekata. Korišćenje XML i XSL tehnologija.
Realizacija Web aplikacije uz korišćenje JavaScript, DOM i CSS tehnologija
Osnovni principi Grafičkog dizajna. Implementacija savremenih korisničkih interfejsa. Primeri realizacije osnovnih principa Web dizajna
Verovatnoća i statistika
(izborni, II godina, IV semestar)
Uvod u teoriju verovatnoće. Statistički eksperiment, prostor verovatnoće. Aksiome verovatnoće. Jednakoverovatni događaji. Geometrijska verovatnoća. Statistička definicija verovatnoće. Osobine verovatnoće. Primena kombinatorike. Beskonačni skupovi elementarnih događaja.
Uslovna verovatnoća i nezavisnost. Uslovna verovatnoća. Formula totalne verovatnoće. Bayesova formula. Primene Bayesove formule u tehničkim naukama.
Slučajne promenljive. Funkcija raspodele. Diskretne slučajne promenljive. Neprekidne slučajne promenljive. Slučajni vektori. Nezavisnost slučajnih promenljivih. Funkcije slučajnih promenljivih i slučajnih vektora.
Numeričke karakteristike slučajnih promenljivih. Matematičko očekivanje. Momenti. Kovarijansa i koeficijent korelacije. Matrica kovarijanse. Informacija i entropija.
Karakteristične funkcije. Definicija i osobine. Karakteristične funkcije slučajnih vektora.
Granične teoreme. Vrste konvergencije u teoriji Verovatnoće. Nejednakost Cebiseva. Zakoni velikih brojeva. Centralna granična teorema i njene primene. Empirijske funkcije raspodele i centralna teorema statistike.
Uslovne raspodele. Definicija uslovne raspodele u odnosu na slučajnu promenljivu. Uslovno matematičko očekivanje i varijansa. Uvod u predikciju. Primene.
Ocenjivanje parametara. Ocene parametara: matematičkog očekivanja, varijanse, verovatnoće. Primene centralne granične teoreme. Intervali poverenja.
Testiranje parametarskih hipoteza. Hipoteze o vrednosti parametra, Hipoteze o razlici parametara. T-test. Test jednakosti varijansi.
Neparametarsko testiranje. Hi kvadrat test sa primenama. Test Kolmogorova i Smirnova. Testiranje nezavisnosti.
Linearna regresija. Regresiona prava. Opšta linearna regresija. Testiranje hipoteza o regresionoj krivoj.
Monte Carlo metodi. Generisanje pseudoslučajnih brojeva. Generisanje slučajnih promenljivih sa datim raspodelama. Primene.
Signali i sistemi
(izborni, II godina, IV semestar)