Ispitna pitanja 1. Dodatne programske paradigme: Skript paradigma 2. Dodatne programske paradigme: Paradigma programiranja ograničenja 3. Dodatne programske paradigme: Komponentna paradigma 4. Dodatne programske paradigme: Paradigma upitnih jezika 5. Dodatne programske paradigme: Generička paradigma 6. Dodatne programske paradigme: Vizuelna paradigma 7. Dodatne programske paradigme: Konkurentna paradigma 8. Dodatne programske paradigme: Reaktivna paradigma 9. Jezici za obeležavanje teksta/podataka 10. Konkurentno programiranje. Definicija i motivacija. 11. Hijerarhijska podela konkurentnosti. 12. Podrška konkurentnom programiranju. Vrste konkurentnosti. Nivoi konkurentnosti. 13. Skalabilnost. Amdalov zakon. Portabilnost. 14. Osnovni koncepti konkurentnosti. Zadatak. Nit. Proces. 15. Paralelizacija zadataka. Paralelizacija podataka. Primeri. 16. Komunikacija između zadataka. 17. Sinhronizacija. Implementacija sinhronizacije. Saradnja. Takmičenje. 18. Semafori i monitori. Muteksi i katanci. Zaključavanje podataka. 19. Koncept napredovanja. Uzajamno i živo blokiranje. Izgladnjivanje. Odnos konkurentnosti i potprograma. 20. Model razmene poruka Actor 21. Distribuirani sistemi. Definicija. Pristupi. Karakteristike. Prednosti. Izazovi. Vrste. 22. Distribuirana skladišta podataka. Distriburane transakcije. 23. Distribuirano izračunavanje. Distribuirano slanje/primanje poruka. 24. Podrška konkurentnom programiranju: Java, Scala, Kotlin i Clojure 25. Podrška konkurentnom programiranju: Erlang, Elixir i Elm 26. Podrška konkurentnom programiranju: Rust i Go 27. Programski jezik Go. Alat go. Paketi. Osnovni tipovi podataka. 28. Programski jezik Go. Složeni, referentni i interfejsni tipovi podataka. 29. Programski jezik Go. Kontrola toka. Sakupljanje smeća. 30. Programski jezik Go. Konkurentnost. Gorutine. Go planer. Sinhronizacija. Kanali. 31. Polimorfizam. Hijerarhijski polimorfizam. 32. Polimorfizam. Implictni i ad-hoc polimorfizam. 33. Polimorfizam. Parametarski polimorfizam. 34. Programski jezik C++. Odnos sa C-om. Prostor imena. Reference. 35. Programski jezik C++. Klase. Nivoi vidljivosti. Konstruktori. Preopterećivanje operatora. 36. Programski jezik C++. Destruktor. Konstruktor kopije. Operator dodele. 37. Programski jezik C++. Nasleđivanje. 38. Šabloni funkcija u C++-u. 39. Šabloni klasa u C++-u. 40. STL. Iteratori. 41. STL. Kolekcije. 42. Funkcionali u C++-u. 43. Leksika i sintaksa programskih jezika. 44. Semantika i pragmatika programskih jezika. 45. Imena, promenljive (ime, adresa, tip, vrednost, doseg, životni vek), povezanost. 46. Kontrola toka u programskim jezicima. Sistem tipova. 47. Prevođenje i izvršavanje.