ENGLISH

Doktorske studije Softversko inženjerstvo

Svrha studijskog programa

Svrha studijskog programa doktorskih studija Softversko inženjerstvo  je da se stvore uslovi za najviši nivo obrazovanja u ovoj naučnoj oblasti, koji će obezbediti da studenti postignu naučne kompetencije i akademske veštine iz oblasti softverskog inženjerstva. U tom smislu, studijski program treba da obezbedi da se kod studenata razvije smisao za kritičku procenu sopstvenih i tuđih istraživanja.

Područje Softversko inženjerstvo osposobljava studenata za profesionalni rad pri razvoju softvera, što je od posebnog značaja, jer je poznato da često softverski proizvodi, po svojoj pouzdanosti, znatno zaostaju za pouzdanošću proizvoda iz drugih oblasti tehnike. To je rezultat nedovoljne primene kako standarda, tako i jasno definisanih postupaka u razvoju softvera. Ono što je normalna praksa u razvoju drugih proizvoda, u razvoju softverskih proizvoda često nije, jer se ovi proizvodi razvijaju bez rigorozno postavljenih procesa i aktivnosti razvoja. Istraživanja u oblasti softverskog inženjerstva su neophodna kako bi i ova mlada naučna disciplina mogla da dostigne neophodnu zrelost (kao druge, starije tehničke discipline) koja vodi razvoju i proizvodnji mnogo boljih i pouzdanijih softverskih sistema.   Druga svrha studijskog programa je i u stvaranja novih univerzitetskih nastavnika u disciplini u kojoj postoji jako izražen nedostatak i u kvantitativnom, ali i o kvalitativnom smislu, jer najveći broj sadašnjih profesora, pogotoovu starije generacije,  nije mogao da ima adekvatno akademsko obrazovanje u ovoj mladoj naučnoj disciplini.

Cilj studijskog programa

Cilj studijskog programa je da studenti postignu naučne kompetencije i akademske veštine iz oblasti softverskog inženjerstva. To, pored ostalog, uključuje i razvoj kreativnih sposobnosti razmatranja problema i sposobnost kritičkog mišljenja, razvijanje sposobnosti za timski rad i ovladavanje specifičnim metodama i praktičnim veštinama potrebnim za obavljanje profesije. Studijski program ima za cilj da obezbedi fleksibilnost u obrazovanju i istraživanju, tj. što veće usklađivanje programa predmeta i istraživanja   u saglasnosti sa temom doktorske disertacije, s jedne strane, a da s druge, obezbedi dobro zaokružena i detaljnija znanja iz tri savremena područja primene softvera informacionih tehnologija.

Softversko inženjerstvo je disciplina koja se bavi razvojem i održavanjem pouzdanih i efikasnih softverskih sistema. Obrazovni program u području softverskog inženjerstva ima za cilj  da obezbedi vrhunsko znanje neophodno za razvoj profesionalnog softvera visokog stepena pouzdanosti u radu. U skladu sa tim, posebno se ističe značaj faza u razvoju softvera, tj. analize i evaluacije potreba za softverom, specifikacije zahteva,  projektovanje softvera i izrada i testiranje  koda softvera. Takođe, softversko inženjerstvo se vezuje za upravljanje procesom i kvalitetom, za kreativnost i inovacije, za standarde, za individualne veštine pojedinaca, ali i za sposobnost timskog rada i primenu pravila i iskustva iz  profesionalne prakse. Pored stvaranja vrhunskih stručnjaka koji će voditi timove koji su sposobni da razvijaju i složenije softverske sistema, studijski program ima i drugi cilj – da došprinese obrazovanju budućih univerzitetskih nastavnika iz oblasti softverskog inženjerstva. Nastavni plan doktorskih studija je u skladu sa potrebama osavremenjavanja i proširivanja smerova na poslediplomskim studijama na Metropolitan univerzitetu, kao i potrebama okruženja za istraživanjima iz ove izrazito interdisciplinarne i multidisciplinarne oblasti.

Kompetencije studenata nakon završenog studijskog programa

