Principi programiranja

Cilj i ishod predmeta

Usvajanje znanja iz naprednih tehnika i veština u analizi, sintezi, dizajnu i implementaciji naprednih algoritama i struktura podataka koišćenjem različitih paradigmi programiranja. Student ume da osmisli i upotrebi složenije algoritme i strukture podataka. Student razume razliku između osnovnih paradigmi programiranja i ume da izabere i upotrebi odgovarajuću u rešavanju konkretnog složenijeg problema programiranja.

Teorijska nastava

Paradigme programiranja: imperativno – proceduralno i objektno-orijentisano, deklarativno – funkcionalno i logičko programiranje. Refleksija. Pregled programskih jezika za svaku paradigmu programiranja. Programski jezici koji podržavaju više paradigmi programiranja. Složene strukture podataka i algoritmi u imperativnom programiranju. Složene strukture podataka i algoritmi u deklarativnom programiranju. Matematički modeli izračunljivosti i veza sa paradigmama programiranja – Tjuringova mašina i Lambda račun. Modularizacija programskog koda.

Praktična nastava

Pregled elemenata funkcionalnog programiranja u nefunkcionalnim programskim jezicima. Refleksija u različitim programskim jezicima. Implementacija složenih struktura podataka korišćenjem objektno- orijentisane paradigme programiranja – balansirana binarna stabla, oktalna stabla, kvadratna stabla, heš tabele, heš stabla, trie. Implementacija složenih struktura podataka u funkcionalnom programiranju – različite vrsta stabala, strukture zasnovane na hešu, grafovi. Implementacija algoritama u imperativnom i funkcionalnom programiranju i njihovo poređenje. Moduli u različitim programskim jezicima.

5733-principi-programiranja

sbobet88 slot agb99 situs slot slot777 toto AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77 roma77 hoki99 abadicash