II semestar

Predmeti:

Programiranje 2

(obavezni, I godina, II semestar)

Programski jezik C. Uvod u jezik C. Istorija razvoja jezika C. Postupak razvoja programa u različitim programskim okruženjima. Osnovna struktura programa na jeziku C.
Podaci u jeziku C.
Numerički tipovi podataka i opsezi mogućih vrednosti. Pravila pisanja celobrojinh i realnih konstanti u programu; decimalne, oktalne i heksadecimalne konstante. Znakovi i znakovne konstante. Korisnički definisani tipovi podataka i typedef naredba. Identifikatori i definisanje promenljivih u jeziku C. Nepostojani i nepromenljivi podaci. Nabrojane konstante.
Operatori. Prioriteti, asocijativnost i redosled izračunavanja delova izraza. Prefiksni i postfiksni unarni operatori. Relacioni operatori. Logički operatori. Operatori po bitovima. Kontrolne strukture. Sekvenca, osnovna selekcija if-else, generalizovana selekcija if-else-if-else, selekcija sa skretnicom switch, petlje while, do i for. Naredbe break i continue.
Nizovi. Definisanje, inicijalizacija, pristup. Znakovni nizovi.
Osnovne bibliotečke funkcije. Standardni ulaz/izlaz. Ispitivanje znakova.
Matematičke funkcije. Obrada znakovnih nizova. Funkcije opšte namene.
Pokazivači. Operatori za rad sa pokazivačima, definisanje pokazivača. Pravila adresne aritmetike. Pokazivači i nizovi. Dinamička dodela memorije.
Funkcije. Definisanje i pozivanje funkcija, formalni i stvarni argumenti. Bočni efekti funkcije. Prototip funkcije. Rekurzivne funkcije.
Preprocesor jezika C. Direktive preprocesora. Uslovno prevođenje.
Strukture i unije. Definisanje i upotreba složenih tipova podataka.
Datoteke. Otvaranje i zatvaranje datoteka. Rad sa tekstualnim datotekama. Rad sa binarnim datotekama. Direktan pristup. Signalizacija grešaka.
Metode programiranja u jeziku C.
Implementacija algoritama i struktura podataka u jeziku C. Razvoj složenijih programskih sistema u jeziku C.

Algoritmi i strukture podataka 1

(obavezni, I godina, II semestar)

Uvod. Povezanost algoritama i struktura podataka. O algoritmima – osobine, analiza vremenske složenosti, implementacija. O strukturama podataka – klasifikacija, memorijska reprezentacija, operacije.

I Linearne strukture podataka.
Apstraktni koncept linearne liste.

Nizovi – vrste nizova, operacije, smeštanje u memoriji (vektori, matrice, višedimenzionalni nizovi), optimizacije pri smeštanju (trougaone matrice, retki nizovi).
Ulančane liste - operacije sa jednostruko i dvostruko ulančanim listama, kružne liste, primene (predstavljanje retkih nizova, skupova, polinoma).
Stekovi - operacije, vektorska i ulančana reprezentacija, implementacija više stekova (Garwick-ov algoritam), primene (obrada aritmetičkih izraza, potprogrami, eliminacija rekurzije).
Redovi za čekanje - operacije, vektorska i ulančana reprezentacija za neprioritetni i prioritetni red, primene i performanse.

II Nelinearne strukture podataka.

Stabla - terminologija i definicije, binarna stabla, osobine, topologije i predstavljanje, minimizacija interne i eksterne dužine puta, Huffman-ov algoritam i kompresija podataka, obilazak stabla po preorderu, inorderu, postorderu i po nivoima, povezana binarna stabla. Primene – predstavljanje aritmetičkih izraza, predstavljanje ulančanih lista, stabla odlučivanja, stabla igara.
Grafovi - terminologija i definicije, memorijske reprezentacije i njihovo poređenje, obilazak grafa po širini i po dubini, obuhvatna stabla i minimalna obuhvatna stabla (algoritmi Prim-a i Kruskal-a), određivanje povezanih komponenata grafa, određivanje dostižnosti (algoritam Warshall-a), određivanje najkraćih rastojanja (algoritmi Floyd-a i Dijkstra). maksimizacija protoka (algoritam Ford-Fulkerson), uparivanje grafa, topološko sortiranje i određivanje kritičnog puta (CPM).

Osnovi računarske tehnike 1