Studijski program u području Softverskog inženjerstva  omogućava da studenti, po završetku studija, tj. po doktoriranju, mogu da rade na sledećim poslovima:

  1. Postavljanje arhitekture inovativnih softverskih sistema;
  2. Primena naučnih metoda u projektovanju softverskih sistema;
  3. Programiranje, tj. implementacija projektnog rešenja izradom softvera u jednom od programskih jezika, kao što su Java, C++ ili C#;
  4. Obezbeđivanje kvaliteta softvera i njegovo testiranje, kao i njegovo konfigurisanje u skladu sa postavljenom arhitekturom softverskog sistema;
  5. Vođenje timova koji razvijaju složenije softverske sisteme.
  6. Rukovođenje razvojnim odelenjima firmi koje razvijaju profesionalni softver u skladu sa zahtevima tržišta, a i rukovođenje organizacijama koje se bave razvojom i proizvvodnjom softvera.
  7. Univerzitetski nastavnik u oblasti softverskog inženjerstva.

Struktura studijskog programa

Doktorske studije  iz Softverskog inženjerstva traju 3 godine ili 6 semestara (180 ESPB). Studijski program sadrži 6 obavezna i 4 izborna predmeta. Tri obavezna predmeta su specifična (SE691, SE692 i SE693, tj. Istraživački projekat 1, 2 i 3), jer omogućavaju pripremu kandidata i njegov rad na disertaciji i u 2., 3. i 4. Semestru, jer svaki od njih ima (kao projekti), definisane uslove za početak i kraj, i jasno definisan izlazni rezultat. Ostali predmeti omogućavaju studentima sticanje dodatnih znanja neophodnih za uspešnu realizaciju istraživanja koja sprovode  u funkciji izrade i odbrane doktorske disertacije.

 

Sem

Red broj

 

Doktorske studije

INFORMACIONE TEHNOLOGIJE

Izborni
modul (usmerenje):

SOFTVERSKO INŽENJERSTVO

 

ESPB

Nedeljni broj časova

Predavanja

SIR

1

1

NT600 Metodologija naučnoistraživačkog rada

10

6

2

1

2

SE630 Modeli softverskih sistema

10

4

2

1

3

SE640 Arhitekture softverskih sistema

10

4

2

2

4

SE691 Istraživački projekat 1

10

2

8

2

5

Izborni predmet 1 bloka 1

10

3

2

2

6

Izborni predmet 2 bloka 1

10

3

2

3

7

SE692 Istraživački projekat 2

10

2

8

3

8

Izborni predmet 1 bloka 2

10

3

2

3

9

Izborni predmet 2 bloka 2

10

3

2

4

10

SE693 Istraživački projekat 3

30

2

18

5

11

SE694 Samostalan istraživački rad na izradi doktorske disertacija

30

0

20

6

12

SE695 Izrada i odbrana  doktorske disertacije

30

0

20

Izborni blok 1 (student bira 2 predmeta)

CS661 Upotreba semantičke veb tehnologije u javnom sektoru

10

3

2

CS675 Istraživanje sistema e-učenja

10

3

2

CS681 Sistemi u realnom vremenu i ugrađeni sistemi

10

3

2

SE620 Testiranje i kvalitet softvera

10

3

2

Izborni blok 2  (student bira 2 predmeta)

CS550 Ozbiljne igre i simulacije u realnom vremenu

10

3

2

CS662 Eksperimentalno računarstvo

10

3

2

CS682 Softver za sisteme u realnom vremenu i ugrađene sisteme

10

3

2

SE650 Istraživanje u softverskom inženjerstvu

10

3

2

CS655 Veštačka inteligencija

10

3

2

 

Objašnjenje oznaka:  SIR – Studijski istraživački rad, ESPB = Evropski sistem prenosnih bodova

 

NT600 Metodologija naučno-istraživačkog rada

Cilj predmeta je da osposobi studenta za razumevanje šireg okvira koji podrazumeva definisanje najvažnijih delova naučno-istraživačkog rada kao što su: problem istraživanja –istraživačko pitanje, cilj (ciljevi), hipoteza (e), metodološki osvrt, a na osnovu potpune analize postojeće literature dostići razvoj naučnih spoznaja u posmatranoj oblasti, pri tome respektujući norme akademskog rada i uz korišćenje savremenih informatičkih alata i servisa. Nakon ovog predmeta student ima sposobnost razumevanja različitih naučnih metoda korišćenih u naučnoj literaturi; sposobnost uspešnog snalaženja u stručnoj literaturi; sposobnost uspešnog pisanja naučnog rada; sposobnost uspešnog kreiranja i realizacije doktorske disertacije. Teme obuhvaćene ovim predmetom su: Pojmovno određenje nauke; metodologija naučno-istraživačkog rada; opšte i posebne naučne metode; struktura naučnog rada;pisanje i publikovanje naučnog rada; pisanje doktorske disertacije; vrednovanje naučnih rezultata.

 

