Fakultet informacionih tehnologija

SOFTVERSKO INŽENJERSTVO

Osnovne informacije:

  • Upis: tokom cele godine
  • Trajanje studija: 4 godine
  • Broj ESPB: 242 ESPB
  • Zvanje: Diplomirani inženjer softvera
 

  • Polje: Tehničko-tehnološke nauke
  • Oblast: Softversko inženjerstvo
  • Oblici studiranja: tradicionalni (u prostorijama univerziteta) i onlajn, preko Interneta (e-učenje)

Šta je softversko inženjerstvo?

Softversko inženjerstvo je disciplina koja se bavi razvojem i održavanjem pouzdanih i efikasnih softverskih sistema. Značaj softverskog inženjerstva je porastao sa rastućim zahtevima za razvojem bezbednih aplikacija, tj. bezbednih softverskih sistema i sa većim značajem velikih i skupih softverskih sistema. Američko udruženje IEEE definiše softversko inženjerstvo kao “primena jednog sistematskog, disciplinovanog i kvantifikovanog pristupa za razvoj, rad, i održavanje softvera”. Softversko inženjerstvo integriše računarske nauke i inženjerske principe koji se primenjuju pri razvoja proizvoda u drugim oblastima inženjerstva (tehnike).
Softversko inženjerstvo se bavi razvojem visokokvalitetnog softvera na jedan sistematski, upravljiv i efikasan način. 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
  • 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.
Da bi jasnije ukazali na razliku Softverskog inženjerstva u odnosu na druge discipline iz šire oblasti računarstva, koristićemo dijagrame na slici 1 (izvor IEEE/ACM).

 

Slika 1. Oblast znanja pokriveno studijama iz Softverskog inženjerstva (izvor: IEEE&ACM)
 

Slika 1. Oblast znanja pokriveno studijama iz Softverskog inženjerstva (izvor: IEEE&ACM)

Horizontalna osa pokazuje kretanje od teorije ka primeni računara. Vertikalna osa pokazuje kretanje od računarskog hardvera i njegove arhitekture, do organizacijskih pitanja u organizaciji u kojima se primenjuju računari.

Cilj studijskog programa

Cilj studijskog programa„Softversko inženjerstvo“ je da osposobi studenta sa uspešno bavi profesionalnim razvojem softvera, u skladu sa očekivanjima i potrebama kompanija koje se bave profesionalnim razvojem softvera.

Studijski program obezbeđuje znanja iz oblasti softverskog inženjerstva, prema kategorizacijama IEEE i ACM. Nastava ne samo da omogućuje sticanje znanja iz svih faza procesa razvoja softvera, nego i obezbeđuje sticanje fundamentalnih znanja iz računarskih nauka, što je neophodno svakome koji želi da se bavi razvojem softvera.

U ovom tekstu se nadalje daje opis programa Softversko inženjerstvo. U programu se daje naglasak na sticanje praktičnih i primenjivih znanja i veština. Iz svakog predmeta se rade praktični projekti i veliki broj zadataka. Po završetku studija, student je potpuno osposobljen za uspešan rad u softverskoj industriji.

Poslovi za koje se studenti osposobljavaju

Studenti koji završe osnovne akademski studije iz softverskog inženjerstva osposobljeni su da rade na razvoju profesionalnog softvera industrijskog kvaliteta. Ti poslovi obuhvataju:

  • Utvrđivanje potreba i zahteva korisnika softvera i njihovo prevođenje u inženjerske zahteve čije zadovoljenje obezbeđuje punu funkcionalnost softvera, ali i dostizanje profesionalnog kvaliteta softvera;
  • Postavljanje arhitekture softverskog sistema, definisanje softverskih modula i komponenata, ako i njihovih međusobnih interfejsa;
  • Projektovanje softverskog sistema, odnosno, projektovanje objektno-orijentisanog (OO) sistema, na osnovu postavljenog OO modela i primenom UML jezika za modeliranje OO sistema;
  • Programiranje, tj. implementacija projektnog rešenja izradom softvera u jednom od programskih jezika, kao što su Java, C++ ili C#;
  • Obezbeđivanje kvaliteta softvera i njegovo testiranje, kao i njegovo konfigurisanje u skladu sa postavljenom arhitekturom softverskog sistema;
  • Rukovođenje projektima razvoja softvera, i dr.

Najčešća radna mesta diplomiranih studenata

Radna mesta na kojima rade stručnjaci za softversko inženjerstvo se različito zovu u različitim organizacijama. Negde je uloga “softverskog inženjera” izjednačena sa poslom “programera”, “projektanta softvera” i dr.

Studenti su osposobljeni da rade na svim poslovima razvoja softvera: analiza zahteva, definisanje arhitekture i projektovanje softvera, izrada softvera (kodiranje), testiranje i obezbeđenje kvaliteta softvera, kao i održavanje softvera. Industrija razvoja softvera u Srbiji ima veliku mogućnost razvoja, naročito u vidu saradnje sa velikim proizvođačima softvera u svetu. Međutim, glavna prepreka je nedostatak profesionalno školovanih i sposobnih inženjera za razvoj softvera. Zato, diplomirani studenti ovog studijskog programa nemaju nikakav problem u nalaženju posla, i to, za naše uslove, vrlo dobro plaćenog posla.

Uspešni završetak ovih studija omogućiće diplomiranim studentima da uspešno rade na razvoju profesionalnih i kvalitetnih softverskih sistema, pre svega u specijalizovanim preduzećima za razvoj softvera, ili da rade kao nezavisni softverski inženjeri koji po ugovoru rade na razvoju softvera za potreba inostranih, ali i domaćih firmi koje se bave razvojem profesionalnog softvera, tj. softverskih proizvoda.

Ishodi učenja studijskog programa

Studenti koji su završili Softversko inženjerstvo mogu da:

  • Koriste savremene alate za projektovanje softvera
  • Koriste razvojna okruženja za programiranje
  • Softverska rešenja implementiraju koristeći adekvatne programske jezike
  • Primenjuju tradicionalne i savremene metodologije za razvoj softvera
  • Razvijaju softver za mobilne aplikacije
  • Definišu zahteve za izradu sofvera
  • Na osnovu zahteva za izradu softvera dizajniraju softversko rešenje
  • U procesu razvoja softvera kreiraju svu potrebnu dokumentaciju
  • Definišu i sprovodu plan verifikacije i validacije softverskog rešenja koristeći odgovarajuće metode i tehnike
  • Planiraju i izvedu testiranje softvera
  • Upravljaju zahtevima za promenom softvera i na osnovu toga kvalitetno održavaju softver
  • Primene principe i postupke vođenja softverskog projekta i procene resurse za njegovu izradu.

