Sinigudnum logo
Tehnički fakultet Novi Sad

Softversko i informaciono inženjerstvo

SII

Ovaj studijski program obezbeđuje najšira znanja iz oblasti softverskog i informacionog inženjerstva. Na studijama se izučavaju metodološki aspekti razvoja složenih softverskih i informacionih sistema i najsavremenije prateće, posebno softverske tehnologije za primenu softverskog i informacionog inženjerstva u različitim domenskim oblastima.

hat Studenti koji završe studije na ovom studijskom programu stiču akademsko zvanje diplomirani inženjer softvera.

Prijavi se za upis

Poseban naglasak je na praktičnom radu kroz sve predmete, obaveznu stručnu praksu u trećoj godini studija i neobaveznu kontinuiranu stručnu praksu. Neobavezna praksa realizuje se u trećoj i četvrtoj godini studija u više kompanija sa osnovnim ciljem da student ostvari kontakt i saradnju sa potencijalnim poslodavcima i poslovnim partnerima.

Nakon završenih studija, diplomirani inženjeri softvera mogu da rade na poslovima programiranja, testiranja, operacije i održavanja, te projektovanja arhitekture najsloženijih Veb baziranih softverskih sistema uključujući i mobilne aplikacije i klaud sisteme. Zaposlenje mogu da nađu u IT kompanijama, u službama/sektorima za IT podršku u organizacijama iz drugih delatnosti (različite vrste industrijske proizvodnje, bankarstvo, osiguranje, zdravstvo, poljoprivreda, obrazovanje, javna uprava i administracija, itd.) a osposobljeni su i da pokrenu i uspešno vode sopstveni biznis na globalnom tržištu.

Važna specifičnost ovog studijskog programa je što student već nakon treće godine studija stiče sve kompetencije za profesionalno obavljanje programerskih poslova, odnosno može da se zaposli na radnom mestu developera Veb aplikacija, mobilnih aplikacija i standardnih desktop aplikacija.

Studijski program je u potpunosti usklađen sa međunarodnim ACM/ IEEE preporukama i usaglašen sa studijskim programima na eminentnim evropskim i svetskim univerzitetima što pruža široke mogućnosti daljeg školovanja i usavršavanja kroz diplomske – master studije, specijalističke studije i doktorske studije na univerzitetima širom sveta.

Za upis na studije kandidat je obavezan da položi prijemni ispit koji se na studijskom programu Softversko i informaciono inženjerstvo sastoji se od:

  • testa opšte informisanosti i kulture (5 pitanja),
  • testa inteligencije (5 pitanja),
  • testa iz informatike (20 pitanja),
  • Inženjer za veb-dizajn
  • Inženjer za razvoj i implementaciju zaštite u računarskim sistemima
  • kratkog intervjua koji ima za cilj da kandidatu pruži detaljnije informacije o studijskom programu (sadržaji, način izvođenja nastave, način polaganja ispita, mogućnosti zapošljavanja, vannastavne aktivnosti koje se nude I slično) I da mu omogući da se lično predstavi I iskaže svoja očekivanja od studiranja.

Prijavi se za upis

Nakon onlajn prijave, kandidat dobija mejl sa parametrima uz pomoć kojih će moći da se prijavi na platformu za polaganje prijemnog ispita: Link. Nakon prijave na navedenu platformu kandidat će moći da pristupi potrebnom materijalu za spremanje prijemnog ispita.

Polaganje prijemnog ispita je besplatno i ne obavezuje kandidata da upiše studije.

hat Cena školarine za ovaj studijski program na srpskom jeziku iznosi 2400 € u dinarskoj protivvrednosti.

books U cenu školarine su uključeni svi udžbenici.

I godina

Digitalni računar je fizički uređaj sa organizacijom i arhitekturom koja mu pruža jedinstvenu sposobnost da ispolji raznovrsno ponašanje definisano programom koji računar izvršava. Cilj predmeta je ovladavanje osnovnim znanjima o organizaciji i arhitekturi digitalnih računara i veštinom programiranja na nivou fizičke mašine uz oslonac na asemblerski jezik. Predmet obuhvata sledeće sadržaje: Matematičko logičke osnove rada računara iz naglasak na brojevima, brojnim sistemima, kodovima i kodnim sistemima, minimizaciji prekidačkih funkcija, projektovanju mreža sa memorijom. Hardverska organizacija i arhitektura računara uz naglasak na arhitekturi i organizaciji procesora, arhitekturi i organizaciji memorijskog podsistema, i arhitekturi ulazno/izlaznog podsistema. Softverska organizacija i arhitektura računara uz naglasak na programskom modelu računara, adresnoj strukturi, formatima instrukcija, tehnikama pristupa operandima, repertoaru instrukcija, i principima programiranja na simboličkom asemblerskom jeziku.

Matematika predstavlja fundamentalnu disciplinu za sve oblasti inženjerstva pa i za softversko inženjerstvo. Cilj predmeta je sticanje matematičkih znanja na kojima se temelji dizajn i programiranje računarskog softvera. Predmet obuhvata sledeće sadržaje: Osnove Bulove algebre i njene primene u računarstvu sa naglaskom na organizaciji i arhitekturi računara; Osnove linearne algebre i njene primene u računarstvu sa naglaskom na računarskoj geometriji i linearnim sistemima. Osnove matematičke analize sa naglaskom na primeni koncepta funkcije u računarskom programiranju i modeliranju tehničkih sistema.

Računar je jedinstven uređaj koji može da izvršava različite zadatke izvršavajući različite programe. Te programe pišu ljudi koristeći različite više simboličke programske jezike. Neki izvori tvrde da je do sada kreirano skoro 9000 programskih jezika od kojih je danas u opticaju preko 250, a novi jezici se stalno pojavljuju. Uprkos ogromnom broju međusobno različitih programskih jezika, postoje koncepti koji su zajednički za sve programske jezike i čijim razumevanjem se stiče sposobnost lakog učenja novih programskih jezika. Cilj predmeta je upravo ovladavanje osnovnim konceptima i jezičkim konstruktima viših simboličkih programskih jezika i njihovom primenom za imperativno i proceduralno programiranje algoritama srednjeg nivoa složenosti korišćenjem konkretnog jezika Python. Predmet obuhvata sledeće sadržaje: Proces razvoja softvera (problem, algoritam, program). Koncepti i konstrukti simboličkih programskih jezika (lokacija, dodela, ime, izrazi, funkcije i procedure, tipovi). Paradigme programiranja (strukturirano, objektno i deklarativno). Programski jezik Python (karakteristike jezika i izvršavanje Python koda, promenljive i dodele, izrazi, naredbe, selekcija, iteracija, tipovi i strukture podataka, rad sa fajlovima, funkcije i rekurzivne funkcije, objekat, klasa, nasleđivanje, organizacija Python koda).

