PROGRAMSKE PARADIGME

R smer

Kurs programske paradigme je obavezan kurs na trećoj godini R smera u okviru kojeg se proučavaju karakteristike osnovnih programskih paradigmi i stilova programiranja:

  • imperativno programiranje - istorijski razvoj, osnovne karakteristike i mogućnosti različitih imperativnih jezika
  • objektno-orijentisano programiranje - osnovni koncepti objektno orijentisanog programiranja
  • funkcionalno programiranje - teorijske osnove (lambda račun), programski jezik Haskell
  • distribuirano programiranje, programski jezik Haskell
  • logičko programiranje - teorijske osnove (logika prvog reda), programski jezik Prolog
  • programiranje ograničenja, programski jezik Prolog
U okviru studija postoje i drugi kursevi koji se bave bliskim temama.

Predmetni nastavnik:

Asistent:

Obavezni predmet

  • 5 ESPB bodova
  • 2 časa predavanja
  • 2 časa vežbi

Predispitne obaveze (45 poena):

  • kolokvijum: 20 poena (teorija), radi se 25 minuta
  • kolokvijum: 25 poena (zadaci), radi se 2 sata
BITNO: Da bi položio praktični deo kolokvijuma, student treba da ostvari najmanje 30% na funkcionalnom delu.

Završni ispit (55 poena):

  • teorija: 25 poena, radi se 30 minuta
  • zadaci: 30 poena, radi se 2 sata
BITNO: Na ispitu se istovremeno rade i teorija i zadaci. Da bi položio ispit, student treba da položi kolokvijum i da ostvari najmanje 51 poen, od čega najmanje 40% na teoriji (18 poena) i najmanje 40% na zadacima (22 poena). Takođe, na završnom ispitu potrebno je ostvariti najmanje 30% na praktičnom delu, od čega najmanje 15% na Prologu i najmanje 15% na programiranju ograničenja.

Primeri

  • Primer kolokvijuma (OVDE)
  • Primer praktičnog dela završnog ispita (OVDE)

Materijali sa časova

Napomena: ovi materijali biće dopunjavani i menjani u toku godine.

Dodatni materijali

  • Dodatni materijali za učenje se mogu naći ovde.
  • Materijali vezani za programske jezike mogu se naći ovde.
  • Konkurentno programiranje u programskom jeziku Go. Slajdovi. Primeri.

Materijali sa časova

ČAS 1

ČAS 2

ČAS 3

ČAS 4

ČAS 5

ČAS 6

ČAS 7

VM

DPH

ČAS 8

ČAS 9

ČAS 10

ČAS 11

ČAS 12

ČAS 13

Literatura za predavanja

  • Materijali i slajdovi sa predavanja i vežbi
  • A. Tucker and R. Noonan: "Programming Languages: Principles and Paradigms", McGraw-Hill Science, 2001.
  • R. Sebesta: "Concepts of programming languages", Addison Wesley, (10. ed.), 2012.
  • P. Van Roy, S. Haridi: "Concepts, Techniques, and Models of Computer Programming", MIT Press, 2003.

Literatura za vežbe

  • Graham Hutton: "Programming in Haskell"
  • Zvanična stranica programskog jezika Haskell
  • Leon Sterling, Ehud Shapiro: "The Art of Prolog"
  • Predrag Janičić, Mladen Nikolić: "Veštačka inteligencija"

Dodatno

Septembar 2 - rezultati

Rezultati su uneti u Hipatiju - proverite! Ukoliko uočite bilo kakvu nepravilnost, javite se mejlom zaključno sa petkom 27.09.

Rezultati ispita mogu se videti ovde. Uvid u praktični deo ispita: javiti se elektronskim putem asistentkinji zaključno sa sredom 25.9. do 12h. Uvid u teoriju i upis ocena je u sredu 25.9. u 17:45h (kabinet 716) ili u 18:30 (u učionici gde će se održavati ispit MSNR).

23.9.2019.

Prijava za ispit Septembar 2

Mole se studenti koji sigurno izlaze na ispit u nedelju, 22.9. da popune anketu koja se nalazi na ovom linku.

