Fakultet tehničkih nauka

Predmet: Napredno programiranje i programski jezici (17.IFE112)

Matične organizacione jedinice predmeta: Katedra za primenjene računarske nauke
Osnovne informacije:
 
Kategorija Stručno-aplikativni
Uža naučna oblast Primenjene računarske nauke i informatika
Multidisciplinarna Ne
ESPB 8
Cilj:

Obrazovanje studenata u oblasti naprednih paradigmi programskih jezika i tehnika programiranja. Ovladavanje principima, tehnikama i načinom razmišljanja u objektno-orijentisanoj, funkcionalnoj, logičkoj i aspekt-orijentisanoj paradigmi.

Ishod:

Studenti treba da steknu znanja iz naprednih paradigmi programskih jezika, a posebno iz oblasti objektno-orijentisanog i funkcionalnog programiranja. Studenti treba da ovladaju veštinama u oblasti objektno-orijentisanog i funkcionalnog programiranja, kao i da budu obučeni za samostalnu, naprednu implementaciju programa u izabranom programskom jeziku.

Sadržaj:

Uvod u napredne paradigme programskih jezika - objektno-orijentisano, funkcionalno, logičko i aspekt-orijentisano programiranje. Definicija i osobine pojmova objekat, klasa i metoda. Konstruktori, kreiranje i inicijalizacija objekata. Destruktori. Apstraktni tipovi podataka. Kontrola pristupa na nivou atributa i metoda. Enkapsulacija. Nasleđivanje. Veze asocijacije, agregacije i kompozicije. Apstraktne klase i interfejsi. Polimorfizam. Tokovi podataka, ulaz, izlaz i datoteke. Tačnost, robusnost i efikasnost programa. Obrada grešaka putem izuzetaka. Lambda izrazi i kompozicije funkcija. Testiranje programa. Pregled aktuelnih saznanja i standardizacija u oblasti naprednih paradigmi prrogramskih jezika.

Metodologija izvođenja nastave:

Nastava se izvodi u obliku predavanja, računarskih vežbi u računarskoj laboratoriji i konsultacija. Tokom celokupnog procesa izvođenja nastave, studenti su podsticani na intenzivnu komunikaciju, kritičko rezonovanje, samostalni rad i aktivan opšti odnos prema procesu učenja. Uslov za dobijanje potpisa i izlazak na završni ispit predstavlja izvršenje svih predispitnih obaveza, u minimalnom obimu od 30 poena.

Literatura:
Autori Naziv Godina Izdavač Jezik
Kraus, L. Programski jezik C++ 1991 Mikro knjiga, Beograd Srpski jezik
Venkat Subramaniam Functional Programming in Java 2014 Pragmatic Bookshelf Engleski
Malbaški, D. Objektno orijentisano programiranje kroz programski jezik C++ 2008 Fakultet tehničkih nauka, Novi Sad Srpski jezik
Grupa autora Programski jezik C++ - standard 2017 2017 ISO - International Organization for Standardization Engleski
Bruce Eckel Thinking in Java, 4th edition 2005 Prentice Hall Engleski
eng>David J. Eck Introduction to Programming using Java, 7th edition 2008 Prentice Hall Engleski
Zarić Jovica Funkcionalno programiranje i programski jezik F# 2018 Fakultet tehničkih nauka Novi Sad Srpski jezik
Bjarne Stroustrup The C++ Programming Language, 4th Edition 2014 Addison-Wesley Engleski
Vidaković Milan Java i objektno-orijentisano programiranje 2018 Fakultet tehničkih nauka Srpski jezik
Bjarne Stroustrup Programming -- Principles and Practice Using C++ (Second Edition) 2014 Addison-Wesley Engleski
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Teorijski deo ispita Ne Da 30.00
Složeni oblici vežbi Da Da 20.00
Složeni oblici vežbi Da Da 30.00
Složeni oblici vežbi Da Da 20.00
Izvođači nastave:
Računarske vežbe
Računarske vežbe
Računarske vežbe
Predavanja
Predavanja
Računarske vežbe