SE630 Modeli softverskih sistema

Ovaj predmet se bavi modelima razvoja softverskih sistema, i modelima dizajna softvera. Cilj je ovladavanje metodama modelovanja softvera, modelima dizajna softvera, i modelima planiranja i upravljanja softverskim projektima. U ovom predmetu student će se upoznati sa naprednim modelima softverskih sistema koji se danas koriste u svetu, i veština njihove primene u praksi. Predviđeno je da student uradi praktičan projekat iz modelovanja softvera, kao i seminarski rad koji je povezan sa projektom, a gde se predviđa pretraga po veb-u. Teme obuhvaćene ovim predmetom su: Modeli upravljanja i planiranja softverskim projektima, PERT model,  agilne modeli razvoja softvera, napredni UML (Unified Modelling Language), model ujedinjenog procesa razvoja softvera UP (Unified Process),  ICONIX model,  i modeli dizajna i konstruisanja softvera, formalni modeli softvera, OCL (Object Constraint Language), konkurentne mašine stanja, Z-modelovanje, Petri Net modelovanje.

 

SE640 Arhitekture softverskih sistema

Predmet nudi temeljno razumevanje problema razvoja složenih softverskih sistema baziranih na novim strategijama kompozitnog dizajna i distribuiranih softverskih komponenti. Istraživačka komponenta kursa usmerena je na unapređivanje postojećih i oblikovanje novih metoda za razvoj softvera. Nakon ovog predmeta student je osposobljen za dalje usavršavanje iz oblasti softverskog inženjeringa, samostalni naučni i stručni rad. Teme obuhvaćene ovim predmetom su: Ideje i tehnike za projektovanje, razvoj i modifikovanje velikih softverskih sistema. Definisanje zahteva za softversku arhitekturu, izrada idejnog projekta (koncepta), detaljnog dizajna i implementaciju softverske arhitekture visokog kvaliteta i performansi; Osnove softverske arhitekture (Istorijat softverskih arhitektura, definicije, terminologija; Modeli procesa razvoja softverskih arhitektura; Alati i tehnike modelovanja  softverskih arhitektura; Principi kompozitnog dizajna); Novi pristupi izrade kroz ‘4 + 1’ pogleda na softversku arhitekturu (Implikacije definicije  softverske arhitektura; Zachman- ov pogled; Cruchten- ov pogled); Atributi kvaliteta softverske arhitekture;Tradicionalne mere kvaliteta; Liste za proveru kvaliteta izrade  softverskih arhitektura; Razrada zahteva konkretnog softverskog projekta; Raščlanjivanje i modularnost); Arhitektonski stilovi – Uzorci (Arhitektonski stilovi i strategije; Karakteristike dobrog dizajna na nivou koncepta, logičkog i detaljnog dizajna); Klijent – Server arhitektura ( Osobine klijent-server softverske arhitekture, Tanki klijent, Debeli -napredni, Analiza performansi  klijent-server softverske arhitekture); Inženjering distribuirane Obrade (Centralizovano u odnosu na distribuirano: načini predstavljanja poslova, akcija u dizajnu softverske arhitekture; Definicije, predstavljanje i karakteristike softverske komponente; Distribuirana obrada: kompozicija, orkestracija, sinhronizacija i koreografija); Troslojne Arhitekture – CORBA (Opis delova  CORBA arhitekture,  Jezik za dizajn IDL, standardizacija  CORBA arhitekture); Troslojne, Četvoroslojne Java Arhitekture – J2EE (Opis delova J2EE arhitekture, Skup Java interfejsa,  Java  tehnologije distribuiranih objekata); Višeslojne servisno-orijentisane arhitekture–SOA (Paradigma Servisno-Orijentisanog računarstva; OO računarstvo u odnosu na Servisno-Orijentisano računarstvo, Servisno-Orijentisano Sistemsko Inženjerstvo, Servisno-Orijentisana paradigma razvoja softvera).

 

CS661 Upotreba Semantičke veb tehnologije u javnom sektoru