(obavezni, I godina, II semestar)

Bulova algebra. Aksiome bulove algebre. Teoreme bulove algebre. Bulova algebra na skupu sa dva elementa.
Prekidačke funkcije. Osnovni pojmovi. Predstavljanje prekidačkih funkcija bulovim izrazima. Proizvodi i sume. Disjunktivne i konjuktivne normalne forme. Prekidačke funkcije jedne i dve promenljive. Predstavljanje normalnih formi pomoću kubova.
Minimizacija prekidačkih funkcija. Osnovni pojmovi. Određivanje minimalnih DNF i KNF pomoću Karnaugh-ovih karti.
Funkcije i struktura prekidačkih mreža. Osnovni pojmovi. Logički elementi. Struktura i analiza kombinacionih mreža. Memorijski elementi. Asinhroni flip-flopovi. Taktovani flip-flopovi. Struktura i funkcije sekvencijalnih mreža. Strukturne šeme i podela sekvencijalnih mreža. Analiza sekvencijalnih mreža.
Sinteza kombinacionih mreža. Sinteza kombinacionih mreža u bazisu NE, I, ILI. Sinteza kombinacionih mreža u bazisu NI i NILI.
Sinteza sekvencijalnih mreža. Određivanje funkcija prelaza i izlaza taktovanih sekvencijalnih mreža. Tablice i grafovi stanja taktovanih sekvencijalnih mreža. Kodiranje stanja taktovanih sekvencijalnih mreža. Konstrukcija strukturnih šema taktovanih sekvencijalnih mreža. Konstrukcija strukturnih šema taktovanih flip-flopova. Taktovani flip-flopovi sa jednostavnim i složenim strukturnim šemama.
Standardni kombinacioni moduli. Dekoder. Koder. Multiplekser Demultiplekser. Pomerač. Inkrementer i dekrementer. Sabirač i oduzimač. Aritmetička jedinica. Logička jedinica. Aritmetičko-logička jedinica. Komparator.
Standardni sekvencijalni moduli. Registri. Brojači. Registri sa više funkcija. Memorije sa ravnopravnim pristupom.

Matematika 2

(obavezni, I godina, II semestar)

Integralni račun. Integralne sume. Određeni integral. Osobine integrala izražene jednakostima i nejednakostima. Klase integrabilnih funkcija. Neodređeni integral i primitivna funkcija. Newton-Leibnizova formula. Metode integracije. Nesvojstveni integral. Primene integralnog računa.
Diferencijalne jednačine. Uvodni pojmovi. Neke klase diferencijalnih jednačina prvog reda. Diferencijalne jednačine višeg reda. Linearne diferencijalne jednačine.
Booleova algebra.
Definicija i primeri. Binarna Booleova algebra i algebra skupova. Stoneova teorema. Booleove funkcije. Normalne forme. Baze Booleovih funkcija.
Kombinatorika i grafovi.
Varijacije, kombinacije, permutacije, particije, kompozicije. Princip uključenja-isključenja. Grafovi, digraf i multigraf. Podgraf i delimičan graf. Komplement grafa. Stablo. Planarni grafovi, teoreme Eulera i Kuratowskog.
Linearna algebra.
Vektorski prostori, definicija i primeri. Linearna zavisnost vektora i lineal. Potprostor. Baza i dimenzija. Linearni operator. Matrična reprezentacija. Sistemi linearnih jednačina. Gaussov algoritam. Rang i elementarne transformacije matrice. Kronecker-Capellijeva teorema. Homogeni sistemi. Sopstveni vektori i sopstvene vrednosti. Karakteristični polinom. Cayley-Hamiltonova teorema. Sličnost matrica. Minimalni polinom. Unitarni prostor i skalarni proizvod. Norma i normirani prostor. Ortogonalnost i ortonormirana baza. Elementi analitičke geometrije u trodimenzionalnom prostoru.

Engleski jezik - viši kurs

Objectives:
This intermediate course of English for Software Engineering aims at all-round skills improvement (listening, speaking, reading, writing).

• Listening –> to understand native and non-native professionals and students, talking about their work and study
• Listening –> to understand experts talking informally about aspects of computing and software engineering
• Speaking –> to communicate about computing topics and topics in connection with software engineering and IT
• Reading –> to understand a wide variety of texts including diagrams, tables, and advertisements
• Reading –> to compare different sources of information, written and spoken
• Writing –> to write descriptions and explanations of processes
• Writing –> to write summaries of longer texts
• Writing –> to write work-related e-mails, letters, etc.