Menadžment je proces planiranja, organizovanja, vođenja i kontrole ljudi u organizaciji radi efikasnog korišćenja resursa za postizanje organizacionih ciljeva. Softversko inženjerstvo posmatra razvoj i operaciju softvera kao organizovane i kontrolisane procese koji imaju za cilj razvoj i korišćenje složenih softverskih proizvoda u uslovima ograničenih resursa, odnosno podrazumeva primenu menadžmenta. Cilj predmeta je da studenti shvate pojam menadžmenta i evoluciju teorije menadžmenta, da prepoznaju trendove u menadžmentu 21. veka, da razumeju sve odrednice u vezi sa procesom i fazama menadžmenta (planiranje, organizovanje, vođenje i kontrola), da se upoznaju sa procesom menadžmenta kroz proučavanje studija slučaja i da razumeju značaj menadžmenta u poslovanju savremenih organizacija. Predmet obuhvata sledeće sadržaje: Uvod u menadžment; Evolucija teorija menadžmenta; Etika i društvena odgovornost; Komunikacija; Planiranje i odlučivanje; Organizaciona strategija; Inovacija i promena; Organizovanje; Menadžment ljudskih resursa; Motivisanje; Upravljanje timovima; Liderstvo; Kontrola; Razvoj menadžerskih i komunikacionih veština.

Sticanje znanja i veština kojima vlada kvalitetan inženjer softvera zahteva obimno učenje u uslovima ograničenog vremena a prisustvo softvera u svim, ponekad i vrlo delikatnim sferama ljudskog života postavlja pred inženjere softvera visoku etičku odgovornost. Cilj ovoga predmeta je ovladavanje najsavremenijim metodama, tehnikama, veštinama i alatima za učenje, uključujući i korišćenje studentskih servisa informacionog sistema Univerziteta, te formiranje ispravnih ličnih profesionalnih i etičkih stavova softverskog inženjera. Predmet obuhvata sledeće sadržaje: Veštine učenja i alati za učenje sa naglaskom na inženjerskom pristupu rešavanja problema, akademskim veštinama, metodama i tehnikama učenja, i alatima za tehnološki podržano učenje i studiranje. Polaganja ispita sa naglaskom na ublažavanju ispitne anksioznosti, pripremi za polaganje ispita, i strategijama za polaganje ispita. Etika u računarskom i softverskom inženjerstvu sa naglaskom na osnovnim pravilima i principima etičkog ponašanja u računarstvu, etičkim dilemama u računarstvu i njihovom rešavanju, savremenim etičkim problemima (hakerska etika, etički izazovi u veštačkoj inteligenciji i robotici). Regulativni i pravni okvir etike računarstva sa naglaskom na pravu intelektualne svojine i privatnosti podataka.

Računar je jedinstven uređaj koji može da izvršava različite zadatke izvršavajući različite programe. Te programe pišu ljudi koristeći različite programske jezike. Razlikuju se dva osnovna stila (paradigme) programiranja: imperativni i deklarativni. Jedan od deklarativnih stilova programiranja koja danas doživljava ogroman uspon je funkcionalno programiranje. Ciljevi predmeta su sledeći: ovladavanje programskim jezikom JavaScript, razumevanje teorijskih osnova paradigme funkcionalnog programiranja i sticanje kompetencija za izradu računarskih programa pisanih funkcionalnim stilom programiranja u programskom jeziku JavaScript. Predmet obuhvata sledeće sadržaje: Paradigme programiranja i tipizacija (imperativna, deklarativna, funkcionalna paradigma; tipovi i Hindley-Milne-ovar signatura tipa). Osnove programskog jezika JavaScript (struktura koda; varijable, tipovi, operatori; kontrola toka; objekti i nizovi; funkcije; kontekst izvršavanja, dosezanje, zatvaranje). Asinhrono programiranje u JavaScript-u (sinhronost i asinhronost; promise, iteratori). Principi funkcionalnog programiranja (funkcija kao apstrakcija, referencijalna transparentnost, bočni efekat, čiste funkcije, imutabilnost, kompozicija funkcija). Operacije sa listama (mapiranje, filtriranje, redukcija). Transdjuseri (definicija, pravila transdjusera, protokol). Rekurzija i memoizacija (definicija rekurzije, rekurzija i stek, preuređivanje rekurzije, memoizacija). Funktori i monade (funktori, aplikativni funktori, monade; upravljanje bočnim efektima i greškama). Teorijske osnove funkcionalnog programiranja (osnove Lambda računa, osnove teorije kategorija).

Diskretna matematika je oblast matematike koja se bavi proučavanjem matematičkih struktura koje su po svojoj prirodi “diskretne”. Kako je digitalni računar “diskretan” uređaj oslonjen na binarni sistem (sistem koji sve radi koristeći samo dva različita simbola – 0 i 1), diskretna matematika predstavlja teorijsku osnovu digitalnih računara. Cilj predmeta je sticanje osnovnih znanja iz oblasti diskretne matematike i razumevanje načina korišćenja diskretne matematike za dizajn i analizu algoritama i osnovnih tipova i struktura podataka (brojevi, skupovi, grafovi) u računarskom programiranju. Predmet obuhvata sledeće sadržaje. Osnove matematičke logike i njena primena u bazama podataka, mašinskom rasuđivanju i automatskom dokazivanju. Pojmovi relacije i funkcije i njihova primena u bazama podataka (relacije među tabelama, SQL jezik); Osnove kombinatorike i primena u računarskom kodovanju i računarskoj geometriji. Osnove teorije brojeva i primene u računarskoj bezbednosti (šifrovanje, RSA algoritam šifrovanja). Grafovi i algoritmi na grafovima (pretraga, optimizacija).

Niklaus Wirth, koji je dobio Tjuringovu nagradu za razvoj niza inovativnih programskih jezika, napisao je 1975. godine jednu od kultnih knjiga iz oblasti programiranja računara pod naslovom “ Algoritmi + Strukture Podataka = Programi”. Već sam naslov te knjige jasno iskazuje mesto algoritama i struktura podataka u programiranju. Cilj predmeta je spoznaja uloge i značaja koncepta algoritma i koncepta strukture podataka u računarskom programiranju, upoznavanje sa bitnim osobinama struktura podataka i algoritama, i osposobljavanje za rad sa osnovnim strukturama podataka i algoritamima u programskim jezicima Java i Python.. Predmet obuhvata sledeće sadržaje: Uvod (primeri dizajna i analize algoritama: sortiranje i pretraživanje). Složenost algoritma (asimptotska notacija, vremenska složenost, memorijska zahtevnost). Osnovne linearne strukture podataka (pojam, jednodimenzionalni nizovi i matrice, indeksiranje). Lista i stek (pojam, operacije). Red za čekanje (pojam, operacije, prioritetni redovi i sortiranje). Rekurzija (rekurzivni agoritmi, analiza rekurzivnih algoritama). Stablo (pojam, korenska i binarna stabla, binarna stabla pretrage, binarni hipovi). Grafovi i algoritmi na grafovima (pojam, algoritmi za obilazak grafa, algoritmi za povezujuće stablo grafa).