Predmet razmatra tehnologije Semantičkog veba koje je preporučio W3C konzorcijum i koje se već primenjuju za razvoj inovativnih višejezične proizvoda i usluga u javnom sektoru, bioinformatici, energetici, transportu, itd. Studenti će dobiti uvid u trendove razvoja semantičkih veb tehnologija i alata za javni sektor sa posebnim naglaskom na mogućnost za semantičku interoperabilnost podataka. Razumevanje principa Semantickog Weba; Sposobnost za primenu standardnih W3C rečnika i e-government tehnologija Evropskog ISA (Interoperability Solutions for European Public Administrations) programa; Sposobnost za ponovno korišćenje raspoloživih open-source alata; Sposobnost za projektovanje i razvoj semantičkih Veb rešenja (XML/RDF/OWL/SPARQL) u javnom sektoru. Nastava predviđa 5 modula:  Modul 1 (Uvod u Semantički veb)  prezentuje viziju Semantičkog veba i proces evolucije veba ka Semantičkom vebu. Takođe razmatra tehnologije Semantičkog veba koje je već preporučio W3C konzorcijum ili koje su u procesu standardizacije i objašnjava glavne izazove u razvoju Semantičkog veba; Modul 2 (Predstavljanje znanja i ontološki inženjering) opisuje veze Semantičkog veba sa naučnim oblastima “Knowledge management” i “Artificial intelligence” (AI), objašnjava prednosti servisno orijentisanih arhitektura i servisa Semantičkog veba. Modul razmatra ulogu metoda veštačke inteligencije i algoritme u ontološkom inženjeringu, naročito u oblasti ekstrakcije znanja i stvaranja ontologija, održavanja ontologija, validacije ontologija, kao i u ontološkom mapiranju i integrisanju; Modul 3 (Interoperability Solutions for European Public Administrations) prezentuje preporuke ISA-2 programa za primenu standardnih W3C recnika i e-government tehnologija u javnom sektoru. Modul analizira radne dokumene Evropske mreze za inovacije u javnom sektoru, sa posebnim naglaskom na mogućnostima za semantičku interoperabilnost u e-government servisima; Modul 4 (Upotreba semantičkih alata u javnom sektoru ) razmatra glavne funkcionalnosti alata (Semantičko modeliranje & razvoj, upravljanje semantičkim podacima & integrisanje, povezivanje / interlinkovanje, Semantičko pretraživanje i pronalaženje podataka), pruža značajne informacije o spremnosti za korišćenje komercijalnih alata i tehnologija Semantičkog veba kao i alata i tehnologija slobodnog otvorenog koda (open-source alata); Modul 5 (Vizija razvoja semantičkih e-government servisa) pruža ažuriranu sliku stanja istaživačkih aktivnosti Semantičkog veba u okviru Evropskih projekata iz šestog i sedmog okvirnog programa u vezi semantičkih tehnologija u javnom sektoru. Cilj je analizirati koristi od semantičkih tehnologija, kao i buduće potrebe i trendove razvoja e-government sistema.

 

CS675 Istraživanje sistema e-učenja

Cilj predmeta je da student razvije svoj istraživački potencijal u oblasti e-učenja, a na bazi detaljne analize stanja istraživanja u određnoj oblasti e-učenja.  Pored tehnološko, vršiće se analiza istraživanja u oblasti metodološko-pedagoškog aspekta  e-učenja. Razumevanje glavnih istraživačkih pravaca u oblasti e-učenja, a posebno u užoj oblasti u okviru koje student radi projekat. Student treba da razvije sposobnost za samostalno istraživanje u oblasti e-učenja. Teme obuhvaćene ovim predmetom su: Analiza stanja tehnologija i metodologija e-učenja, a posebno u užoj oblasti u kojoj student radi projekat u okviru ovog predmeta.  Teorija obrazovanja za e-učenje. Metodološki i pedagoški aspekti e-učenja; Tehnologije e-učenja: Razvoj infrastrukture za e-učenje. Raspoložive tehnologije za e-učenje. Karakteristike interaktivnih onlajn medija.  Mobilne tehnologije učenja i primena mobilnih uređaja u e-učenju. Sistemi za e-učenje. Primena Veb 2.0 u sistemima za e-učenje.  Nove tehnologije u e-učenju; Poslovni modeli obrazovanja putem e-učenja. Analiza fenomena MOOS (Massive Open Online Courses) i njihov pozitivan i negativan aspekt na e-učenje u zemljama u razvoju. Trendovi u istraživanju e-učenja. Definisanje kolaborativnih i poslovnioh modela saradnje provajdera e-obrazovanja.  Masovnost obrazovanja i  uticaj na njegov kvalitet. Uticaj internacionalizacije e-obrazovanja ma kvalitet obrazovanja. Strategije i istraživački pravci u oblasti personalizovanog učenja. Metodi kolaborativnog učenja i učenje primenom timskih projekata.

 