The materials for this course consist of a mixture of technical and non-technical texts. Tasks that accompany the more technical texts are designed in such a way that they can be used for self-study or homework. Each analyzed text will start by examining some general area of computing, software engineering, IT or computer technology before focusing on a specific aspect or example of that general idea.

Topics/Units:
31. Personal computing
32. The processor
33. Portable computers
34. Operating systems
35. Online services
36. Data transmission
37. Programming languages
38. C language
39. Computer software
40. Comparing software packages
41. Computer networks
42. Network configurations
43. Computer viruses
44. Computer security
45. Computers in the office
46. Information systems
47. Computers in education
48. Computers in medicine
49. Data storage and management
50. Robotics
51. Robot characteristics
52. Virtual reality
53. VR input devices
54. Machine translation
55. AI and expert systems
56. Multimedia
57. Computer-to-video conversion
58. Computer graphics
59. 24-bit colour
60. E-mail writing

Language focus:
Contextual reference, word formation – prefixes, suffixes, organizing information, making comparisons, time sequence, listing, the passive, giving examples, explanations and definitions, compound nouns, classifying, cause and effect, making predictions, revision of grammar – tenses (present, past, future), simple and progressive, adverbs, adjectives, conditionals.

There are a range of authentic texts and listening activities covering everything from the latest applications of computer technology – such as the use of virtual reality in industry – to the underlying computer processes and components. This English course for Software engineering aims to develop all four skills, with special emphasis on vocabulary acquisition and grammatical accuracy.

Praktikum iz osnova računarske tehnike

(obavezni, I godina, II semestar)

Projektovanje i simulacija osnovnih kombinacionih modula pomoću vizuelnog simulatora: multiplekser, demultiplekser, dekoder, koder, sabirač sa serijskim prenosom, sabirač sa grupnim prenosom, aritmetička jedinica, logička jedinica, aritmetičko logička jedinica, komparator.

Projektovanje i simulacija osnovnih sekvencijalnih modula pomoću vizuelnog simulatora: flip flopovi (D FF, T FF, RS FF, JK FF) pomoću NI i NILI elemenata, registri realizovani pomoću navedenih flip flopova, brojači realizovani pomoću navedenih flip flopova.
Projektovanje i simulacija složene kombinaciono sekvencijalne prekidačke mreže.

 

Praktikum iz programiranja 2

(obavezni, I godina, II semestar)

Osnovna namena Praktikuma je upoznavanje studenata sa kompletnim procesom razvoja programa i njihovo osposobljavanje za samostalno programiranje u konkretnom razvojnom okruženju. Ovako koncipiran praktikum ima za cilj da obradi i praktično nauči studente svemu onome što su imali prilike da čuju na predavanjima i vežbama iz predmeta Programiranje 2. U ovom praktikumu su zastupljena dva metoda obuke (demonstrativni i samostalni rad).
Osnovni principi programiranja na visokim programskim jezicima, koji su već objašnjeni i utvrđeni u toku prva dva kursa (Programiranje 1, Praktikum iz Programiranja 1), kao i osnovne strukture podataka i algoritmi za rad sa njima će biti demonstrirani kroz programski jezik C. Sa tim ciljem, slušaoci će se prvo upoznati sa razvojem programa pod operativnim sistemima Windows korišćenjem razvojnog okruženja Visual C/C++. Studenti će utvrditi znanje osnovnih koncepata rada sa razvojnim okruženjima (izvršavanje programa korak po korak, praćenje trenutnog sadržaja promenljivih, preusmeravanje ulaza i izlaza), nakon čega bi bili osposobljeni da samostalno rešavaju probleme. Posle prvog perioda prilagođavanja na novi programski jezik i okruženja, studenti će biti upoznati i sa nekim naprednijim tehnikama, koje su logičan nastavak već izloženog i/ili su specifičnost programskog jezika C (izvršavanje programa do prekidne tačke, odnosno trenutne pozicije kursora, koncept log fajla, programski sistemi od više datoteka, uslovno prevođenje, direktive pretprocesora zadate pri prevođenju).
Studentima se, nakon izlaganja odgovarajuće nastavne oblasti u toku redovne nastave i prikazivanja odgovarajućih koncepata kroz demonstracione časove, zadaju domaći zadaci koje oni samostalno rešavaju na računaru prolazeći korak po korak kroz sve faze razvoja programa i primenjujući sve ono što im je u prethodnom delu praktikuma bilo pokazivano. Od studenata se traži da samostalno prođu kroz čitav postupak počev od faze analize dobijenog zadatka, izbora odgovarajućeg algoritma, same implementacije izabranog algoritma, do unosa programa u odabranom okruženju i odgovarajućeg testiranja programa. Teme domaćih zadataka su usklađene sa predavanjima i vežbama iz predmeta Programiranje 2, tj. zadaju se iste oblasti, i to onim redosledom kojim se obrađuju na nastavi.