Predmet Engleski jezik 1 je koncipiran na osnovu udžbenika Complete First Certificate (Cambridge University Press) kome odgovara srednji viši nivo (upper-intermediate level or Common European Framework level B2). Ovaj kurs predstavlja takođe pripremu za one koji žele da steknu sertifikat o poznavanju opšteg engleskog jezika na srednjem nivou. (FCE). Cilj predmeta je osposobljavanje studenta da, u različitim situacijama iz svakodnevnog života i profesionalnog delovanja, potpuno i samostalno razume i u govornoj i pisanoj formi gramatički i pravopisno ispravno i precizno se izražava na engleskom jeziku kojim se služe oni kojima je engleski jezik maternji. Predmet obuhvata dve grupe sadržaja. Prva grupa su gramatičke celine koje treba da doprinesu sposobnosti gramatički i pravopisno ispravnog i preciznog izražavanja , a druga grupa su vokabularne celine koje treba doprinesu izgradnji i obogaćivanju rečnika, posebno u domenu računarstva i softvera.

II godina

Objektno orijentisano programiranje, koje spada u imperativni stil, je danas verovatno najrasprostranjenija paradigma programiranja. Posebno je rašireno objektno programiranje bazirano na obrascu klase čiji je reprezentativni predstavnik programski jezik Java. Cilj predmeta je sledeći: razumevanje osnovnih koncepata paradigme objektnog programiranja i osnovnih karakteristika Java-e i objektno orijentisanih programskih jezika, sposobnost samostalne primene osnovnih koncepata programiranja u programskom jeziku Java i korišćenje Java standardnih biblioteka, samostalan razvoj objektno orijentisanih programa srednjeg nivoa složenosti u programskom jeziku Java uz korišćenje programskih paketa Eclipse i IntelliJ. Predmet obuhvata sledeće sadržaje: Paradigma objektnog programiranja (nasleđivanje, enkapsulacija, polimorfizam, apstrakcija podataka). Programski jezik Java (osnovni elementi jezika Java, objektni elementi programskog jezika Java, generičko programiranje, Java kolekcije, Java izuzeci, Java rad sa datotekama).

Operativni sistem (OS) je sistemski softver koji upravlja računarskim hardverom i softverskim resursima i pruža servise za sve aplikativne računarske programe. Aplikativni programi ne mogu da rade bez operativnog sistema. Cilj predmeta je spoznavanje pojma operativnog sistema računara i njegove uloge u funkcionisanju računara, spoznavanje osnovnih koncepata i delova, strukture, principa rada, načina za implementaciju, pravilnog konfigurisanja, softverskog održavanja i korišćenja operativnog sistema računara u projektovanju informatičkih rešenja. Sadržaji predmeta su: Uvod u operativne sisteme (pojam i mesto u računarskom softveru). Struktura operativnog sistema (monolitni, slojeviti, klijent-server, virtuelna mašina). Upravljanje procesima (procesi i niti, sinhronizacija, raspoređivanje). Potpuni zastoj (uslovi za zastoj, detekcija i oporavak, izbegavanje, preveniranje). Upravljanje memorijom (svopovanje, virtuelna memorija, straničenje, segmentacija). Sistem datoteka (datoteke, katalozi, implementacija fajl sistema). Multiprocesorski operativni sistemi (tipovi, sinhronizacija raspoređivanje). Distribuirani operativni sistemi (mrežni servisi i protokoli, srednji sloj). Multimedijalni sistemi i sistemi za rad u realnom vremenu (raspoređivanje procesa, upravljanje fajlovima). Primeri operativnih sistema (Windows/Windows Server, Linux/Linux Server).

U računarstvu, baza podataka je organizovana kolekcija podataka ili vrsta skladišta podataka zasnovana na korišćenju sistema za upravljanje bazom podataka (SUBP), softvera koji komunicira sa krajnjim korisnicima, aplikacijama i samom bazom podataka u procesima prikupljanja i analize podataka. Savremeni informacioni sistemi ne mU računarstvu, baza podataka je organizovana kolekcija podataka ili vrsta skladišta podataka zasnovana na korišćenju sistema za upravljanje bazom podataka (SUBP), softvera koji komunicira sa krajnjim korisnicima, aplikacijama i samom bazom podataka u procesima prikupljanja i analize podataka. Savremeni informacioni sistemi ne mogu se zamisliti bez baze podataka. Cilj predmeta je sticanje teorijskih i praktičnih znanja za rad sa bazama podataka, razumevanje tehnike modelovanja podataka i ovladavanje SQL jezikom za rad sa relacionim bazama podataka, kao i praktično ovladavanje tehnikama administracije i održavanja baza podataka u modernim višeslojnim internet aplikacijama. Sadržaji predmeta su sledeći: Uvod (slabosti sistema zasnovanih na datotekama i osnovni pojmovi o bazama podataka). Model objekti-veze (entiteti, atributi, karakteristične veze, kardinalnosti, specijalne veze). Upiti nad relacionim bazama podataka (relaciona algebra, Osnove ANSI SQL jezika). Upravljanje performansom i integritetom (normalizacije i denormalizacija). Transkacione baze (pojam transakcije, mehanizmi transakcije). Rad sa bazama podataka (prezentacioni, aplikacioni i sloj baze podataka). Administracija baza podataka (instalacija, konfigurisanje, oporavak u slučaju otkaza). Uvod u složenije sisteme sa bazama podataka.ogu se zamisliti bez baze podataka.

Verovatnoća i statistika su dve tesno povezane oblasti matematike koje se bave slučajnim događajima, odnosno otkrivanjem obrazaca u velikim skupovima podataka. Danas predstavljaju teorijsku osnovu na koju se oslanjaju najaktuelnije oblasti računarstva - nauka o podacima i mašinsko učenje. Cilj predmeta je sticanje teorijskih, aplikativnih i praktičnih programerskih znanja koja predstavljaju osnovu nauke o podacima i mašinskog učenja.. Sadržaji predmeta su sledeći: Uvod u istraživanje podataka (programskih jezici Python i/ili R). Uvod u teoriju verovatnoće (događaji, ishodi, prostor verovatnoće). Uslovna verovatnoća (pojam, Bajesova teorema, nezavisnost). Diskretne slučajne promenljive (pojam, raspodele); Kontinualne slučajne promenljive (pojam, raspodele). Numeričke karakteristike slučajnih promenljivih (očekivana vrednost, varijansa, momenti). Granične teoreme (zakon velikih brojeva, centralna granična teorema); Osnove statističkog rezonovanja ( estimacija parametara raspodele, tačkaste ocene i intervali poverenja. parametarsko testiranje hipoteza; neparametarsko testiranje hipoteza). Statističko modelovanje i regresija (regresioni model, linearna regresija, nelinearna regresija, logistička regresija). Uvod u mašinsko učenje i nauku o podacima.

