DIZAJN PROGRAMSKIH JEZIKA

Kurs dizajn programskih jezika je obavezan kurs na trećoj godini R smera. U okviru kursa se proučavaju različite karakteristike programskih jezika i stilova programiranja:

  • Skript programiranje kroz Python
  • Programiranje ograničenja kroz Python constraint
  • Komponentno programiranje kroz JavaFX
  • Konkurentno programiranje i odgovarajući mehanizmi konkurentnog programiranja kroz Javu
  • Generičko programiranje kroz C++
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):

  • teorija: 20 poena
  • zadaci: 25 poena

Završni ispit (55 poena):

  • teorija: 25 poena
  • zadaci: 30 poena
Na ispitu se istovremeno rade i teorija i zadaci. Da bi položio ispit, student treba da ostvari najmanje 51 poen, od čega najmanje 40% na teoriji (18 poena) i najmanje 40% na zadacima (22 poena) i na završnom ispitu minimum 30% na praktičnom delu, od čega minimum 15% na C++u i minimum 15% na Javi.

Primeri

  • Primer zadataka za kolokvijum (OVDE)
  • Primer praktičnog dela završnog ispita (OVDE)

Programski jezici - uvod

Skript programiranje, programiranje ograničenja

Konkurentno programiranje

Parametarski polimorfizam

  • Parametarski polimorfizam. Generičko programiranje kroz C++.
    Slajdovi. Tekst.

ČAS 1

ČAS 2

ČAS 3

  • Python: obilazak direktorijuma, sortiranje. Programiranje ograničenja: uvodni primeri.
    [Zadaci]

Literatura za predavanja

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

Literatura za vežbe

Dodatno

Spisak programa potrebnih za kurs

  • Python 2.7
  • biblioteka python-constraint
  • Java JDK 1.8
  • Eclipse
  • G++

Primeri, školska 2016/17.

Nadoknada

Termini nadoknade:
  • utorak, 30.10. 8-10 (RLAB)
  • sreda, 31.10. 10-12 (DLAB)

26.10.2018.

Vežbe

U petak, 19.10. neće biti časova vežbi u obe grupe. Termin nadoknade biće dogovoren sa studentima na času sledeće nedelje.

18.10.2018.

Teme za seminarske radove

Teme za seminarske radove se mogu naći ovde.
Kratka obuka korišćenja Latexa će biti održana u ponedeljak 22. oktobra. Ovde se može naći šablonski dokument koji treba koristiti pri izradi seminarskog rada.
Rok za izradu seminarskog rada je 15 dana od datuma kada se data tema obradi na predavanjima. Za teme koje su već obrađene, rok se računa u odnosu na 22. oktobar.
Predavanje seminarskog rada: poslati mejlom odgovarajuću zip arhivu koja sadrži .tex, .bib i .pdf fajl (i eventualno neke slike ukoliko se koriste u radu).
Zamena teme je moguća ukoliko nađete odgovarajućeg para za zamenu (u tom slučaju je potrebno prijaviti zamenu).

16.10.2018.

Prijava seminarskog rada

Ukoliko želite da radite seminarski rad potrebno je da se do 10.10.2018. prijavite preko ove forme. Izrada seminarskog rada nije obavezna i može se ostvariti maksimalni broj poena i desetka i bez izrade seminarskog rada. Ipak, ukoliko se prijavite da radite seminarski rad pa posle toga od izrade seminarskog odustante, to će biti sankcionisano negativnim poenima.
Teme će biti podeljene do 15.10. kada će biti određeni i rokovi za izradu seminarskog rada koji će biti različiti, u zavisnosti od dodeljene teme.
Izrada seminarskog rada obuhvata pisanje teksta koji prati izlaganja neke od tema koje se obrađuju na predavanjima. U okviru izrade seminarskog rada očekuje se da se savlada Latex.

06.10.2018.

Početak nove školske godine

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

24.9.2018.

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