| Predmet | Programiranje 3 |
|---|---|
| Modul | Informacioni sistemi i tehnologije |
| Status predmeta | Izborni predmet |
| Katedra | Katedra za softversko inženjerstvo |
| Broj ESPB bodova | 5 |
Ovladavanje naprednim tehnikama programiranja i korišćenja inovativnih programskih jezika.
Osposobljenost studenata da programiraju na naprednom nivou korišćenjem inovativnih metoda, tehnika, i programskih jezika, i ovladavanje naprednim softverskim okruženjima za programiranje.
Predavanja u učionici uz pomoć računara, Internet-a i open source softverskih alata. Vežbe u računarskim laboratorijama, u manjim grupama. Deo vežbi izvodi nastavnik a studenti prate, a drugi deo je rezervisan za samostalan rad studenata, individualno ili u grupi, uz nadzor nastavnika
Teorijska nastava
Pregled naprednih koncepata u programiranju korišćenjem programskog jezika Clojure na Java platformi. Interaktivno programiranje i REPL. Funkcionalno programiranje. Funkcije višeg reda. Mapiranje i redukcija. Stanje i identitet. Organizacija projekta. Evaluacija, funkcije, i makroi. Konkurentno programiranje. Asinhrono programiranje. Višeparametarski polimorfizam. Makroi i metaprogramiranje. Druge aktuelne metode i tehnike programiranja.
Praktična nastava
Upotreba raznih softverskih alata za razvoj programa korišćenjem jezika Clojure i drugih odabranih programskih jezika. Pravljenje osnovnih demonstracionih programa korišćenjem tih jezika. Vežbe ponavljanja 1. Izrada specifićnih programa koji demonstriraju napredniji rad korišćenjem tih jezika. Vežbe ponavljanja 2. Izrada aplikacija. Vežbe ponavljanja 3. Priprema za ispit 1. Priprema za ispit 2.
- Sajt predmeta sa brojnim linkovima na rešene primere, sajtovi programskih jezika i odgovarajućih programskih biblioteka koji se izučavaju u okviru ovog predmeta 2020
- Daniel Higginbotham Clojure For the Brave and True No Starch Press 2015
- Russ Olsen Getting Clojure Pragmatic Programmers 2018