Računarsko umrežavanje se odnosi na međusobno povezane računarske uređaje koji mogu da razmenjuju podatke i dele resurse jedni sa drugima koristeći sistem pravila (komunikacioni protokoli) za prenos informacija preko fizičkih ili bežičnih tehnologija. Da bi se predočio značaj računarskih mreža u softverskom inženjerstvu dovoljna je jedna rečenica: Internet je računarska mreža. Cilj predmeta je sticanje teorijskih i praktičnih znanja iz komunikacionih tehnologija i računarskih mreža koja su potrebna za samostalno projektovanje i održavanje računarskih mreža uz puno razumevanje bezbednosnih izazova i primenu sveobuhvatne slojevite zaštite. Sadržaji predmeta su sledeći: Računarske telekomunikacije (principi, signali, prenos podataka). Referentni modeli (ISO/OSI, TCP/IP). Fizičke komponente računarske mreže (aktivna i pasivna oprema, prenosni medijumi, kablovi i kabliranje, interfejsi). Tehnologije računarskih mreža (tehnologije lokalnih računarskih mreža, tehnologije računarskih mreža na širem području, pristup Internetu). TCP/IP mreže (Mrežni sloj, međumrežno povezivanje; Internet protokol verzije 4, adresovanje i podmrežavanje; Rutiranje i protokoli rutiranja). Privatne mreže (prevođenje mrežnih adresa, prosleđivanje portova). Slojevi komunikacije (Transportni sloj: protokoli sa i bez uspostave veze, TCP, UDP); Aplikativni sloj: softverske arhitekture, Telnet/SSH, DNS, FTP/NFS/CIFS). Servisi (Veb servis, servis elektronske pošte). Bezbednost u računarskim mrežama (osnove , Firewall, IDS i IPS sistemi).

Objektno orijentisano programiranje, koje spada u imperativni stil, je danas verovatno najrasprostranjenija paradigma programiranja koja pruža značajne napredne mogućnosti za objektni razvoj softvera. Implementiraju ga različiti programski jezici među kojima je i programski jezik C++. Cilj predmeta je dublje razumevanje paradigme objektnog programiranja, ovladavanje veštinom naprednog objektnog programiranja i ovladavanje programskim jezikom C++. Predmet obuhvata sledeće sadržaje: Višenitno programiranje u jeziku Java (klasa Thread, interfejs Runnable, sinhronizacija i saradnja niti, klasični problemi u višenitnom okruženju). Grafičko programiranje jeziku Java (rad sa osnovnim Java bibliotekama za grafičko programiranje, Swing i AWT). Napredne tehnike (Lambda izrazi, Java Stream API). Objektno orijentisano programiranje u jeziku C++ (uvod u jezik, struktura jezika, funkcije, klase, objekti, enkapsulacija, nasleđivanje, rad sa standardnim bibliotekama).

Specifikacija i modeliranje softverskih sistema, njihovih aspekata i procesa njihovog razvoja je samo srce softverskog inženjeringa. Savremeno softversko inženjerstvo je nezamislivo bez primene postupaka modelovanja, štaviše jedan od osnovnih pristupa razvoju softvera naziva se modelom vođen razvoj (MDD) softvera. Cilj predmeta je ovladavanje osnovnim znanjima iz oblasti specifikacije, modelovanja i prototipske realizacije složenih softverskih proizvoda, ovladavanje konceptima modelom vođenog razvoja softvera, i osposobljavanje za samostalnu specifikacija, modelovanje i prototipsku izradu softverskog proizvoda srednjeg nivoa složenosti. Sadržaji predmeta su sledeći: Inženjerstvo softvera (principi, metodologija, odnos procesa i proizvoda, odnos sistem softver, inženjerstvo softvera i programiranje, formulacija vizije složenih softverskih proizvoda). Inženjerstvo zahteva (specifikacija i modelovanje zahteva u skladu sa principima korpusa znanja u softverskom inženjerstvu SWEBOK, specifikacija zainteresovanih strana, alokacija zahteva, klasifikacija i analiza zahteva, verifikacija i validacija modela zahteva). Modelom vođeni razvoj softvera (principi i uloga modeliranja, modelovanje interakcija putem slučajeva upotrebe, transformacija modela zahteva u model slučajeva upotrebe, osnovi jezika UML). Modelovanje statičke strukture složenih softverskih proizvoda (klasni dijagrami i transformacija modela slučajeva upotrebe u modele statičke strukture). Modelovanje ponašanja složenih softverskih proizvoda (modelovanje stanja, aktivnosti i interakcija, principi povezivanja statičkih i dinamičkih modela).

Dobro poznavanje engleskog jezika je neophodno za inženjera softvera zbog pristupa stručnoj literaturi i zbog profesionalne komunikacije. Predmet Engleski jezik 2 je nastavak predmeta Engleski jezik 1 i koncipiran tako da se uklopi u Zajednički evropski okvir za žive jezike (Common European Framework of Reference for Languages). Cilj predmeta je podizanje nivoa znanja engleskog jezika i razvoj svih jezičkih veština studenata koje se nalaze na višem srednjem nivou (B2) ka naprednom nivou (C1) Zajedničkog referentnog evropskog okvira za žive jezike sa radi sistematizacije postojećeg, a potom i prelaska na viši nivo poznavanja jezika. Predmet obuhvata dve grupe sadržaja. Prva grupa su gramatičke celine koje treba da doprinesu sposobnosti gramatički i pravopisno ispravnog i preciznog izražavanja na nivou iznad B2, a druga grupa su vokabularne celine koje treba doprinesu izgradnji i obogaćivanju rečnika, posebno u domenu računarstva i softvera (dizajn i implementacija softvera, baze podataka, operativni sistemi, grafika, multimedija, veštačka inteligencija, itd.).

III godina