CS681 Sistemi u realnom vremenu i ugrađeni sistemi

Predmet nudi temeljno razumevanje interdisciplinarne prirode sistemske analize, projektovanja složenih sistema u realnom vremenu, životnog ciklusa procesa projektovanja kako hardvera ugrađenih računarskih sistema, tako i softvera. Nakon ovog predmeta student je osposobljen u sistemskoj analizi i projektovanju složenih sistema u realnom vremenu i ugrađenih sistema, ovladava hardverskim i softverskim arhitekturama, raspoređuje distribuiranim i konkurentnim objektima, ima sposobnost u testiranju performansi i pouzdanosti hardvera, softvera i integrisanog sistema. Teme obuhvaćene ovim predmetom su: Proučavanje arhitektura složenih sistema u realnom vremenu, sistemskog inženjerstva, napredne tehnike upravljanja i projektovanje složenih sistema. Definisanje zahteva za sistem upravljanja u realnom vremenu, izrada idejnog projekta (koncepta), detaljnog dizajna i implementaciju složenog ugrađenog sistema visokog kvaliteta i performansi; Izučavanje savremenih tehnika i slučajeva iz prakse u izradi složenih sistema (fiksna i mobilna digitalna telekomunikaciona mreža), njihove strukture, životnog ciklusa razvoja, modularni pristup, dekompozicija sistema, strukturnih modela (grafovi, mreže, binarne relacije i dr.). Primeri združenog hijerahijskog sistemskog dizajna. Pravci istraživanja u komunikacionim mrežama naredne generacije; Istraživanje šema i modela procesa projektovanja složenih sistema. Operativni sistemi za rad u realnom vremenu; Testiranje performansi i pouzdanosti hardvera, softvera i integrisanog sistema; Sistemi koji tolerišu otkaze (hardverske i softverske arhitekture); Metrika kompleksnosti dizajna. Globalni pristupi i lokalne tehnike (TRIZ strategija); Paradigme u odlučivanju alternativnih rešenja. Osnovni primeri tehnika odlučivanja. Višekriterijumska tehnika odlučivanja (funkcija korisnosti, poređenje u parovima, nivoi neuporedivosti/ekvivalentnosti, tehnike rangiranja i dr.). Integracija i agregacija pojedinačnih rešenja; Funkcionalno mapiranje. Osnovni modeli kombinatorne optimizacije: „knapsack“, problem izbora i dr. tipovi poznatih rešenja (tačna rešenja, aproksimativna rešenja). Tipovi algoritamskih rešenja (polinomska rešenja, algoritmi prebrojavanja i dr.), celobrojno nelinearno programiranje, problem pakovanja, problem raspoređivanja, problem maksimalnog grupisanja.

 

SE620 Testiranje i kvalitet softvera

Cilj predmeta je upoznavanje sa temama i pravcima istraživanja u oblasti testiranja i kvaliteta softvera i osposobljavanje za samostalni naučno istraživački rad. Ishod predmeta je vladanje metodologijom istraživanja i samostalnog rešavanja istraživačkih i naučnih problema u datoj oblasti.  Vladanje tehnikom pisanja i publikovanja naučnih radova u datoj oblasti. Teme obuhvaćene ovim predmetom su: Matematičko modeliranje procesa testiranja softvera, Merenje i identifikacija modela procesa testiranja softvera, Ocena efikasnosti verifikacije i validacije tokom životnog veka softvera, Kvantifikacija kvaliteta softvera, Objektivno ocenjivanje kvaliteta softvera, Primena veštačke inteligencije u testiranju softvera, Upravljanje kvalitetom softvera.

 

CS550 Ozbiljne igre i simulacije u realnom vremenu

Cilj predmeta je upoznavanje sa osnovama simulacije realnih pojava u virtuelnim okruženjima i u relanom vremenu. Ovladavanje osnovim tehnikama virtuelne realnosti zasnovane na tehnologiji računarskih igara i primenama u praksi. Ishod predmeta je Vladanje modeliranjem interakcije korisnika sa realnim okruženjem, matematičkim opisom odvijanja procesa u vremenu, modeliranje vizuelnih, taktilnih i zvučnih efekata. Vladanje  realizacijom virtuelnih okruženja primenom tehnologije 3D igara. Teme obuhvaćene ovim predmetu su: Opis sistema veštačke realnosti; Sistemi za generisanje osećaja na čulima;  Metodi interakcije sa objektima virtuelne realnosti; Tehnike kreiranja efektivne interakcije; Planiranje razvoja i implementacija sistema veštačke realnosti; Ocena uspešnosti sistema veštačke realnosti.

 