Usaglašenost programa sa međunarodnim standardima

Program je usaglašen sa najnovijim preporukama američkih profesionalnih udruženja IEEE i ACM (http://www.acm.org/education/education/curricula-recommendations).

Kao disciplina, Softversko inženjerstvo se oslanja na drugu računarsku disciplinu, Računarske nauke, koja daje neophodnu osnovu, tj. poznavanja programiranja, rada računara i operativnih sistema, korišćenja veb i internet tehnologija, sistema baza podataka i dr. Ovo je nužno, jer se sposobnost razvoja profesionalnog softvera (softversko inženjerstvo) nadgrađuje na znanje i sposobnosti programiranja, korišćenju baza podataka, računarskih mreža, komunikacije čovek-računat , arhitekture računara i operativnih sistema (najveći deo disciplene: Računarske nauke).

Zbog toga, studijski program je usaglašen sa preporukama američkih profesionalnih udruženja IEEE i ACM, i to i za disciplinu Računarske nauke, i za disciplinu: Softversko inženjerstvo).

Program je usaglašen sa sledećim preporukama američkih profesionalnih udruženja IEEE i ACM:

  • Software Engineering 2014 – Curriculum Guidlines for Undergraduate Degree Programs in Software Engineering, February, 2015, IEEE Computer Society and Association for Computing Machinery (http://www.acm.org/education/se2014.pdf)
  • Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) and IEEE Computer Society, (https://www.acm.org/education/CS2013-final-report.pdf)

 
Studijski program obezbeđuje sticanje neophodnog znanja, tj. tzv. „korpus znanja“ (Body of Knowledge) u skladu sa oba navedena dokumenata, tj. ujedinjujući korpuse znanja za oblast Računarskih nauka i oblast Softverskog inženjerstva, koji su opisani u sledećim dokumentima:

  • Guide to the Software Engineering Body of Knowledge (2004 Version) – SWEBOK, IEEE Computer Society (http://www.computer.org/portal/web/swebok/htmlformat)
  • The Guide to the Software Engineering Body of Knowledge – SWEBOK Guide, Version 3, 2014, IEEE Computer Society
  • Baseline List of Topics, SWEBOK Guide V3 (status as of 21/08/2012), IEEE Computer Society
  • Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) and IEEE Computer Society, (https://www.acm.org/education/CS2013-final-report.pdf)

 
Primenom najnovijih preporuka profesionalnih udruženja IEEE Computer Society i ACM pri izradi kurikuluma za OAS Softversko inženjerstvo, obezbeđeno je da studenti dobiju najsavremenija i standardizovana znanja iz oblasti računarskih nauka i softverskog inženjerstva, u skladu sa međunarodno priznatim preporukama za kurikulume iz ovih oblasti. To obezbeđuje i međunarodno priznavanje stečenog znanja i diplome sa OAS Softversko inženjerstvo, te samim tim, i olakšano zapošljavanje diplomiranih studenata u inostranstvu.

Organizacija programa

Obavezni predmeti:

  1. CS101 Uvod u objektno-orijentisano programiranje
  2. CS220 Arhitektura računara
  3. MA101 Matematika 1
  4. NT111 Engleski 1
  5. CS102 Objekti i apstrakcija podataka
  6. CS323 C/C++ programski jezik
  7. CS115 Diskretne strukture
  8. NT112 Engleski 2
  9. CS103 Algoritmi i strukture podataka
  10. SE201 Uvod u softversko inženjerstvo
  11. IT350 Baze podataka
  12. NT213 Engleski za informatičare
  13. IT255 Veb sistemi 1
  14. IT370 Interakcija čovek-računar
  15. SE211 Konstruisanje softvera
  16. MA202 Matematika 2
  17. IT355 Veb sistemi 2
  18. SE321 Obezbeđenje kvaliteta, testiranje i održavanje softvera
  19. SE311 Prојеktоvаnjе i аrhitеkturа sоftvеrа
  20. SE322 Inženjerstvo zahteva
  21. SE325 Upravljanje projektima razvoja softvera
  22. CS225 Operativni sistemi
  23. Izborni predmet 1
  24. Izborni predmet 2
  25. SE490 Stručna praksa – razvoj softvera (4 meseca)
  26. Izborni predmet 3
  27. IT390 Profesionalna praksa i etika
  28. NT310 Prоfеsiоnаlnа kоmunikаciја
  29. IT381 Zaštita i bezbednost informacija
  30. Izborni predmet 4
  31. Izborni predmet 5
  32. SE495 Završni rad

Izborni predmeti 1 i 2


23-24. CS330 Razvoj mobilnih aplikacija
23-24. CS324 Skripting jezici
23-24. MA273 Verovatnoća i statistika
23-24. OM410 Upravljanje poslovnim procesima

 

Izborni predmet 3


26. CS322 Programiranje u C#
26. MK110 Poslovna ekonomija

 

Izborni predmet 4


30. CS230 Distribuirаni sistеmi
30. OM350 Preduzetništvo

 

Izborni predmet 5


31. SE401 Timski razvoj softvera
31. IT320 Savremene tehnološke platforme

 

Detaljan nastavni plan i program podeljen po semestrima i godinama pogledajte ovde

Kratak opis svih predmeta

CS101 Uvod u objektno-orijentisano programiranje
Predmet uvodi studente u osnovne koncepte programiranja iz perspektive objektno-orijentisanog programiranja. Nastavne teme obuhvataju jednostavne tipove podataka, upravljačke strukture, strukture podataka u vidu nizova karaktera i redova, algoritme, kao i upoznavanje sa programskim jezicima. Studenti se upoznaju sa osnovama objektno-orijentisanog programiranja: objektima, klasama, metodima, prenosu parametar, učauravanja, nasleđivanja i polimorfizma. Pored toga, studenti ovladavaju i osnovama sintakse i semantike programskih jezika: promenljive, tipovi, izrazi, dodeljivanje vrednosti, ulazno-izlazne instrukcije, uslovne i iterativne upravljačke strukture i strukturisane dekompozicija. Izlažu se principi softverskog inženjerstva i razvoja osnovnih veština programiranja u objektno-orijentisanim jezicima.
CS220 Arhitektura računara
Predmet uvodi studente u oblast arhitektura modernih računarskih sistema. Kurs pokriva teme kao što su sekvencijalna i paralelna izvršavanja instrukcija, sinkronizacija, cjevovode, vektorsko procesiranje. SIMD i MIMD mašine. Predstavljene su i mreže sa više stepena i računarske interkonekcione mreže. Uvodi se pojam usmjeravanja i kontrole protoka u tim mrežama. Analiziraju se koncepti kao što su deljena memorija, sistemi multiračunara, keš memorija i koherencija keš memorije. Cilj predmeta je da upozna studenta s modernom arhitekturom računara. Studenti će se upoznati s organizacijom računarskog sistema, srodnim oblastima računarskih nauka, analizom performasi, metodama mjerenje performansi.
MA101 Matematika 1
Ovaj nastavni predmet omogućava studentima da razumeju i ovladaju osnovnim znanjima iz matematike potrebnim za praćenje daljih studija koji su predviđeni za izučavanje na tehničkim fakultetima. U okviru ovog predmeta studenti će, na početku, obnoviti i proširi svoja znanja koja se odnose na pojam broja, matematičku logiku i teoriju skupova. Nakon toga, obrađuju se osnovni pojmovi iz algebarskih struktura, kao elementi apstraktne algebre, zaključno sa poljem kompleksnih brojeva. Izlaganje gradiva se, potom, nastavlja izučavanjem elemenata linearne algebre i to: determinanti, matrica i sistema linearnih jednačina.
Jedan deo gradiva je posvećen vektorskoj algebra, kao i analitičkoj geometriji u prostoru. Uvod u matematičku analizu realne funkcije jedne realne promenljive počinje predavanjima koji su u vezi sa pregledom elementarnih i neelemantarnih funkcija, preko realnih nizova i brojnih redova, zatim granične vrednosti i neprekidnosti realne funkcije jedne promenljive, pa sve do diferencijalnog računa realne funkcije jedne promenljive.
NT111 Engleski 1
Engleski jezik 1 je srednji kurs opšteg engleskog jezika sa elementima jezika struke. Cilj predmeta je naučiti, obnoviti i konsolidovati poznavanje i upotrebu gramatike i vokabulara na srednjem nivou engleskog jezika, kao i razvijati i uvežbavati sledeće jezičke veštine:

  • govorenje, kojim se student osposobljava da usmeno komunicira u formi razgovora na svakodnevne i profesionalne teme, usmerene konverzacije, dijaloga i kraće usmene prezentacije;
  • slušanje, kojim se student osposobljava da sluša, prati i razume kraće segmente govornog engleskog jezika;
  • čitanje, kojim se student osposobljava da sa razumevanjem čita kraće stručne tekstove, kao i duže polustručne, novinske i beletrističke tekstove adaptirane na srednjem nivou;
  • pisanje, kojim se student osposobljava da hvata beleške na engleskom jeziku, piše rezimee kraćih stručnih tekstova, kraća privatna i poslovna pisma, kraće stručne informativne tekstove (uputstvo, izveštaj, opis) i kraće odgovore na pitanja o zadatoj temi;
  • prevođenje, kojim se student osposobljava da prevodi kraće stručne tekstove sa engleskog na srpski jezik;
  • integrisanje gore pomenutih veština, kojim se student osposobljava da u stvarnim situacijama kombinuje različite veštine.
CS102 Objekti i apstrakcija podataka:
Predmet nastavlja uvođenje studenata u objektno-orijentisano programiranje započeto predmetom CS101, pre svega u oblasti metodologije objektno-orijentisanog projektovanja softvera i programiranja. Predmet uvodi studente i u osnove komunikacije čoveka i računara, grafike, i društvenih implikacija primene računara, a sa posebnim naglaskom na softverskom inženjerstvu. Objašnjava se koncept virtualnih mašina i njihove hijerarhije, osnovnih algoritama u računarstvu, kao što su pretraživanja, sortiranja i rekurzije. Studenti se upoznaju sa metodima programiranje upotrebom događaja, kao i sa osnovnim fazama procesa softverskog inženjerstva: definisanje zahteva, projektovanje, kodiranje i testiranje.
CS323 C/C++ programski jezik:
Ovo je uvodni predmet u programiranje pomoću C i C++ programskog jezika. Studenti najpre uče proceduralno programiranje pomoću C jezika: struktura programa, blokovi, tipovi memorije, U/I fajlovi, redovi, nizovi karaktera, pokazivači, pozivi po referenci, pozivi po vrednosti, dinamička alokacija memorije, te na taj način razvijaju programe na proceduralni način. U drugom delu predmeta, studenti ovladavaju i primenom C++ jezika u razvoju objektno-orijentisanih programa.
CS115 Diskretne strukture:
Predmet ima dva osnovna cilja. Prvi je upoznavanje sa osnovnim konceptima i tehnikama koji se tiču diskretnih matematičkih struktura, posebno sa onim koje imaju neposrednu primenu u računarskim naukama. Drugi cilj je upoznavanje studenata sa metodama matematičkog i logičkog zaključivanja. Ovaj predmet uključuje osnove matematičke logike, osnove teorije skupova, relacije, funkcije, algoritme, osobine celih brojeva, kongruencije, rekurentne relacije, teoriju grafova i algoritme sa njima, strukture za dinamičko skladištenje podataka, relacije uredjenja, mreže, matematičke strukture, linearne prostore i preslikavanja.
NT112 Engleski 2
Engleski jezik 2 je viši srednji kurs – kombinacija opšteg engleskog jezika i jezika struke. Cilj predmeta je razviti kompetenciju iz oblasti gramatike i vokabulara, kao i razvijati i uvežbavati sledeće jezičke veštine:

  • govorenje, kojim se student osposobljava da usmeno komunicira na engleskom jeziku, sa odgovarajućim izgovorom, u stvarnim komunikacionim situacijama, u formi razgovora na svakodnevne i profesionalne teme, davanja stručnih uputstava, vođene konverzacije, dijaloga i kraće usmene prezentacije;
  • slušanje, kojim se student osposobljava da sluša i razume govorni engleski jezik, na opšte teme i teme vezane za IT, odnosno poslovni engleski;
  • čitanje, kojim se student osposobljava da sa razumevanjem čita kraće i duže stručne tekstove, kao i duže polustručne, novinske i beletrističke tekstove adaptirane na višem srednjem nivou
  • pisanje, kojim se student osposobljava da hvata beleške na engleskom jeziku, piše rezimee kraćih stručnih tekstova, kraća privatna i poslovna pisma uključujući i CV, kraće stručne informativne tekstove (uputstvo, izveštaj, opis) i kraće i duže odgovore na pitanja o zadatoj temi;
  • prevođenje, kojim se student osposobljava da prevodi kraće stručne tekstove sa engleskog na srpski jezik;
  • integrisanje gore pomenutih veština, kojim se student osposobljava da u stvarnim situacijama kombinuje različite veštine, sa posebnim naglaskom na grupne aktivnosti rešavanja stručnih problema.
CS103 Algoritmi i strukture podataka:
Nadovezujući se na predmete CS101 i CS102, predmet detaljnije upoznaje studente sa algoritmima, strukturama podataka i sa softverskim inženjerstvom. Studenti izučavaju tehnike projektovanja algoritama, rešavanja problema i primenjuju tehnike projektovanja algoritama u projektima srednje veličine, sa naglaskom na formalnim metodama testiranja. U okviru analize algoritama, studenti izučavaju metode asimptotaske analize , utvrđujući razlike među njima, klase standardne složenosti, metode empiričke merenja performansi, kao i usaglašavanja vremenskih i prostornih zahteva u algoritmima. Pored izučavanja rekurzije, proučavaju se osnovni algoritmi računanja, kao što su: haš tabele, binarna stabla, grafovi, algoritmi najkraćeg puta i dr. U oblasti strukture podataka, izučava se upotreba pointera i referenci, povezanih struktura, upotreba stekova, redova čekanja i haš tabela, primena strategija rešavanja primenom grafova i stabala, kao i strategija za izbor odgovarajuće strukture podataka. Studenti se upoznaju i sa načinom upravljanja projektima razvoja softvera srednje veličine, s posebnim naglaskom na primeni efikasnih algoritama.
SE201 Uvod u softversko inženjerstvo:
Cilj predmeta je studenti razumeju i ovladaju metodima i tehnikama razvoja profesionalnog softvera, što obuhvata rad na sledećim nastavnim jedinicama: softverski procesi, agilni razvoj softvera, inženjerstvo zahteva, modelovanje sistema, projektovanje arhitekture softvera, projektovanje i implementacija softvera, testiranje softvera i evolucija softvera. Predmet оspоsоbljаvа studеntе dа rаzviјu јаsnе, kоnciznе i fоrmаlizоvаnе zаhtеvе zа prоširеnjеm pоstојеćеg sistеmа u sklаdu sа rеаlnim pоtrеbаmа kоrisnikа, dа primеnе principе prојеktоvаnjа distribuirаnih sistеmа, dа izvršе аnаlizu i prојеktоvаnjе оbјеktnо-оriјеntisаnih sistеmа primеnоm UML diјаgrаmа, i dа primеnе tеhnikе mеrеnjа kvаlitеtа sоftvеrа. Poseban cilj predmeta je osposobljavanje studenta za samostalan rad pri izradi softverskog proizvoda. Zadaci koje ovaj predmet treba da ostvari je ovladavanje teorijskim, metodološkim i praktičnim znanjima razvoja softverskog inženjeringa, koja se primenjuju kroz upotrebu savremenih projektantskih alata.
IT350 Baze podataka:
Baza podataka je centralno mesto svakog informacionog sistema, pa dizajniranje i implementacija baza podataka zauzimaju centralno mesto u nastavnim planovima koji se izučavaju na studijama informatike širom sveta. U okviru predmeta studenti će savladati pravila normalizacije podataka, E/R tehnike za modeliranje baza podataka, postupak inverznog inženjeringa, sintaksu i semantiku SQL-a (naredbe SQL-a za pravljenje upita nad bazom, naredbama DDL-a – Data Definition Laguage i DML-a – Data Manipulation Language). U okviru predmeta se takođe govori o zaštiti informacija u bazama podataka, integritetu baze podataka i obardi transakcija u bazama podataka. Po završetku kursa, studenti će biti osposobljeni da razviju konceptualni i fizički model baze podataka, izaberu odgovarajuće metode i tehnike za upravljanje informacijama pri rešavanju određenih problema i budu u stanju da izaberu i implementiraju odgovarajuća rešenja koja se koriste pri upravljanju informacijama.
NT213 Engleski za informatičare:
Engleski jezik 3 je viši srednji/napredni kurs engleskog jezika struke u oblasti informacionih tehnologija. Cilj kursa Engleski jezik 3 je konsolidovati upotrebu gramatike na višem srednjem nivou, proširiti opšti, i naročito, stručni vokabular i uvežbavati njihovu upotrebu u različitim jezičkim funkcijama, kao i usavršavati i integrisati sledeće jezičke veštine:

  • govorenje, kojim se student osposobljava da usmeno komunicira na engleskom jeziku, sa odgovarajućim izgovorom, u stvarnim komunikacionim situacijama, u formi razgovora na svakodnevne i profesionalne teme, davanja stručnih uputstava, grupnog rešavanja stručnih problema, dijaloga i kraće usmene prezentacije;
  • slušanje, kojim se student osposobljava da sluša i razume govorni engleski jezik, naročito teme vezane za IT;
  • čitanje, kojim se student osposobljava da sa razumevanjem čita kraće i duže stručne i naučne tekstove, kao i duže polustručne, novinske i beletrističke tekstove adaptirane na višem srednjem i naprednom nivou
  • pisanje, kojim se student osposobljava da hvata beleške na engleskom jeziku, piše rezimee kraćih stručnih tekstova, vodi kraće
  • poslovne prepiske, piše kraća privatna i poslovna pisma, kraće stručne informativne tekstove (uputstvo, izveštaj, opis, pisana diskusija) i kraće i duže odgovore na pitanja o zadatoj temi;
  • prevođenje, kojim se student osposobljava da prevodi kraće stručne tekstove sa engleskog na srpski jezik;

integrisanje gore pomenutih veština, kojim se student osposobljava da u stvarnim situacijama kombinuje različite veštine, sa posebnim naglaskom na grupne aktivnosti rešavanja stručnih problema.

IT255 Veb sistemi 1:
Predmet uvodi studente u osnovne koncepte veb programiranja i dobru praksu dizajna veb sistema, Nielsen-ova pravila veb dizajna, organizaciju informacija i dizajniranje strukture veb stranica. Student se upoznaje sa karakteristikama kvaliteta veb dizajna, kao što su jasna navigacija, jednostavnost i efikasnost u objavljivanju i pronalaženju informacija, kvalitetan i ažuran sadržaj kako za računare visoke rezolucije tako i za uređaje manje rezolucije tehnikama prilagodljivog dizajna veb sistema (responsive web design – One Web for All Accessibility). Student treba da nauči da integriše različite Front-end veb tehnologije. Studenti su osposobljeni samostalno da dizajniraju i programiraju veb aplikacije i da integrišu različite Front-end veb tehnologije poput: HTML5, CSS3, JavaScript, PHP jezik i druge savremene tehnike.
Karakteristike kvaliteta veb dizajna, kao što su: jasna navigacija, jednostavnost i efikasnost u objavljivanju i pronalaženju informacija, kvalitetan i ažuran sadržaj kako za računare visoke rezolucije tako i za uređaje manje rezolucije tehnikama prilagodljivog dizajna veb sistema (responsive web design – One Web for All Accessibility). Integracija različitih Front-end veb tehnologije. poput: HTML5, CSS3 (LESS i SAAS kompajliranje u skript jezicima), XML, napredna primena JavaScript jezika, jQuery kao najpopularniji JavaScript okvir za DOM obradu, veb servise – SOAP i RESTful servisi, AJAXi druge sa Web Java tehnologijama i MySQL bazom podataka.
Osnove projektovanja i programiranja serverske strane (Back-end) tj. sa serverskim skripting programskim jezicima: objektno-orijentisan PHP jezik (povezivanje: PHP i jQuery okvir, PHP i Angular JS okvira, konekcije na baze podataka, MySQL, Oracle, SQL Server, Access), Node JS, servleti i Java Server Pages (JSP), ASP i drugi. Izučavaju se i bezbednost, testiranje, održavanje i distribuiranje veb aplikacija (JUnit, subversion alati, Git+Hub, SVN, refaktorizacija, Maven i td.).
IT370 Interakcija čovek-računar
Cilj ovog predmeta je da studente upozna sa konceptima i teorijom interakcije između čoveka i računara. Studenti treba da shvate značaj ljudskog faktora, kognitivnih procesa, okruženja i obuke korisnika u razvoju, implementaciji i korišćenju korisničkog interfejsa. Predmet se bavi i problemima analize performansi i upotrebljivosti korisničkog interfejsa. Sadržaj predmeta: Ljudski faktori (kognitivni principi, razumevanje korisnika, projektovanje za ljude, fizička ergonomija, kognitivna ergonomija, sedam stadijuma akcija), HCI aspekti aplikacionog domena (tipovi okruženja, interfejs veb aplikacija, interfejs za mobilne uređaje, glasovni korisnički interfejs, veza između korisničkog interfejsa i korisničkog poznavanja aplikacionog domena, kognitivni modeli), Evaluacija za čoveka (heuristička evaluacija, testiranje upotrebljivosti, standardi upotrebljivosti), Razvoj efektivnog interfejsa (razumevanje korisničkog iskustva, stilovi interakcije, Grafički korisnički interfejs, ne-grafički korisnički interfejsi, lokalizacija i globalizacija, razvojni alati, metode za razvoj prototipova korisničkog interfejsa), Dostupnost (biometrika, sindrom stresa izazvan ponavljanjem, zakoni i preporuke), Nove tehnologije (alternativni ulazni uređaji, alternativni izlazni uređaji, alternativni displeji, mobilno računarstvo, wearable računarstvo, integrisano računarstvo, mreže senzora).
SE211 Konstruisanje softvera:
Cilj je da se student osposobi da primenjuje niz tehnika i inženjerskih/računarskih alata za konstruisanje softvera, a specijalno kod detaljnog dizajna softvera. U okviru SE211, studenti rade projekat, da bi demonstrirali da mogu da izradjuju aplikacije uz upotrebu alata i tehnika za konstruisanje softvera. Na predmetu se izučavaju sledeće teme: Uvod u konstruisanje softvera i IEEE standardi, Detaljni dizajn, Softverski modeli, i CASE alati, Dizajn algoritama, Dijagrami tranzicije stanja, Domain Specific Language, i BNF (Bakus-Naur forma), Jezički dizajn, Primeri konstruisanja softvera, Metodologija softverskog dizajna, Individualni dizajn klase, Konstruisanje klase, Midiver, protokoli, i konkurentnost, Formalni modeli softvera, i OCL, Integracija softvera, i razvojno testiranje, Defanzivno programiranje, i Debugging.
MA202 Matematika 2:
Na ovom nastavnom predmetu se izlažu teme koje predstavljaju nastavak kursa Matematika 1 (MA101), a u cilju da se student upozna, kako sa opštim, tako i specifičnim temama koje je neophodno da poznaje i primenjuje na studija ovakvog profila. U tom smislu, ovaj kurs počinje izučavanjem integralnog računa funkcije jedne promenljive, a nastavlja se izučavanjem realne funkcije više realnih promenljivih. Studentima se, nakon toga, izlažu teme u vezi sa višestrukim krivolinijskim i površinskim integralima. Gradivo Matematike 2 sadrži i teme u vezi sa diferencijalnim jednačinama prvog i višeg reda. Veoma bitno mesto u ovom kursu zauzima nastavak izučavanja brojnih redova (iz Matematike 1), kao i obrada tema koje se tiču funkcionalnih redova, sa posebnim akcentom na stepenim i Furijevim redovima. Jedan deo predavanja se odnosi na teme koje su u vezi sa numeričkom matematikom i to na metode za numeričko rešavanje sistema jednačina i nelinearnih jednačina uz korišćenje numeričkog softvera.
IT355 Veb sistemi 2:
Predmet uvodi studente u oblast projektovanja i programiranja serverske strane (Back-end). Izučavaju se veb klijent-server i višeslojne arhitekture, servisno orijentisana arhitektura, aspekt-orijentisano programiranje (AOP), inverzija kontrole (IoC) sa ubacivanjem zavisnih komponenti (DI), J2EE tehnologija i druge savremene tehnike. Kroz ovaj predmet student će biti upoznat sa java baziranim okvirom za dizajn i programiranje složenih veb aplikacija – Spring framework, tehnikama osiguranja bezbednosti veb sistema, tehnikama i alatima testiranja veb aplikacija. Studenti su osposobljeni samostalno da dizajniraju i programiraju složene veb aplikacije i da integrišu različite Back-end veb tehnologije poput: J2EE, Spring okvir i druge savremene tehnike.
SE321 Obezbeđenje kvaliteta, testiranje i održavanje softvera:
Predmet uvodi osnove pojmove kvaliteta softvera kao i njegove specifičnosti u odnosu na druge proizvode. Izučavaju se atributi i mere kivaliteta kao i standardi koji se primenjuju. Student upoznaje obezbeđenje kvaliteta softvera kroz testiranje kao i propisivanje i primenu procedura testiranja. Izučavaju se oblasti znanja i veština:Značaj testiranja i obezbeđenja kvaliteta softvera ; Osnovi kvaliteta softvera; Standardi za obezbeđenja kvaliteta pri razvoju softvera; Upravljanje kvalitetom softvera; Merenje u softverskom inženjerstvu i kvalitet softvera; Planiranje i organizacija testiranja – Tehnike testiranja softvera; Modeli životnog ciklusa softvera i primena tehnika testiranja; Predikcija defekata i kvaliteta softvera na projektu; Pouzdanost softvera i dr. Student se osposobljava da kroz praktičnu nastavu bude u stanju da samostalno organizuje obezbeđenje kvaliteta i testiranje na malom projektu.
SE311 Prојеktоvаnjе i аrhitеkturа sоftvеrа:
Detaljna analiza procesa projektovanja (dizajniranja) softvera s akcentom na primenu postojećih uzoraka (pattern), okvira (framework) i arhitektura dizajna o čemu su studenti u toku prethodnih kurseva stekli samo globalna saznanja. Izučavaju se teme:Osnovi softverskog dizajna – opšti koncepti projektovanja; kontekst projektovanja softvera; proces projektovanja softvera; raspoložive tehnike; Softverska struktura i arhitektura-arhitekturalna struktura; arhitekturalni stilovi (makro-arhitekturalni uzorci); uzorci dizajna (mikro-arhitekturalni uzorci); Notacije softverskog dizajna-opis strukture (statički pogled); opis ponašanja (dinamički pogled); Strategije i metode softverskog dizajna-generalne strategije; funkcionalno orijentisan (strukturni) dizajn; objektno orijentisani dizajn; dizajn koji se bazira na strukturi podataka; dizajn baziran na komponentama.
Pored detaljne analize kataloga uzoraka dizajna i okvira koji se mogu primeniti pri projektovanju softverskih rešenja, u okviru kursa su predstavljene i postojeće klijent-server, troslojne i servisno orijentisane arhitekture i opisana njihova primena na sisteme distribuirane kako u lokalnom tako i u globalnom okruženju. Nakon završetka ovog predmeta studenti će biti u stanju da u procesu projektovanja različitih softverskih rešenja primene postojeće uzorke i okvire dizajna i da softver projektuju i implementiraju korišćenjem različitih tehnologija tzv. srednjeg novoa softvera (middleware) koje povezuju korisnike sa pozadinskim aplikacijama i bazama podataka.
SE322 Аnаlizа zаhtevа zа sоftvеr
Cilj ovog predmeta je predstaviti procese izbora, analize, validacije u upravljanja zahtevima za izgradnjom kompleksnih softverskih sistema koji se zajedno smatraju procesom inženjeringa zahteva. Prvih nekoliko predavanja je fokusirano na pitanje „šta” je obuhvaćeno inženjeringom zahteva dok se u ostalim predavanjima govori „kako” se u okviru svakog od ovih procesa mogu primeniti specifične tehnike. O inženjeringu zahteva se diskutuje u kontekstu šireg procesa inženjeringa sistema koji se odnosi na razvoj sistema kao celine (softvera, hardvera, procesa). Na kraju će biti reči o organizaciji dokumentacije vezane za zahteve; biće jasno opisani standardi koji se koriste u ovoj oblasti i date smernice za pisanje jasnih i konciznih zahteva. Cilj ovog premeta je da upozna studente sa procesima definisanja jasnih, preciznih, nedvosmislenih zahteva i da ih nauči tehnikama koje se mogu koristiti za njihovo prikazivanje kako bi se eliminisali osnovni problemi razvoja softverskih sistema. Uobičajeni problemi koji se odnose na kašnjenje u isporuci softvera, prevazilaženje planiranog budžeta, nemogućnosti korisnika da iskoriste sve raspoložive servise sistema su najčešće vezane za nedovoljno precizne, konfliktne i nekompletne zahteve sistema.

SE325 Upravljanje projektima razvoja softvera:
Cilj predmeta je studenti razumeju i ovladaju metodima i tehnikama iz oblasti upravljanja softverskim projektima, što obuhvata rad na sledećim nastavnim jedinicama: Proces iniciranja projekta, proces planiranja projekta, proces realizacije projekta, proces kontrole i promene na projektu i proces završetka projekta. U okviru pomenutih procesa obavlja se: Upravljanje obimom posla (Quantitative Methods in Project Management), Upravljanje vremenom (Quantitative Methods in Project Management), Upravljanje kvalitetom (Quality Management), Upravljanje ljudskim resursima, Upravljanje rizicima, Upravljanje konfiguracijom i izmenama SW, Upravljanje informacijama (komunikacija) na projektu, Ugovaranje i upravljanje nabavkama kroz upravljanje troškovima realizacije softverskog projekta.
Na predmetu će biti obrađene sledeće tehnike:tehnike planiranja obima i logički okvir softverskog projekta, mrežno planiranje i PDM, PERT, CPM, alokacija resursa, GERT, predviđanje troškova i budžetiranje projekta (tehnike estimacije veličine softvera kao što su COCOMO, FP, SLIM i dr.), tehnike upravljanja rizikom u realizaciji projekta, kontrola realizacije IT projekta, evaluacija, izveštavanje i završavanje projekta, organizaciona struktura i finansiranje projekta, uloge, odgovornosti i autoriteti na projektu, rešavanje konflikata, uspeh i neuspeh projekta.
CS225 Operativni sistemi:
Proučava se pojam operativnog sistema, raspoređivanje procesora, konkurentnost i sinhronizacija procesa, međusobna isključivost, tipični problemi konkurentnog programiranja: proizvođač i potrošač, filozofi, čitači i pisci. Posebno se izučavaju strategije upravljanja memorijom i uređajima, interfejs operativnog sistema, upravljanje datotekama, virtuelizacija i bezbednost i zaštita operativnih sistema. Cilj predmeta: razumevanje pojma i funkcije operativnih sistema – šta rade, kako rade i kako se mogu optimizovati, oceniti, uporediti.
IT390 Profesionalna praksa i etika:
Usvajanje relevantnih saznanja iz poslovne prakse i etike koja omogućavaju adekvatno delovanje u poslovnom okruženju. Student upoznaje: osnove etike kao nauke o moralu, radni moral kao oblik morala, osnove poslovne etike, odgovornost u poslovanju, etičke vrline u poslovanju, određenja profesionalizma, značaj etičkih kodeksa, najčešće etičke dileme i nedoumice u poslovanju, načine ispoljavanja mobinga i mogućnosti njegove prevencije i otklanjanja, pojam i značaj preduzetništva, značaj etike u međunarodnom poslovanju, društveni kontekst računarstva, pojam intelektualne svojine, privatnost i građanske slobode, osnove računarske etike, načine ispoljavanja i mogućnosti prevencije i otklanjanja računarskog kriminala. Student razvija smisao za etičko prosuđivanje u poslovnom odlučivanju i delovanju. Uz usvajanje potrebnih saznanja, student se osposobljava za korišćenje etičkih principa u praksi, razvija svoju sigurnost i osećaj odgovornosti i svoju sposobnost za rad u grupi.
NT310 Prоfеsiоnаlnа kоmunikаciја:
Usvajanje relevantnih saznanja iz komunikologije koja omogućavaju adekvatno delovanje u poslovnom okruženju. Student upoznaje: značaj svih elementa u procesu komunikacije, različite vrste komuniciranja, prepreke u komunikaciji i načine njihovog otklanjanja, veštine verbalne (usmene i pisane) i neverbalne komunikacije. Osposobljava se za uspešno vođenje prezentacija i poslovnih razgovora i kreiranje poslovne prepiske. Razvija veštine asertivnog ponašanja, rešavanja konflikata i timskog rada. Upoznaje pojam, značaj i vrste odnosa sa javnošću i načine kreiranja vizuelnog identiteta, kao osnove predstavljanja organizacije na tržištu. Uz usvajanje potrebnih saznanja, student se osposobljava za korišćenje komunikacionih veština u praksi, razvija svoju sigurnost i osećaj odgovornosti i svoju sposobnost za rad u grupi.
IT381 Zaštita i bezbednost informacija:
Na ovom predmetu se uvode razni aspekti bezbednosti računara i mreža uključujući, ali ne ograničavajući se samo na javnu i privatnu kriptografiju, autentifikaciju, digitalne potpise, bezbednost mejlova, bezbednost IP protokola, web bezbednosne tehnologije, zaštitni zidovi i virusi. Osnovi koncepti bezbednosti računara i mreža su dati u kontekstu savremenih računarskih sistemas i servisa.
CS330 Razvoj mobilnih aplikacija:
Predmet uvodi studente u programiranje mobilnih uređaja smart telefona i tableta. U okviru predmeta će biti obrađena teorija programiranja aplikacija za mobilne platforme, ali i konkretno programiranje za uređaje. U okviru predmeta će biti obrađeno: Rad sa MVC arhitekturom, rad sa osnovnim grafičkim komponentama, rad sa grafikom, animacije, rad sa ekranom na dodir, rad sa promenom ekrana sa uspravnog na položeni položaj, životni ciklus mobilnih aplikacija, rad sa slikama, rad sa web sadržajem, prikaz podataka u tabelama, snimanje i učitavnje podataka u memoriju mobilnog uređaja, rad sa nitima, rad sa lokacijama i mapama, rad sa notifikacijama, rad sa podacima u oblaku, rad sa web servisima, i dr. Kao rezultat rada na predmetu student je osposobljen da kreira mobilne aplikacije na najsavremenijim mobilnim uređajima, mobilnim telefonima i tabletima.
CS324 Skripting jezici:
Skriptni jezici se koriste u raznim kontekstima, uključujući i ekstrakciju podataka iz dokumenata, stvaranje i oblikovanje dinamičkih web stranica, prikupljanje podataka sa Web-stranicama, opis vrste podataka koji se koriste u dokumentu, brzu izrada interfejsa ili jednokratne aplikacije i stvaranje instalacionih skriptova. Savremeni skriptni jezici obezbeđuju interfejs u sistemskom programiranju, multimedskim projektima, u grafičkom interfejsu, mrežnim i Web aplikacijama. Oni su dinamični, prenosni, lako se razvijaju te se mogu integrisati na drugim alatima kao što su Web pretraživači, Web serveri, igre, i inženjerske aplikacije. Nastavne teme: Uvod u skriptne jezike, priroda i uloga skriptnih jezika, pregled popularnih skriptnih jezika, poređenje sa drugim programskim jezicima, sintaksa i semantika skriptnih jezika, zajedničke strukture skriptnih jezika, dinamičke karakteristike skriptnih jezika, interpretacija i kompilacija, performanse skripting mehanizama, skriptovi ljuski, pristupi bazama podataka, skriptovi servera i klijenata, procesiranje teksta i regularnih izraza, skriptovi multimedia i igara, razvoj aplikacija za desktop i Web-bazirana okruženja pomoću odgovarajućih jezika, biblioteka i alata i budućnost skriptnih jezika. Rad sa različitim skriptnim jezicima, uključujući Perl, Python, Ruby, Haskel, JavaScript.
MA273 Verovatnoća i statistika:
Cilj ovog kursa je da omogući studentima da razumeju, adekvatno primenjuju i u praksi koristi statističke metode, kao i stečeno znanje iz teorije verovatnoće. Predavanja na ovom kursu započinju uvodom u matematičku verovatnoću koja predstavlja teorijski osnov za razumevanje i usvajanja gradiva iz statistike. Izlažu se empiriski prilazi pojmu verovatnoće, a zatim se preko aksiomatskog pristupa dolazi do pojma uslovne verovatnoće. Narednim predavanjima se uvodi pojam slučajne promenljive i izučavaju njihove numeričke karakteristike, a zatim se izučavaju neke od važnijih raspodela slučajnih promenljivih koje su od velikog interesa za praksu. Deo kursa koji je posvećen teoriji verovatnoće se završava graničnim teoremama. Kurs se, zatim, nastavlja uvodom u statistiku, statističkom analizom podataka, a zatim se izučavaju statističke metode za ocenu parametra (tačkasta ocena, intervali poverenja), parametarsko i neparametarsko testiranja statističkih hipoteza i analiza varijanse. Na kraju kursa se izučava prosta linearna regresija i korelacija. Deo kursa na kome se izučavaju statističke metode, obuhvata i rad u nekom od statističkih paketa, kako bi studenti stečena znanja što bolje primenjivali u praksi.
OM410 Upravljanje poslovnim procesima
U ovom predmetu se izučavaju veze između poslovnih procesa i tehnologija kojim se ostvaruje upravljanje poslovnim procesima. U tom kontekstu se povezuje upravljanje poslovnih procesa (Business Process Management – BPM) i servisno-orijentisana arhitektura (SOA) IT sistema, čime se vrši povezivanje poslovnih procesa u organizaciji sa platformama za upravljanje poslovnim procesima. Predmet upoznaje studentima sa metodama upravljanja poslovnim procesima. Posebno se analizira upravljanje poslovnim procesima u SAP sistemu za integralno upravljanje poslovanjem organizacija.
CS322 Programiranje u C#
C#, u stvari Visual C#, specifičan programski jezik koji obuhvata vizuelno programiranje tj. vizuelne alate, tj. vizuelno razvojno okruženje (Visual Studio, Toolbox objekti, Property Window) za pravljenje grafičkih aplikacija kao i .NET Framework. Cilj ovog predmeta je da osposobi studenta da koristi sve bitne elemente jezika C# tj. Visual C#, i da se osposobi da pravi grafičke aplikacije pomoću Visual C#, da primenjuje o.o. programiranje u Visual C#, kao i da koristi vizuelno razvojno okruženje Visual Studio i vizuelne alate za Visual C# programiranje. U okviru CS322, svaki student radi svoj projekat, koji se sastoji u izradi i dokumentovanju male grafičke aplikacije. Na ovom predmetu se izučavaju sledeće teme: Uvod u C# i .NET Framework, Prva grafička aplikacija u visual C#, Kodiranje grafičke aplikacije u Visual C#, Objekti u Toolbox-u, Osnovno C# kodiranje, i prva konzolna aplikacija, Funkcije, i logičke strukture, Specijalne varijable, i specijalni parametri, Klase i objekti u Visual C#, Nasledje klasa, Vidljivost članova klase, Debugger, i ostali alati u Visual Studio, Tehnika izuzetaka i validacije, i ostale tehnike u C#, Baze podataka u Visual C#, ADO.NET, i DataGrid, C# na Internetu, i ASP.NET Web aplikacije.
MK110 Poslovna ekonomija
Pokrivajući oblast poslovne ekonomije, ovaj predmet pruža osnovna teorijska znanja vezana za poslovanje preduzeća, pravne forme, način funkcionisanja preduzeća i osnovne ekonomske kategorije čije je poznavanje neophodno budućim menadžerima za obavljanje konkretnih poslova i rešavanje menadžerskih problema, naročito onih vezanih za odabrani smer. Studenti će nakon ovog kursa poznavati osnovne pravne forme privrednog društva, njihove specifičnosti sa posebnim naglaskom na upravljanju i organima upravljanja u različitim privrednim društvima. Usvojiće ključne ekonomske kategorije, a pre svega znanja vezana za ulogu, karakteristike i značaj proizvodnje i reprodukcije, imovinu, kapital, procenu vrednosti uloga, tokove vrednosti u biznisu, raspodelu rezultata, povezivanje privrednih društava.
CS230 Distribuirani sistemi
Ovaj predmet uvodi načela i prakse na kojima se bazira dizajn distribuiranih sistema, kako Internet bayiranih i tako i drugih sistema. Glavne teme uključuju komunikacije izmedju procesa i daljinsko pozivanje, distribuirano imenovanje, distribuirani sistem datoteka, replikacija podataka, mehanizmi distribuiranih transakcija i distribuirani zajednički objekti, bezbedne komunikacije, autentifikacija i kontrola pristupa, mobilni kod. Projekat predmeta uključuje izradu distribuirane aplikacije krišćenjem savremenih jezika, alata i okruženja.
OM350 Preduzetništvo
Ovladavanje osnovnim teorijskim i praktičnim znanjima vezanim za preduzetničko poslovanje i mali biznis. Definisanje mesta i značaja preduzetničkog poslovanja u okviru celokupnog poslovanja i uticaja preduzetništva na ekonomski i društveni razvoj. Sposobnost objašnjavanja i analize tedencija u preduzetništvu, perspektive i značaja malog biznisa u kontekstu razvoja ukupne ekonomije i društva uopšte.
SE401 Timski razvoj softvera:
Osposobljvanje studenta za organizaciju, planiranje i izvođenje projekta razvoja softvera , osećaj za pravila rada u timu i koordinaciju aktivnosti članova tima. Sticanje osećaja za menadžment aktivnosti unutar tima kao i za menidžment odnosa sa spoljnim činiocima – korisnici softvera , sponsor projekta i izdavač.
IT320 Savremene tehnološke platforme:
Osnovni cilj ovog predmeta je da student samostalno savlada razvoj aplikacija i sistema na konkretnim vendorskim platformama. Student treba da demonstrira da ume da primeni naučeno gradivo na fakultetu na konkretnu vendorsku platformu.
SE490 Stručna praksa
Cilj stručne prakse je da studente pripremi i obezbedi kvalitetno sticanje kompleksnijeg iskustva o njihovoj profesiji i radnim zadacima za koja se školuju. Programski zadaci su tako postavljeni da u prvoj fazi vode i omoguće upoznavanje radne sredine, profil organizovanosti, raspodelu radnih zadataka i uvid u sadržaj aktivnosti, uvid u specifičnosti rada na različitim radnim mestima. Naredni zadaci su orijentisani na uključenje studenata u projekte različitih vrsta, obima i namena, u njihovoj početnoj, razvojnoj ili završnoj, fazi, kao i u njihovu implementaciju od instalacije, obuke do održavanja. Studenti kroz asistiranje u konkretnim zadacima, trebaju bolje upoznati i u što većoj meri prihvatiti tehnologiju rada, kako bi u narednoj fazi krenuli u projekte samostalno.
Kroz sagledavanje radne sredine i konkretnih radnih aktivnosti student treba steći nova znanja, sigurnost u radu i mogućnost integrisanja parcijalno stečenih znanja i veština kroz prethodne studije. U relativno dugom, 4 mesečnom boravku i radu u profesionalno orijentisanoj okolini, stiču se i šira iskustva o zahtevima prema specijalnosti za koju se student priprema, omogućuje kvalitetno sagledavanje uspešnosti prethodnog školovanja i jasna procena potrebe za daljim usavršavanjem.
Težište stručne prakse je na što samostalnijim i konkretnijim radnim doprinosima studenta na područjima; postavljanja i administriranja sistema, pojedinih radnih stanica, mrežnih i drugih konfiguracija, razvoju aplikacija na području informacionih sistema, veb aplikacija i drugih softverskih rešenja. Radni zadaci se mogu kretati od koncepata, razvoja, konstrukcije, testiranja, apliciranja i održavanja, takođe i na području analize određenih rešenja i eventualnih usavršavanja.
Što potpunijim uklapanjem u radnu sredinu, prihvatanjem radnih obaveza i odgovornosti, razvojem sposobnosti saradnje i timskog rada, student treba upotpuniti i bolje shvatiti te komponente profesionalnog rada, prethodno opisanih u namenskim predmetima studija.
SE495 Završni rad:
U svom završnom radu, student treba da pokaže da je ovladao tehnikama softverskog inženjerstva. On treba da razvije softver kojim se rešava određeni problem, pri čemu treba da pokaže primenu svih faza u razvoju softvera.