Jedan od osnovnih principa softverskog inženjerstva je razvoj softvera koji zadovoljava propisani kvalitet. Pri tome se kvalitet odnosi na dva povezana, ali različita pojma: funkcionalni kvalitet softvera koji odražava stepen do kojeg je proizvedeni softver ispravan i strukturni kvalitet softvera kojim se meri ispunjavanje nefunkcionalnih zahteve kao što su performansa, robusnost i mogućnost održavanja. Primarna svrha testiranja softvera je utvrđivanje funkcionalnog kvaliteta, ali tu spada i ocena strukturnog kvaliteta. Cilj predmeta obuhvata razumevanje pojmova i osnovnih principa obezbeđenja kvaliteta i testiranja softvera, sticanje znanja i veština za razvoj i implementaciju automatskih jediničnih testova za programe pisane na odabranom programskom jeziku uz korišćenje odabranog softverskog alata za testiranje, i sticanje znanja za dalje usavršavanje u oblasti testiranja softvera. Sadržaji predmeta su sledeći: Uvod (kvalitet softvera, obezbeđenje kvaliteta softvera i uloga testiranja u obezbeđenju kvaliteta softvera, statičko, dinamičko i pasivno testiranje softvera). Nivoi testiranja softvera (jedinično testiranje, integraciono testiranje, sistemsko testiranje). Tipovi, tehnike i taktike testiranja (funkcionalno testiranje, testiranje performanse, statičko testiranje i formalna inspekcija, dinamičko testiranje, regresiono testiranje). Pristupi testiranju softvera – “Kutija” : Uvod u alat JUnit; Tehnike crne kutije (podela na klase ekvivalencije, analiza graničnih vrednosti, uzročno-posledični graf, tabela odlučivanja i model stanja); Tehnike bele kutije (graf toka kontrole, pokrivanje programskih struktura – iskaza, odluka, uslova i putanja, ciklomatska kompleksnost programa i testiranje toka podataka). Primene testiranja: Testiranje korisničkih interfejsa; Testiranje veb aplikacija pomoću alata Selenium (uvod u alat Selenium, funkcionalno testiranje, testiranje performanse); Testiranje objektno orijentisanih programa; Menadžment defekata i pisanje izveštaja testiranja. Modeli razvoja softvera i uloga testiranja (tradicionalni modeli, agilni model i HR model).

Razvoj softvera je složen inženjerski posao koji realizuju timovi. Kao takav, on zahteva jasnu i preciznu metodologiju rada. Cilj ovog predmeta je ovladavanje osnovnim znanjima i veštinama iz oblasti metodoloških aspekata softverskog procesa i složenih softverskih proizvoda (dizajnerski obrasci, arhitektonski obrasci, softverske komponente i radni okviri) i sticanje veštine timskog razvoj softvera (praćenja aktivnosti i upotrebe naprednih elemenata rukovanja konfiguracijom softvera). Kroz ovaj predmet ćete steći kompetencije za samostalno rešavanje problema specifikacije, modelovanja i implementacije složenih softverskih proizvoda u timskim uslovima rada, upotrebom arhitektonskih i dizajnerskih obrazaca i kompetencija za projektovanje radnih okvira za brzi razvoj softvera. Sadržaji koji se obrađuju na predmetu su sledeći: Odnos tradicionalnog i savremenog pristupa razvoju složenih softverskih proizvoda (modelovanje arhitekture i arhitektonski obrasci, metodologija timskog rada u projektnoj organizaciji). Komponentno bazirani razvoj softvera (dizajnerski obrasci kao osnov za modelovanje i implementaciju unutrašnje arhitekture komponenti složenih softverskih proizvoda). Brza izrada složenih softverskih proizvoda (komponente i radni okviri kao ponovno upotrebljive podloge).

Nerelaciona skladišta podataka su nova generacija baza podataka koja nalaze sve širu primenu u softverskom inženjerstvu. Cilj ovog predmeta je ovladavanje osnovnim znanjima i veštinama upotrebe relacionih, multimodelskih i nerelacionih skladišta podataka (NoSQL) za podršku persistentnom sloju složenih softverskih proizvoda. Kroz ovaj predmet ćete steći kompetencije za samostalno specificiranje, modelovanje i projektnu implementaciju persistentnog sloja složenih softverskih proizvoda uz oslonac na upotrebu kombinacije relacionih i nerelacionih sistema skladišta podataka. Predmet obuhvata sledeće sadržaje. Odnos tradicionalnih i netradicionalnih sistema skladišta podataka (osnovni problemi relacionog modela, načini njihovog prevazilaženja upotrebom nerelacionih skladišta, procena prednosti i mana integracije relacionih i nerelacionih skladišta). Pregled nerelacionih skladišta podataka i principa na kojima su zasnovani (baze ključ-vrednost, dokument-orijentisane baze, kolonske baze, grafovske baze). Upotreba distribuiranog skladišta podataka zasnovana narelacionom modelu kao bazi činjenica (pojam dokumenta, izvođenje dokumenata iz relacionog modela, principi i karakteristike dokument-orijentisanih skladišta podataka i projektovanje). Grafovske baze (principi graf orijentisanih skladišta podataka, principi projektovanja i upotrebe). Rad sa velikim binarnim objektima (BigData koncept, rad sa kolonski orijentisanim tabelama, BigTable koncept).