CS662 Eksperimentalno računarstvo

Predmet nudi temeljno razumevanje interdisciplinarne prirode tehnika merenja hardverskih i softverskih karakteristika, planiranje i eksperimentisanje, statistička obrada i analiza eksperimentalnih rezultata, optimizacija projektovanja računarskih i softverskih sistema. Cilj ovog predmeta je osposobljavanje studenta za uvođenje procesa merenja hardverskih i softverskih karakteristika računarskog sistema i eksperimentisanja u sistemskoj analizi i projektovanju složenih računarskih sistema u realnom vremenu i ugrađenih sistema. Teme obuhvaćene ovim predmetu su: Proces merenja (planiranje, izvršavanje, standardi), metrika i instrumenti (automatizacija, tačnost merenja i dr.) hardverskih i softverskih karakteristika računarskog sistema (RS) u modelovanju, razvoju i testiranju. Statistička analiza izmerenih vrednosti (podataka) i njihova primena u statističkoj kontroli kvaliteta procesa razvoja RS i proizvoda; Planirani Eksperiment -DOE (analiza i identifikacija kontrolisanih i nekontrolisanih faktora – promenljivih; nivoi variranja faktora; modeli i efekti uticajnih faktora; puni faktorski plan promenljivih sa 2, 3 i više nivoa variranja; analiza varianse; plan eksperimenta sa slučajnim blokovima; optimalni planovi eksperimenta; linerani i kvadratni regresioni modeli odziva; metod odzivne površine – Centralni kompozitni dizajn, Boh – Behnken i drugi);  Primena ortogonalnih vektorskih (OA) planova u minimizaciji broja test slučajeva u procesu testiranja hardvera i softvera RS (kombinatorne tehnike testiranja, izrada OA tabela ulaznih parametara u zavisnosti od nivoa variranja faktora, testiranje interakcije ulaznih promennjivih, mešoviti OA planovi i drugo); Optimizacija faktora procesa i parametara proizvoda Taguchi metodom u dizajnu RS (funkcija troškova, eliminacija variranja nekontrolisanih i kontrolisanih faktora, podešavanje faktora u cilju optimizacije procesa ili proizvoda, robusni tagučijev dizajn eksperimenta i dr.); Studije slučaja primene DOE i Taguchi metode u izboru faktora RS (veličina RAM memorije, brzina procesora, brzina spoljašnjih diskova, brzina grafičke kartice i sl. u cilju minimizacije cene računara), minimizacija troškova testiranja softvera u zavisnosti od broja otkrivenih grešaka u fazama razvoja softvera; uticaj karkteristika pojedinačnih uređaja na performanse računarskih mreža.

 

CS682 Softver za sisteme u realnom vremenu i ugrađene sisteme

Predmet nudi temeljno razumevanje interdisciplinarne prirode sistemske analize, projektovanja složenih sistema u realnom vremenu, životnog ciklusa procesa projektovanja kako hardvera ugrađenih računarskih sistema, tako i softvera. Cilj ovog predmeta je osposobljavanje studenta u sistemskoj analizi i projektovanju složenih sistema u realnom vremenu i ugrađenih sistema kroz tehnike modelovanja ugrađenog softvera, analizu i dizajn distribuiranih i konkurentskih objekata. Teme obuhvaćene ovim predmetom su: Klasifikacija konkurentnih i distribuiranih računarskih sistema (Sistemi sa uniformnim pristupom memoriji; Sistemi sa neuniformnim pristupom memoriji; Sistemi sa distribuiranom deljenom memorijom). Proučavanje hardverskih arhitektura složenih sistema u realnom vremenu, sistemskog inženjerstva, napredne tehnike upravljanja i projektovanje složenih sistema; Klasifikacija paradigmi konkurentnog programiranja (Programiranje pomoću deljenih promenljivih; Eksplicitno slanje i primanje poruka; Poziv udaljenih procedura; Mehanizam randevua). Programski prostor koji vidi programer kada piše program. Aktivni objekti (procesi, niti, agenti), pasivni podaci, virtuelni programski prostor za koordinaciju aktivnih delova programa (podaci i aktivne programski entiteti); Deljeni objekti i sinhronizacija (Proizvođač – potrošač; Čitaoci i pisci; Uzajamno isključivanje; Kritične sekcije; Rešenje za dve niti; Filter algoritam; Vremenski pečati; Redovi čekanja za niti); Modeliranje ugrađenog softvera (analiza i dizajn). Dijagram konteksta, mašina stanja i dijagram stanja. Analiza softverskih zahteva za sisteme u realnom vremenu i u ugrađenim sistemima. Dizajniranje višestrukih poslova, raspoređivanje i dodeljivanje resursa, operativni sistemi u realnom vremenu; Izučavanje savremenih tehnika i slučajeva iz prakse u izradi složenih sistema (fiksna i mobilna digitalna telekomunikaciona mreža), njihove strukture, životnog ciklusa razvoja, modularni pristup, dekompozicija sistema, strukturnih modela (grafovi, mreže, binarne relacije i dr.). Primeri združenog hijerahijskog sistemskog dizajna. Pravci istraživanja u komunikacionim mrežama naredne generacije.

 