Poslednji dan za prijavu je petak, 20.9. do 12h.

17.9.2019.

Septembar 1 - rezultati

Rezultati su uneti u Hipatiju - proverite! Ukoliko uočite bilo kakvu nepravilnost, javite se mejlom zaključno sa petkom 13.9.

Rezultati ispita mogu se videti ovde. Uvid u praktični deo ispita: javiti se elektronskim putem asistentkinji zaključno sa petkom 13.9. do 12h. Uvid u teoriju i upis ocena je u petak 13.9. u 17:30h (kabinet 716).

8.9.2019.

JUN 2 - rezultati

Rezultati su uneti u Hipatiju - proverite! Ukoliko uočite bilo kakvu nepravilnost, javite se mejlom zaključno sa nedeljom 14.7.

Rezultati ispita mogu se videti ovde. Uvid u praktični deo ispita: javiti se elektronskim putem asistentkinji zaključno sa nedeljom 14.7. Uvid u teoriju i upis ocena je u ponedeljak 15.7. u 17h.

13.7.2019.

Ispit 6.7. - JUN 2

Svi studenti će raditi ispit u jednoj grupi. Ispit počinje u 9h na Trgu. Sačekati na 4. spratu.

Prvo se radi teorijski test od 30 minuta, nakon čega sledi praktični deo koji traje 2 sata.

5.7.2019.

Prijava za ispit 6.7. - JUN 2

Zbog velikog broja prijavljenih studenata na Hipatiji, molimo one koji sigurno izlaze na ispit u roku JUN 2 da popune anketu koja se nalazi na ovom linku.

Poslednji dan za prijavu je petak, 5.7. do 12h.

3.7.2019.

JUN 1 - ukupni rezultati

Rezultati su uneti u Hipatiju - proverite! Ukoliko uočite bilo kakvu nepravilnost, javite se mejlom do 1. jula.

Rezultati ispita i naknadnog kolokvijuma mogu se videti ovde. Uvid u praktični deo ispita: javiti se elektronskim putem asistentkinji radi dogovora do petka 28.06.

24.6.2019.

JUN 1 - rezultati teorije

Rezultati teorije mogu se videti ovde. Uvid u teorijski deo ispita: utorak 25. jun u 9:40, kabinet 716.

22.6.2019.

Ispit 17.6. - JUN 1

Svi studenti će raditi ispit u jednoj grupi. Ispit počinje u 13h na Trgu. Sačekati na 4. spratu.

Prvo se radi teorijski test od 30 minuta, nakon čega sledi praktični deo koji traje 2 sata.

16.6.2019.

Rezultati seminarskih radova

Broj poena koji su osvojeni na seminarskim radovima možete pogledati ovde. Poeni su uneti u Hipatiju u okviru poena na kolokvijumu, na način opisan u tabeli rezultata. Proverite i što pre javite ukoliko uočite neki propust.

07.06.2019.

Ispit

Obaveštenje: studenti koji nisu ostvarili prag na kolokvijumu ili izašli na isti imaće mogućnost da u ispitnim rokovima Jun1 i Jun2 urade dodatni Haskell zadatak (zajedno sa ispitnim zadacima) koji će biti uslov pregledanja ispitnih zadataka i neće doneti dodatne poene. Ova mogućnost važi samo za pomenute ispitne rokove i ostvarivanje praga za kolokvijum se ne može preneti u naredne rokove. Dodatni zadatak će obuhvatiti osnovne funkcionalne koncepte iz Haskell-a.

05. 06. 2019.

Podsetnik: nadoknada vežbi

Nadoknada časova vežbi (od 03.05.) biće održana u terminima: utorak, 21.05. od 16h u učionici DLAB i sreda, 22.05. od 16h, u učionici 830 (umesto u učionici DLAB prema prvom planu).

21.05.2019.

Seminarski radovi - finalna odbrana

Studenti koji brane seminarski rad 22. maja su

  • Igra memorije (Python) - Ivan Stanić, Milica Simić, Anja Veličković
  • Robin Hood (Rust)- Luka Hadži Đokić, Marijana Urošević
  • Ne ljuti se čoveče (Lua) - Vera Popović, Isidora Ristović i Natalija Drašković
  • Protect the planet (Lua) - Lazar Perišić i Miloš Đurić