Praktikum iz matematike 2

(izborni, I godina, II semestar)

Integrali. Ortogonalnost i Hilbertov prostor. Ortogonalne funkcije.
Diferencijalne jednačine. Specijalni tipovi diferencijalnih jednačina. Primene diferencijalnih jednačina.
Metod funkcija generatrisa u kombinatorici. Kombinacije i varijacije sa specijalnim ograničenjima. Particije.
Planarnost i bojenje grafova. Teoreme Eulera i Kuratowskog. Teorema o četiri boje.
Linearni operatori u vektorskom prostoru. Osobine operatora. Operatorska formulacija nekih teorema linearne algebre.
Grafovi i matrice. Matrica susedstva i matrica incidencije. Rešavanje sistema linearnih algebarskih jednačina pomoću grafova.
Jordanov kanonički oblik matrice. Sličnost matrica i transformacije baze vektorskog prostora. Jordanovi blokovi i Jordanove matrice.

Praktikum iz poslovne komunikacije i prezentacije

(izborni, I godina, II semestar)

Osnovna namena ovog praktikuma je da se studenti upoznaju sa principima modernog poslovanja, kako bi se bolje uklopili u globalne svetske tokove. To podrazumeva upoznavanje sa gradivom opisanim u knjigama Lloyd-a i Drucker-a. Studentima se predstavlja jedan rad dobitnika Nobelove nagrade, čime se uče kako doći do dobre ideje, ali i kako tu ideju prezentovati na najbolji način.

Pored ovoga, studentima se daje da sastave CV, koji će im biti potreban prilikom zaposlenja, kao i da naprave PowerPoint prezentaciju, čime pokazuju da su sposobni da na dostojan način predstave rezultate svoga rada.

Uvod u menadžment

(izborni, I godina, II semestar)

Pojmovno određenje menadžmenta. Različita shvatanja u definisanju menadžmenta. Razvoj misli u upravljanju - menadžmentu.
Teorije menadžmenta. Klasična škola. Teorija naučnog upravljanja F. Tejlora. Klasična organizaciona teorija. Administrativno upravljanje Anri fejoa. Birokratsko upravljanje Maksa Vebera. Teorija međuljudskih odnosa. Hotornski eksperiment. Bihejviorističke teorije. Kvantitativna teorija. Sistemski i situacioni pristup.
Profesija menadžer. Rad i ličnost menadžera.
Društvena odgovornost. Poslovna odgovornost i korporativna odgovornost. Značaj poslovne etike. Vrste i tipovi poslovne odgovornosti. Primeri korporativne društvene odgovornosti.
Motivi i motivacija. Pojam i značaj motivacije. Pregled najznačajnijih teorija motivacije.
Liderstvo i konflikti. Pojam i značaj liderstva. Teorije liderstva. Autoritet i moć u liderstvu i menadžmentu. Uzoci i vrste konflikata.
Organizaciona struktura i tipovi menadžmenta.
Problemi organizacije i organizacione strukture. Funkcionalna organizaciona struktura, Divizionalna organizaciona struktura, matrična organizaciona struktura, piramidalni tip menadžmenta, mrežni (net) menadžment, menadžment tipa “paukova mreža” (web).
Menadžment u praksi. Proces menadžmenta (planiranje, organizovanje, motivisanje, kontrola). Planiranje. Odlučivanje. Osnovni tipovi odluka. Osnovna sredstva odlučivanja. Organizovanje i komunikacija u organizaciji. Upravljanje vremenom. Organizovanje ljudskih resursa. “Raspon menadžmenta”. Motivisanje i strategije radne motivacije. Kontrola.