SE650 Istraživanje u softverskom inženjerstvu

Cilj je da student uradi jedno naučno istraživanje u oblasti najnovijih metoda razvoja softvera, najnovijih metoda modelovanja i konstruisanja softvera. Takodje, upoznavanje sa najnovijim istraživačkim radovima (istraživačkim člancima) u oblasti softverskog inženjerstva. Student treba da uradi jedan istraživački projekt, koji će rezultirati u predlog teme za disertaciju. Istraživanje treba da bude u oblasti najnovijih metoda razvoja softverskih sistema i metoda i tehnika modelovanja i konstruisanja softvera. Obuhvaćene teme su: Najnoviji modeli softverskih sistema; Najnovije metode razvoja softvera; Najnovije tehnike konstruisanja softvera; Najnovije metode automatizacije razvoja softvera.

 

CS655 Veštačka inteligencija

Predmet daje uvod u veštačku inteligenciju i opisuje različite tehnike veštačke inteligencije: tehnike za učenje, odnosno modelovanje procesa/ pojava (veštačke neurnske mreže), tehnike za optimizaciju procesa/pojava (genetski algoritam, simulirano izvlačenje, itd.), fuzzy logiku, ekspertne sisteme (bazirane na pravilima, i bazirane na slučajevima), kao i inteligentne sisteme / sisteme bazirane na znanju. Nakon izučavanja naučne discipline Veštačka  inteligencija, studenti će posedovati  primenjena znanja u smislu korištenja tehnika veštačke inteligencije i inteligentnih sistema uopšte  za rešavanje praktičnih problema iz industrijske prakse ili naučno-istraživačke prakse. Teme obuhvaćene predmetom su: Uvod u veštačku inteligenciju; inteligentni sistemi / sistemi bazirani na znanju (knowledge-based systems); mašinsko učenje (machine learning), veštačke neuronske mreže (artificial neural networks – ANNs), mašina vektora podrške (support vector machine – SVM);  evolucioni algoritmi (evolutionary algorithms): genetski algoritam (genetic algorithm – GA), simulirano izvlačenje (simulated annealing – SA), optimizacija na bazi kolonije mrava (ant colony optimisation – ACO), optimizacija na bazi jata čestica (particle swarm optimisation – PSO); fuzzy logika / fuzzy sistemi; ekspertni sistemi, ekspertni sistemi na bazi pravila (rule-based expert systems), rezonovanje na bazi slučajeva (case-based reasoning); hibridni inteligentni sistemi.

 

SE691 Istraživački projekt 1

Osnovni cilj predmeta je da omogući studentu da definiše užu oblast usvoje disertacije.  Pored osnovnog, predmet ima  i da sekundarna cilja. Predmet ima dva cilja. Prvi  – da omogući studentu razvoj kritičke analize naučnih radova, a drugi – da omogući studentu detaljno istraživanje naučne literature i rezultata istraživačkih projekata iz domena u kome očekuje da radi doktorsku disertaciju. Kao rezultat analize relevantnih istraživanja, kandidat izrađuje seminarski rad u kome se daje  detaljna analiza tih istraživanja. Pored seminarskog rada, kandidat priprema za objavljivanje jedan pregledni rad istraživanja u oblasti u kojoj očekuje da će biti njegova disertacija. Pored ovoga, kandidat predaje i kraći dokument  (1-3 strane) u kome ukratko određuje užu istraživačku oblast u kojoj očekuje d radi svoju disertaciju, a eventualno, i ciljeve svog daljeg istraživanja.

 