Svi ostali studenti brane 29. maja u terminu predavanja.

17.05.2019.

Seminarski radovi - finalna odbrana

Zbog velikog broja grupa, odbrane će da budu raspoređene u dva termina predavanja. Prvi termin je sreda 22. maj a drugi termin je sreda 29. maj. Ukoliko neko ima želju da brani 22. maja, može da se javi mejlom. Ukoliko niko ne bude želeo da brani 22. maja, onda će podela biti napravljena random metodom 18. maja i to tako da se 22. maja brane 4 grupe i 29. maja da se brani 5 grupa. Odbrana podrazumeva pripremu prezentacije gde se prikazuju ideja, realizacija i korišćene tehnologije. Odbrana je javna i njoj mogu prisustvovati svi studenti. Odbrana može da bude praćena slajdovima. U okviru odbrane, prezentacija treba da traje 7 do 8 minuta, diskusija će trajati najviše po pet minuta.

13.05.2019.

Seminarski radovi - odbrana kod asistentkinje

Termin odbrane kod asistentkinje po timovima:

  • Protect the planet: petak, 17.05. u 16h, učionica RLAB
  • Robin Hud: petak, 17.05. u 16h, učionica RLAB
  • Ne ljuti se covece: petak, 17.05. u 16h, učionica RLAB
  • Windows copy: petak, 17.05. u 16:30, učionica RLAB
  • Scaffolder: petak, 17.05. u 16:30, učionica RLAB
  • Interactive schedule: petak, 17.05. u 16:30, učionica RLAB
  • Space Impact: petak, 17.05. u 16:30, učionica RLAB
  • Igra memorije: četvrtak, 16.05. u 17h, kabinet 716 (molba tima)
  • Zmijica: petak, 17.05. u 17:20, kabinet 716 (molba tima)
Timovi koji treba da dopune ili izmene svoj repozitorijum do dana odbrane su obavešteni elektronskim putem. Odbrana podrazumeva detaljno gledanje koda i demonstraciju da je tema savladana (pokretanje napisanog programa uz neke izmene i prevođenje). Potrebno je da tim ponese svoj laptop na kome će prezentovati rad. Odbrana može da bude praćena slajdovima.

Napomena: Ukoliko tim nije u mogućnosti da brani rad u zakazanom terminu, potrebno je da se javi asistentkinji kako bi se dogovorio drugi termin odbrane, s tim što odbrana mora biti završena zaključno sa 17.05. Ukoliko se neki član tima ne pojavi na odbrani, smatraće se da je odustao od seminarskog i neće dobiti dodatne poene.

13.05.2019.

Nadoknada vežbi

Nadoknada časova vežbi (od 03.05.) se pomera na zahtev studenata i biće održana u terminima: utorak, 21.05. od 16h u učionici DLAB i sreda, 22.05. od 16h u učionici DLAB.

12.05.2019.

Predaja seminarskih radova

Finalni rok za predaju konačnih verzija seminarskih radova pomeren je na 8. maj (uključujući i taj dan), na zahtev studenata. Obavezno pogledati odeljak Uputstva za izradu i predaju seminarskog na ovom linku .

05.05.2019.

Nadoknada vežbi

Nadoknada časova vežbi (od 19.04.) biće održana u utorak, 07.05. od 16h u učionici DLAB u dogovoru sa studentima.

05.05.2019.

Predavanje 8. maja

U okviru časa predavanja starije kolege sa I smera predstaviće programske jezike Elixir, F#, PHP, Kotlin, Lua i Go.

27. 04. 2019.

Nadoknada vežbi

Časovi vežbi od 19.04. i 03.05. biće nadoknađeni nakon uskršnjih i prvomajskih praznika.

22. 04. 2019.

Vežbe 19.04.

U petak, 19.04. neće biti održani časovi vežbi. Datum nadoknade biće objavljen za vikend.

18. 04. 2019.