Softverske aplikacije koriste ljudi. Korisnički interfejs predstavlja za korisnika "pogled" na softversku aplikaciju. Sve što korisnik radi sa aplikacijom radi posredstvom korisničkog interfejsa. Ni najbolja aplikacija neće raditi svoj posao ako nema korisnički interfejs koji je prilagođen korisniku. Cilj ovog predmeta je ovladavanje znanjima i veštinama razvoja Veb grafičkih korisničkih interfejsa, uključujući prototipe različitih nivoa verodostojnosti, ulazne i izlazne elemente, model-izgled-kontroler (MVC) arhitekturu, i raspored elemenata interfejsa. Takođe, cilj je i ovladavanje principima i tehnikama dizajna upotrebljivih korisničkih interfejsa (konzistentnost, vidljivost, jednostavnost, efikasnost korišćenja i drugi principi upotrebljivosti). Kroz ovaj predmet ćete steći kompetencije za vizuelni dizajn u cilju efikasnog organizovanja i prezentovanja informacija u korisničkim interfejsima, kompetencije za samostalnu primenu metoda i tehnika implementacije upotrebljivih korisničkih interfejsa te kompetencije za samostalnu primenu metoda i tehnika evaluacije korisničkog interfejsa sa krajnjim korisnicima. Predmet obuhvata sledeće sadržaje. Uvod (pojam, istorija, tipovi korisničkog interfejsa). Softverska arhitektura korisničkog interfejsa (MVC arhitektura). Grafički korisnički interfejs (principi dizajna orijentisanog ka korisniku, ulazni elementi korisničkog interfejsa, izlazni elementi korisničkog interfejsa; Grafički dizajn (principi i smernice). Elementi grafičkog korisničkog interfejsa (simboli, forme, meniji, dugmad, navigacija) i njihova upotreba. Dizajn grafičkog korisničkog interfejsa (principi i smernice; raspoređivanje elemenata korisničkog interfejsa ((layout(); boje, tipografija i lokalizacija); Prototipiziranje (uloga korisničkog interfejsa u prototipskom razvoju softverskog proizvoda, prototipski razvoj korisničkog interfejsa); Upotrebljivost (pojam i atributi; heuristička evaluacija; evaluacija upotrebljivosti sa krajnjim korisnicima); Obrasci dizajna grafičkog korisničkog interfejsa (forme i kontrole, (MVC, VisualWorks Application Model, MVP, Humble View(). Vrste korisničkih interfejsa (konverzacijski, osetni, multimodalni).

Mobilni uređaji su danas najšire korišćeni računari. Vaš mobilni telefon (makar i ne bio najmoderniji) ima snagu računara koju su ne tako davno imali samo malobrojni računari. Sa druge strane, mobilni uređaji imaju i neke specifičnosti (na primer, veličina ekrana) koje zahtevaju poseban pristup razvoju softvera za mobilne uređaje. Cilj ovog predmeta je spoznavanje pojmova i osnovnih principa razvoja aplikacija za mobilne uređaje, sticanje kompetencija za razvoj i implementaciju aplikacija za mobilne telefone pisanih na odabranom programskom jeziku, za odabranu mobilnu platformu i uz korišćenje odabranog razvojnog okruženja, kao i sticanje znanja za dalje usavršavanje u oblasti mobilnih računarskih aplikacija. Kroz ovaj predmet ćete razumeti hardverske i softverske platforme mobilnih aplikacija i osnovne principe razvoja aplikacija za mobilne uređaje (karakteristike, prednosti i izazovi, ograničenja). Steći ćete kompetencije za samostalan dizajn robusnih, upotrebljivih i efikasnih mobilnih aplikacija primenom osnovnih koncepata mobilnih aplikacija uz poštovanje ograničenja i kompetencije za samostalnu programsku implementaciju aplikacija za mobilne telefone odabrane mobilne platforme; Predmet obuhvata sledeće sadržaje. Infrastruktura za korišćenje mobilnih aplikacija ( hardverske platforme, operativni sistemi). Karakteristike, ograničenja i arhitektura mobilnih aplikacija: Karakteristike (konektivnost, lokalizovanost, upotrebljivost, dostupnost, personalizovanost, bezbednost, senzori); Ograničenja (memorija, ekran, napajanje); arhitektura mobilnih aplikacija (prezentacija, poslovna logika, podaci); Infrastruktura za razvoj mobilnih aplikacija (razvojna okruženja, programski jezici, biblioteke, simulatori). Razvoj mobilnih aplikacija za odabranu platformu Android: Clean arhitektura platforme Android; Razvoj korisničkog interfejsa ( aktivnost kao osnovna komponenta Android aplikacije, eksplicitne i implicitne namere, fragmenti); čuvanje podataka aplikacije (SQLite baza, Shared Preferences); responsivnost (AsyncTask i povezivanje na Internet); upotreba eksternog API-ja za dohvatanje podataka; aplikacije bazirane na Content Provider i Broadcast Receiver komponentama; servisi za rad u pozadini; rad sa senzorima i lokalizacija aplikacije.

Block chain tehnologija je jedna od novih tehnologija koje utiču na najrazličitije delatnosti ljudskog društva, ali i na svakodnevni život pojedinca. Bez nje ne bi bilo digitalne valute, pomoću nje se obezbeđuje verodostojnost digitalnih dokumenata p će i verodostojnost Vaše diplome jednog dana biti obezbeđena putem ove tehnologije Cilj ovog predmeta je spoznaja osnovnih koncepata Block chain tehnologije, njenih prednosti i tehničkih izazova korišćenja, i bezbednosnih aspekata dizajna algoritama različitih Block chain arhitektura. Cilj je, takođe, i upoznavanje sa reprezentativnim Block chain platformama koje koriste različite koncepte za postizanje konsenzusa, analiza njihovih bezbednosnih mehanizama i korišćenje za razvoj decentralizovanih aplikacija. Kroz ovaj predmet ćete steći teorijska znanja potrebna za analizu i projektovanje decentralizovanih Block chain aplikacija i razumevanje bezbednosnih aspekata u arhitekturi različitih (po postizanju konsenzusa) Block chain platformi. Pored toga, ćete steći i stručne kompetencije za implementaciju Block chain aplikacija za Ethereum platformu korišćenjem Solidity programskog jezika i odabranih softverskih alata i okruženja. Predmet obuhvata sledeće sadržaje. Uvod. Osnove distribuiranih sistema (ciljevi, primeri arhitekture, distribuirano računanje, modeli komunikacije, vreme i koordinacija, ugovori, apstrakcija transakcije, protokoli). Osnove Block chain tehnologije (blok, lanac blokova, decentralizacija i decentralizovani konsenzus, pametni ugovor, rudarenje, alati - Remix, MetaMask, Atom, Web3, NodeJS, Mocha, Ganache, Truffle i Infura) . Proof of work blockchain sistemi (Ethereum i Tendermint); Drugi blockchain sistemi (Hyperledger Fabric, EOS i Definity - kratak pregled i upoznavanje).

Veb platforma je ključna tehnološka infrastruktura interneta a to znači i globalne komunikacije. Iako je sir Tim Berners-Lee "izmislio" Veb još ranih 80-tih godina prošlog veka, ova platforma ne gubi značaj – naprotiv, njen značaj raste a tehnologije veba se intenzivno razvijaju. Veb platforma "ima dva kraja", serverski i klijentski sa dobro zasnovanom teorijskom bazom i mnoštvom tehnologija. Cilj ovoga predmeta je ovladavanje teorijskim i praktičnim znanjima za razvoj klijentske strane složenih Veb aplikacija. Izučavanjem ovoga predmeta Vi ćete steći kompetencije za razvoj klijentskog sloja kompleksnih klijentskih Veb baziranih softverskih sistema, kompetencije za kritičku evaluacija postojećih razvojnih i programskih okvira i projektovanje novih, te kompetencije za korišćenje i razvoj generičkih komponenti. Sadržaji koje ćete izučavati na predmetu su sledeći. Zahtevi (korisnost, upotrebljivost, projektovanje korisničke interakcije). Specifičnosti programske paradigme (više programskih jezika; integracija deklarativne, proceduralne, objektne, konkurentne, funkcionalne i aspekt orijentisane paradigme). Tehnologije i alati: TypeScript programski jezik (sintaksa i semantika, kompajliranje i povezivanje na primeru Angular okvira); Korišćenje razvojnih paketa (CLI) za brzu i optimalnu inicijalizaciju radnog okruženja. Softverske komponente i obrasci: SPA Single Page aplikacije sa jednom komponentom i korišćenjem osnovnih elemenata korisničkog interfejsa; Eksterne biblioteke (značaj upotrebe, korišćenje odabranih eksternih biblioteka poput Material design i Bootstrap); Komponente i obrasci: životni vek; obrasci i servisi ( singlton obrazac i servisi, opravdanost korišćenja MVC obrasca); Observer-Subscriber koncept za rad u uslovima konkurentnog/asinhronog programiranja. Sigurnosni aspekti klijentskih aplikacija: Single i Multi page aplikacije, deljeni resursi. Implementacija: razvoj generičkih komponenti korisničkog interfejsa; kreiranje programskog okvira za razvoj klijentske Veb aplikacije.

Savremeni informacioni sistemi u svim oblastima, posebno u poslovanju, odavno su izišli iz okvira pojedinačne poslovne organizacije zbog potrebe za globalnom saradnjom. Veb tehnologija je ključna infrastruktura interneta a to znači i globalne komunikacije koja je to omogućila. Savremeni informacioni sistemi su bazirani na internetu i Veb tehnologijama, to su Veb informacioni sistemi. Cilj ovog predmeta je da razumete i naučite teorijski i implementacioni okvir za izgradnju Veb informacionih sistema. Izučavanjem ovoga predmeta Vi ćete biti osposobljeni da razumete pojam Veb informacioni sistem (VIS) i njegove ključne karakteristike; ovladavaćete osnovnim metodologijama, i odabranim tehnologijama i alatima za dizajn i implementaciju VIS-a i bićete kompetentni za dizajn i implementaciju jednostavnog VIS-a. U okviru predmeta izučavaju se sledeći sadržaji. Karakteristike VIS-a (pojam resursa, modelovanje, predstavljanje i skladištenje informacija; pristup informacijama,pribavljanje i ekstrakcija informacija, post-procesiranje i korišćenje informacija). Arhitektura i arhitekturni obrasci VIS-a (slojevita arhitektura, servisno orijentisane arhitekture). Tehnologije VIS-a (kodiranje, identifikacija resursa, markerski jezici, skriptni jezici, tehnologije servisa). Proces razvoja VIS-a (dekompozicija i strukturiranje, Veb-specifični procesi). Inženjerstvo zahteva VIS-a (koncepti, zahtevi organizacije, aplikativni domen, navigacija). Dizajn Veb aplikacija (principi, proces, radni tok, podaci, navigacija, prezentacija, arhitektura). Adaptacija (lokalizacija i internacionalizacija; personalizacija). Implementacija, produkcija i održavanje (razvojna okruženja i alati, infrastruktura, instalacija i evolucija aplikacija). Upravljanje kvalitetom (modeli, faktori kvaliteta, testiranje, evaluacija upotrebljivosti, automatski alati). Semantički Veb, Veb 2.0 i Veb 3.0 (koncept, tehnološki stek).

Veb platforma je ključna tehnološka infrastruktura interneta a to znači i globalne komunikacije. Iako je sir Tim Berners-Lee "izmislio" Veb još ranih 80-tih godina prošlog veka, ova platforma ne gubi značaj – naprotiv, njen značaj raste a tehnologije veba se intenzivno razvijaju. Veb platforma "ima dva kraja", serverski i klijentski sa dobro zasnovanom teorijskom bazom i mnoštvom tehnologija gde koncept obrasca igra značajnu ulogu. Cilj ovog predmeta je da ovladate teorijskim i praktičnim znanjima iz domena razvoja kompleksnih internet baziranih softverskih sistema primenom obrazaca Internet softverskih arhitektura. Izučavanjem ovoga predmeta Vi ćete biti osposobljeni da shvatite značaj korišćenja obrazaca softverskih arhitektura u projektovanju i razvoju kompleksnih internet baziranih softverskih sistema i da projektujete, programirate, testirate, uvodite u rad, održavate i evaluirate kompleksne internet bazirane softverske sisteme. U okviru predmeta izučavaju se sledeći sadržaji. Uvod (istorija razvoja internet baziranih sistema, značaj korišćenja softverskih arhitektura, ponovno korišćenje, enkapsulacija i povezivanje komponenti). Arhitekturni obrasci: arhitektura podataka, arhitektura softvera i arhitektura protokola za povezivanje; bezbednosni aspekti primene arhitekturnih obrazaca. Slojevita arhitektura (monolitnost, klijent server, funkcionalna slojevitost i fizička slojevitost, protokoli za komunikaciju). Arhitektura mikro jezgra (povezivanje komponenti sistema principima interfejsa, deljenja zajedničkih resursa i delimične izolovanosti komponenti sistema); Podacima vođene i događajima vođene arhitekture. Prostorne arhitekture. Bezbednosna arhitektura: sistem sa jasnim granicama odgovornosti (svi elementi su pod kontrolom); sistem sa podeljenim odgovornostima (više aktera koji odgovaraju za bezbednost). Cloud bazirani servisi (registar, izolacija servisa, balansiranje opterećenja, dispečiranje poruka). Napredne arhitekture (agentski orijentisane arhitekture i semantički servisi).

Jedan od važnih ciljeva Vašeg studiranja je da se osposobite za praktičan rad – projektovanje i programiranje savremenih složenih softverskih aplikacija Cilj ovog predmeta je rekapitulacija i integracija znanja i veština iz oblasti softverskog inženjerstva stečenih u prve tri godine studija i razvoj “mekih” veština kroz timsku realizaciju softverskog projekta iz odabranog domena primene. Izučavanjem ovoga predmeta Vi ćete unaprediti svoje tehnološke kompetencije za razvoj složene Veb aplikacije doslednom primenom metodologija, standarda i alata softverskog inženjerstva kao i kompetencije za timski rad koje uključuju “meke” veštine i poštovanje etičkog kodeksa softverskog inženjerstva. Pored toga, upoznaćete se sa odabranim domenom primene – njegovim teorijskim i specifičnim tehnološkim aspektima. U okviru predmeta izučavaju se sledeći sadržaji. Rekapitulacija metodologija softverskog inženjerstva: proces razvoja softvera; specifikacija i modelovanje; metodologije razvoja softvera; razvojna okruženja i alati. Rekapitulacija Veb tehnologije: arhitekturalni obrasci (fokus obrazac slojevite arhitektura); tehnologija i alati za implementaciju (programski jezici, baze podataka, tehnologije servisa, tehnološki stekovi, razvojni alati). Domen primene ( izbor domena, teorijske osnove domena, specifični softverski alati za domen). Timski rad: meke veštine (komunikacija, saradnja, organizacija, emocionalna inteligencija, kreativnost); profesionalna etika (etički kodeks softverskog inženjerstva).

Još jedan oblik unapređenja Vaših praktičnih znanja i veština je stručna praksa. Ovaj predmet se ostvaruje u IT kompanijama u zemlji a moguće i u inostranstvu. Njegov cilj je sticanje iskustva u realnim uslovima rada na razvoju složenih softverskih proizvoda i upoznavanje sa profesionalnom zajednicom i potencijalnim poslodavcima. Kroz ovaj predmet ćete steći kompetencije za uključivanje u razvoj složenih softverskih proizvoda u organizacijama IT industrije i, što je možda i značajnije, ostvariti kontakte sa organizacijama i pojedincima iz sektora IT industrije u okruženju koji će Vam pomoći u zapošljavanju i eventualnom razvoju sopstvenog biznisa u IT oblasti.

IV godina

Ovladavanje teorijskim i praktičnim znanjima iz domena analize i sinteze sistema veštačke inteligencije korišćenjem paradigmi simboličke i sub-simboličke veštačke inteligencije.

Sticanje kompetencija za rešavanje inženjerskih problema primenom fazi logike tipa 1, uključujući i razvoj softvera. Sticanje teorijske osnove za proširivanje i produbljivanje znanja o fazi pristupu.

Sticanje znanja i veština potrebnih za projektovanje i implementaciju softvera za računarski podržane sisteme sa strogim vremenskim ograničenjima i ograničenim računarskim resursima.

Ovladavanje osnovnim znanjima o savremenim i tradicionalnim metodama upravljanja projektom, njihovoj primeni na upravljanje softverskim projektom i specifičnostima upravljanja softverskim projektom.

Ovladavanje teorijskim (koncept i modeli) i praktičnim (platforme i razvojni alati) znanjima iz domena analize i sinteze sistema mašinskog učenja.

Ovladavanje osnovnim znanjima iz oblasti upravljanja konfiguracijom složenih softverskih proizvoda. Ovladavanje odabranim softverskim alatom za upravljanje konfiguracijom softvera.

Sticanje teorijskih i praktičnih znanja iz oblasti zaštite informacionih sistema, razumevanje bezbednosnih problema, upoznavanje sa kriptološkim mehanizmima zaštite za ostvarivanje servisa tajnosti. Primena simetričnih i asimetričnih kriptoloških algoritama i upravljanje kriptološkim ključevima. Ovladavnje digitalnim potpisivanjem i radom sertifikacionih tela za ostvarivanje servisa autentifikacije, integriteta i neporecivosti. Identifikovanje bezbednosnih problema u različitim mrežnim okruženjima, operativnim sistemima i kompletnim informacionim sistemima. Primena važećih bezbednosnih standarda.

Cilj predmeta je sticanje kompetencija za rešavanje inženjerskih problema primenom biološki inspirisanih modela optimizacije uključujući i korišćenje i razvoj softverskih aplikacija za biološki inspirisane modele optimizacije. U okviru predmeta izlažu se osnove teorije optimizacije, pretraga i, posebno, meta-heurističkih modela optimizacije kao i softverski alati iz ove oblasti.

Sticanje znanja i veština potrebnih za razumevanje merenja fizičkih veličina pomoću senzora i rad sa senzorima i senzorskim mrežama

Osposobljavanje za uspostavljanje i sprovođenje aktivnosti organizacije na projektovanju, izgradnji, isporuci, operativnom radu i upravljanju IT servisima i resursima za korisnike uz primenu ITIL preporuka

Spoznavanje osnovnih koncepata, teorije i metode u obradi slike i kompjuterskom vidu. Osposobljavanje za identifikaciju, formulisanje i rešavanje problema u oblasti primenom postojećih praktičnih sisteme kompjuterskog vida. Osposobljavanje za samostalan dizajn i razvoj praktične i inovativne aplikacije ili sisteme za obradu slike i kompjuterskog vida. Profesionalno i odgovorno ponašanje u oblastima obrade slike, kompjuterskog vida i dubokog učenja.

Sticanje osnovnih teorijskih i praktičnih znanja potrebnih za dizajn i implementaciju aplikativnog softvera za SAAS model.

Sticanje znanja i veština potrebnih za projektovanje (IoT paradigma, koncept pametnog objekta) i implementaciju (hardver, komunikacija, softverske komponente, razvojni alati) IoT komponenti i sistema.

Ovladavanje osnovnim znanjima o arhitekturi i funkcionalnosti društvenih mreža i aplikacija. Ovladavanje osnovnim znanjima i veštinama analize društvenih mreža.

Sticanje teorijskih i praktičnih znanja potrebnih za kritičku analizu i izgradnju multimedijalnih sistema sa naglaskom na Veb multimedijalnim sistemima. Sticanje veština za korišćenje multimedijalne tehnologije sa naglaskom na kreiranje i prezentaciju multimedijalnih sadržaja na Vebu.

Ovladavanje osnovnim znanjima o integraciji nezavisno razvijenih složenih softverskih proizvoda. Ovladavanje znanjima i veštinama za primenu modelom vođenog pristupa integraciji softvera. Osposobljavanje za timski rad na realizaciji integracije nezavisno razvijenih softverskih sistema.

Upoznavanje studenata sa osnovnim principima računarske grafike i tehnologijama relevantnim za rešenja virtuelne realnosti (VR). Osposobljavanje studenata za samostalan razvoj softverskih i hardverskih komponenata za virtuelnu realnost

Sticanje teorijskih znanja o povezanim podacima i semantičkom povezivanju podataka. Sticanje kompetencija za razvoj softvera u domenu povezanih podataka.

Spoznavanje sistemskog i implementacionog okvira za preduzimanje novih visoko tehnoloških poduhvata sa naglaskom na IKT industriju.

Spoznaja strukture i načina funkcionisanja sistema javne uprave i administracije; Spoznaja savremene tehnološke infrastrukture za podršku radu sistema eUprave i eAdministracije; Ovladavanje metodama i dobrom praksom uvođenja eUprave i eAdministracije.

Upoznavanje sa osnovnim principima, konceptima, mehanizama i tehnologijama računarstva u oblaku. Sticanje veština za uspostavljanje, administraciju i upravljanje osnovnim tipovima privatne i javne infrastrukture distribuiranog računarstva. Implementacija servisa na infrastrukturu korišćenjem postojećih alata javnog oblaka. Upoznavanje sa klaud platformama i servisima globalnih pružaoca usluga računarstva u oblaku Amazon Web Services (AWS), Microsoft Azure i Google Compute Engine (GCE).

Cilj predmeta je sticanje kompetencija za samostalan softverski dizajn i implementaciju video igara kao i kompetencije za samostalnu instalaciju i održavanje video igara. Predmet obuhvata gradivne elemente video igara, principe razvoja video igara, te osnovna teorijska i praktična znanja o razvoju i instalaciji video igara.

Ovaj predmet je formalni okvir za ocenu izrade i odbrane obaveznog završnog rada.

* Realizacija izbornih predmeta zavisi od broja kandidata

Da li Vam je potrebna pomoć?

close
send