SE692 Istraživački projekt 2

Ovaj predmet ima za cilj da omogući studentu definisanje konačne teme doktorske disertacije i izradu detaljnog plana istraživanja u okviru svoje disertacije. Student  radi seminarski rad u kome se daje  dopunsku i proširenu analizu istraživanja iz užeoblasti u okviru koje radi i istraživanja u okviru svoje disertacije, a na osnovu dodatnog proučavanja tuđih istraživanja. Ukoliko kandidat nije pripremio ili objavio pregledni  rad kao rezultat rada na predmetu SE691, dužan je da to uradi u okviru ovog predmeta.  Na kraju, student podnosi detaljan plan istraživanja u okviru svoje doktorske disertacije, saposebnim naglaskom ka jasnom definisanju naučnog doprinosa disertacije.  Ukoliko to nije ranije pripremljeno i urađeno, ovaj predlog daje napred kolegijumu nastavnika programa doktorskog programa na prihvatanje koji onda predlaže mentora. Predlog teme i programa disertacije i predlog za imenovanje mentora se upućuje nadležnom organu univerziteta na usvajanje.

 

SE693 Istraživački projekat 3

Ovaj predmet ima za cilj da omogući studentu izradu prvog rada u kome izlaže deo svog naučnog doprinosa istraživanja koja sprovodi u okviru pripreme svoje doktorske disertacije. Student daje izveštaj o realizaciji projekta koji obuhvata  deo istraživanja planiranih u okviru pripreme svoje disertacije. Takođe,  student daje i svoj naučni rad sa prvim rezultatima svojih istraživanja koji treba da izloži deo naučnog doprinosa njegove buduće disertacije.  Posle usvajanja  rada od strane mentora, rad se daje na objavljivanje međunarodnom časopisu sa SCI liste.

 

SE694 Samostalan istraživački rad na izradi doktorske disertacije

U okviru ovog dela izrade doktorske disertacije student istražuje zadati problem u skladu sa postavljenim planom istraživanja i da objavi bar jedan rad u međunarodnom časopisu na SCI listi. Na osnovu sprovedenih istraživanja u skladu sa ranije usvojenim planom,  student treba da napiše doktorsku disertaciju. Doktorska disertacija treba da predstavlja izvoran i samostalan naučni rad, koji doprinosi razvoju naučne misli, a koji je po metodologiji obrade i stepenu doprinosa nauci podesan za utvrđivanje sposobnosti kandidata da kao samostalni istraživač deluje u odabranoj naučnoj oblasti. Student treba da objavi najmanje jedan naučni  rad u izbornom području u međunarodnom časopisu na SCI listi.  To može biti rad koji je poslat na recenziju i objavljivanje, kao rezultat istraživanja u okviru predmeta SE693 Istraživački projekat 3, a može biti i novi rad, koji obuhvata i istraživanja koja su sprovedena i posle slanja prvog rada na objavljivanje. Smatra se da ostvaren željeni ishod ovog predmeta, ako je objavljen ranije poslat prvi rad, a ako je poslat na objavljivanje još jedan ili više radova, prihvata se informacija urednila časopsia da je rad prihvaćen za objavljivanje.  Ovi radovi treba da izlože rezultate istraživanja studenta rađenih u okviru pripreme  doktorske disertacije  i oni treba da jasno prikažu naučni doprinos disertacije u  oblasti softverskog inženjerstva, tj. u  rešavanju aktuelnog problema (nov model, nova tehnika, nov pristup,…).  Bez objavljivanja bar jednog naučnog rada u međunarodnom časopisu na SCI listi, ne može se prihvatiti doktorska disertacija i zakazati njena odbrana.

 

SE695 Izrada i odbrana doktorske disertacije

Uslov za Izradu i odbranu doktorske disertacije je objavljen rad u međunarodnom časopisu na SCI listi, urađenog u okviru rada na predmeti SE693 Istraživački projekat 3, a opciono, i prihvaćen za objavljivanje drugi naučni rad od strane relevantnog međunarodnog časopisa na SCI listi, a urađenog u okviru rada na predmeti SE694 Samostalan istraživački rad na izradi doktorske disertacije. Doktorska disertacija treba da predstavlja izvoran i samostalan naučni rad, koji doprinosi razvoju naučne misli, a koji je po metodologiji obrade i stepenu doprinosa nauci podesan za utvrđivanje sposobnosti kandidata da kao samostalni istraživač deluje u odabranoj naučnoj oblasti.