Rezultati kolokvijuma

Rezultati teorijskog dela su uneti u Hipatiju. Uvid: sreda, 17.04. u pauzi između predavanja.

Rezultati praktičnog dela su uneti u Hipatiju. Poene po zadacima možete pogledati: ovde. Ukoliko uočite neslaganje poena iz tabele i Hipatije, obavezno prijaviti asistentkinji. Studenti koji nisu ostvarili prag na funkcionalnom delu su obeleženi crvenom. Uvid: javiti se elektronskim putem asistentkinji.


Napomena: studenti koji nisu ostvarili prag, a žele da polažu ispit, imaće mogućnost da u ispitnim rokovima Jun1 i Jun2 urade dodatni Haskell zadatak (zajedno sa ispitnim zadacima) koji će biti uslov pregledanja ispitnih zadataka i neće doneti dodatne poene.

15. 04. 2019.

Raspored polaganja kolokvijuma

Raspored za kolokvijum po grupama i učionicama možete pogledati: ovde.

Studenti raspoređeni u prvu grupu polažu prvo praktični deo kolokvijuma od 9h, nakon čega polažu teorijski deo kolokvijuma. Studenti raspoređeni u drugu grupu prvo rade teorijski deo kolokvijuma od 11h, a nakon toga praktični deo.

Praktični deo kolokvijuma traje 2 sata, a teorijski deo 30 min.

07. 04. 2019.

Gostujuća predavanja u okviru kursa MSNR

Pozivaju se svi zainteresovani studenti da prisustvuju gostujućim predavanjima koja će biti održana u okviru kursa Metodologija stručnog i naučnog rada u sredu 27. marta u 18h i u 19h. Predavači iz firmi NCR i Endava približiće studentima proces intervjua za praksu/posao iz ugla HR-a i iz tehničkog ugla. Naslov ovih predavanja je

"Najčešća pitanja i najčešći pogrešni odgovori na intervjuu za posao"

a teme će pokriti HR stručnjaci iz firme NCR i programeri iz firme Endava.

Za preciznije informacije o temama koje će biti pokrivene i o samim predavačima, pogledajte stranu kursa MSNR.

22.03.2019.

Finalna verzija teme seminarskog rada

Teme za koje se čekala dopuna/izmena README fajla su odobrene.

Svim timovima želimo puno uspeha u realizaciji seminarskog rada.

12.03.2019.

Finalna verzija teme seminarskog rada

Na mail adrese članova tima sa narednim temama su poslati komentari u vezi sa trenutnim verzijama README fajla: Windows copy, Scaffolder, Licitacije, Igra memorije, Zmijica i Space Impact. Preostale teme su prihvaćene.

Rok za dopunu, tj. izmenu README fajla da bi pomenute teme bile prihvaćene je nedelja, 10.03.2019. do 12h. Potrebno je javiti mejlom asistentkinji kad bude postavljena finalna, izmenjena verzija README fajla.

08.03.2019.

Prijava prve verzije teme seminarskog rada

Za sve prijavljene timove napravljen je git repozitorijum u okviru projekta matf-pp2019, a dodatne informacije su poslate na mail adrese članova svakog tima. Za sva dodatna pitanja, obratiti se elektronskim putem asistentkinji.

Rok za popunjavanje README fajla je 01.03.2019. Uputstvo za korišćenje: Git. Više informacija o seminarskim radovima i šta je potrebno da sadrži README fajl možete naći ovde .

26.02.2019.

Čas predavanja - 20. februar

Čas predavanja u sredu 20. februara neće biti održan. Čas će biti nadoknađen u toku semestra, u dogovoru sa nastavnikom, a najverovatnije u prvom delu semestra (tj. pre kolokvijumske nedelje).

17. 02. 2018.

Prijava timova za izradu seminarskog rada

Prijava timova je završena. Više informacija o seminarskim radovima možete naći ovde .

15.02.2019.

Početak semestra

Svim studentima želimo uspešan početak letnjeg semestra školske 2018/19. godine!

09. 02. 2018.

Matematički fakultet, Univerzitet u Beogradu
školska 2018/19. godina