PROGRAMSKE PARADIGME

I smer

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

  • skript programiranje - programski jezik Python
  • programiranje ograničenja - programski jezici Python i Prolog
  • funkcionalno programiranje - teorijske osnove (lambda račun), programski jezik Haskell
  • konkurentno programiranje - programski jezik Scala
  • distribuirano programiranje - programski jezik Scala i biblioteka Scala Spark
  • logičko programiranje - teorijske osnove, programski jezik Prolog
  • komponentno programiranje - programski jezik Scala i biblioteka ScalaFX
U okviru studija postoje i drugi kursevi koji se bave bliskim temama.

Predmetni nastavnik:

Asistent:

Izborni predmet

  • 6 ESPB bodova
  • 2 časa predavanja
  • 3 časa vežbi

Predispitne obaveze: kolokvijum (35 poena):

  • teorija: 16 poena
  • zadaci: 19 poena

Završni ispit (65 poena):

  • teorija: 29 poena
  • zadaci: 36 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).

Materijali

ČAS 1 (24. februar)

ČAS 2 (3. mart)

ČAS 3 (10. mart)

ČAS 4 (17. mart)

ČAS 5 (24. mart)

ČAS 6 (31. mart)

  • Konkurentno programiranje. Slajdovi. Tekst.
  • Gostujuće predavanje, firma Endava, početak u 11h, učionica Jag2
    Naslov predavanja: Funkcionalno reaktivno programiranje
    Slajdovi sa predavanja
    Sažetak: Reaktivno programiranje je programerska paradigma orijentisana oko tokova podataka i propagiranja promena. To znači da je moguće definisati podatke dok će model izvršenja automatski propagirati promene kroz protok podataka. Funkcionalni dodatak su operatori (map, filter, reduce, ... itd.) koji se koriste za modifikaciju protoka podataka. Reaktivni pristup najviše ima primenu kod asihronog programiranja. Predavanje ima za cilj da objasni reaktivni način ražmišljanja kroz teoriju i primere.
    Predavači:
    Raško Gojković (iOS Senior developer) – iOS Senior developer sa dugogodišnjim iskustvom u C++ , Objective C i Swift-u. Pored programiranja za iOS mobilnu platformu ima iskustva sa programiranjem igara i motion capture alata.
    Slobodan Pavić (Android Junior developer) – Android Junior developer sa iskustvom u Javi i PHP programskim jezicima. Pored programiranja za Android platformu ima iskustva sa web programiranjem.

ČAS 7 (7. april)

ČAS 8 (21. april)

ČAS 9 (28. april)

  • Logičko programiranje.
  • Slajdovi. Tekst.
  • Gostujuće predavanje, firma Endava, početak u 11h, učionica Jag2
    Naslov predavanja: Sistemi u realnom vremenu i programski jezik Ada
    Slajdovi sa predavanja
    Sažetak: Sistemi u realnom vremenu: šta su, gde se koriste, zašto su bitni, njihove specifičnosti, “timing analysis/worst-case execution time/real-time scheduling”, paralelizacija u sistemima u realnom vremenu.
    Osvrt na jezik Ada i zašto je on bitan u real-time sistemima, koje koncepte nudi i kako oni mogu da se iskoriste u gore objašnjenom kontekstu.
    Predavač:
    Miloš Panić (Senior developer - Endava): Doktorand na Universitat Politècnica de Catalunya - BarcelonaTech. Radio u Barcelona Supercomputing Center na arhitekturi procesora sa više jezgara za sisteme u realnom vremenu. Sarađivao sa kompanijama poput Airbus, Denso, Honeywell u radu na multiprocesorskim platformama za avione i automobile budućnosti. Autor je vise publikacija na vodecim internacionalnim konferencijama iz oblasti
    Trenutno, u paru s kolegom, vodi tim od deset inženjera koji radi na "Internet of Things/Big Data" projektu za upravljanje flotama vozila i osiguranju po pređenom kilometru vozila (C++/Java/JavaScript/Swift(iOS)/Android/Storm/HBase/Spark).

ČAS 10 (5. maj)

ČAS 11 (12. maj)

ČAS 12 (19. maj)

ČAS 13 (26. maj)

ČAS 1

ČAS 2

  • Python: datoteke, JSON format, datum, argumenti kom. linije, obilazak direktorijuma, sortiranje: [ primeri ]
  • Zadaci: [ tekst ] [ rešenja ]

ČAS 3

ČAS 4

ČAS 5

ČAS 6

ČAS 7

KOLOKVIJUM

ČAS 8

ČAS 9

ČAS 10

ČAS 11

ČAS 12

ČAS 13

Literatura

  • 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

Dodatno

  • Ubuntu virtuelna mašina za studente [ovde]
  • Uputstvo za generisanje JAR fajlova za Scalu [ ovde]

Rezultati - Septembar 2

Rezultati ispita se mogu pronaći [ ovde ].
Mole se studenti da provere unete poene u Hypatia-i i jave ukoliko primete grešku.
Uvid u teoriju i upis ocena: nedelja 24. 09. u 17h, kabinet 716.
Uvid u zadatke: mejlom na branislavaz [at] matf.bg.ac.rs.

20.9.2017.

Rezultati - Septembar 1

Rezultati ispita se mogu pronaći [ ovde ].
Mole se studenti da provere unete poene u Hypatia-i i jave ukoliko primete grešku.
Zainteresovani za uvid u teoriju mogu se javiti mejlom radi dogovora termina.
Upis ocena: nedelja 24. 09. u 17h, kabinet 716. Ili u terminu upisa ocena za Septembar 2.
Uvid u zadatke: mejlom na branislavaz [at] matf.bg.ac.rs.

12.9.2017.

Rezultati - Jul

Rezultati ispita se mogu pronaći [ ovde ].
Mole se studenti da provere unete poene u Hypatia-i i jave ukoliko primete grešku.
Uvid u teoriju i upis ocena: nedelja 2. jul u 18:45h.
Uvid u zadatke: mejlom na branislavaz [at] matf.bg.ac.rs.

27.6.2017.

Prijava za ispit - Jun

Radi što bolje organizacije ispita, mole se studenti da ukoliko sigurno izlaze na ispit 25.06.2017. popune sledeću formu.

Prijavljivanje traje do 24.06.2017. u 12h.

22.6.2017.

Rezultati - Jun

Rezultati ispita se mogu pronaći [ ovde ].
Mole se studenti da provere unete poene u Hypatia-i i jave ukoliko primete grešku.
Zainteresovani za uvid u teoriju mogu se javiti mejlom radi dogovora termina.
Uvid u zadatke: mejlom na branislavaz [at] matf.bg.ac.rs.
Termin upisa ocena: nedelja 25. jun u 9:30h.

18.6.2017.

ISPIT 16.6. - Jun

Svi studenti će raditi ispit u jednoj grupi. Ispit počinje u 9h u učionici 706. Prvo se radi teorijski test od 45 minuta, nakon čega sledi praktični deo koji traje 2-2.5 sata.

15.6.2017.

Prijava za ispit - Jun

Radi što bolje organizacije ispita, mole se studenti da ukoliko sigurno izlaze na ispit 16.06.2017. popune sledeću formu.

Prijavljivanje traje do 15.06.2017. u 12h.

13.6.2017.

Predispitne obaveze - poeni

Uneti su poeni sa predispitnih obaveza (uključujući i seminarske radove) u Hypatia-u. Molimo sve studente da OBAVEZNO provere svoje poene i jave ukoliko primete neku grešku.

8.6.2017.

Konsultacije pred ispit

Konsultacije kod asistentkinje će se održati u petak 9.6. u 10h u nekoj od slobodnih učionica (okupljanje ispred 716).

6.6.2017.

Poeni osvojeni na seminarskim radovima

Tabelu sa poenima možete pronaći [ ovde ].

6.6.2017.

Odbrana seminarskih radova

Termin i mesto odbrane: utorak, 6. jun, 9h, učionica 840.
Uputstvo za odbranu možete pronaći ovde .
Ukoliko neki tim opravdano ne može da prezentuje svoj rad u naznačenom terminu, treba da se javi asistentkinji radi dogovora.

2.6.2017.

Produžen rok za predaju seminarskih radova

Novi i finalni rok za predaju seminarskog je utorak, 30. maj, 18h.
Sve bitne informacije i formu za predaju rada možete pronaći ovde .
Termin odbrane će biti naknadno objavljen.

26.5.2017.

Представљање учешћа студената Математичког факултета на научним и стручним скуповима из области рачунарства и информатике у земљи и иностранству

Развојни центар компаније Microsoft, у оквиру партнерства са Математичким факултететом у стручном усавршавању талентованих студената, издвојио је значајна средства намењена финансирању учешћа студената Математичког факултета на научним и стручним скуповима из области рачунарства и информатике у земљи и иностранству.

У четвртак 25. маја 2017. године од 18 часова у учионици Јаг2 студенти који су добили прилику да се усавршавају презентоваће идеје и знања стечена током научног или стручног скупа на којем су учествовали.

Милица Селаковић и Ненад Васић приказаће своје виђење конференције EuroCG која је одржана у Малмеу, у периоду од 5. до 7. априла 2017. године. Бранислава Живковић изнеће своје утиске са учешћа на конференцији OWASP AppSec EU која је одржана у Белфасту 11. и 12. маја 2017. године. Далма Беара, Стефан Пантић и Денис Аличић изложиће преглед конференције Yu Info 2017 која је одржана на Копаонику од 12. до 15. марта 2017. године. Димитрије Цицмиловић приказаће осврт на конференцију 4th Heidelberg Laureate Forum одржану у Хајделбергу, у периоду од 18. до 23. септембра 2016. године.

Позивамо све студенте да присуствују овом догађају!

23.5.2017.

IT@MatF

Drage koleginice i kolege,

ovim putem skrećemo pažnju na jedan od najzanimljivijih događaja na MatF-u - IT@MatF! Na ovom događaju će 19 vodećih IT kompanija (prijatelja Katedre za računarstvo) studentima ukratko predstaviti svoj rad, ponude za prakse, kurseve, pozicije, itd.

Vreme: subota 27.05.2017, od 12h do 15h .
Mesto: VHA i hol zgrade PMF na Studentskom trgu.

Izveštaje sa prethodnih skupova možete pogledati ovde, a poster za ovogodišnji događaj ovde .

23.5.2017.

Promena termina vežbi

U utorak 23.5. neće biti vežbi iz Programskih paradigmi. Obe grupe će u sredu 24.5. imati vežbe od 10h do 13h u učionici 704.

21.5.2017.

Predaja seminarskih radova

Rok za predaju seminarskog je 26.maj.
Sve bitne informacije i formu za predaju rada možete pronaći ovde .
Termin odbrane će biti naknadno objavljen.

6.5.2017.

Termin vežbi

Naredne nedelje neće biti časova vežbi 9.5. i 10.5..

5.5.2017.

Promena termina vežbi

Obe grupe će u sredu 3.5. imati vežbe od 10h do 13h u učionici 704.

2.5.2017.

Seminarski radovi

Ažuriran je spisak [ovde] studenata koji su se naknadno prijavili za izradu seminarskog rada. Molimo studente da provere podatke i jave asistentkinji ukoliko primete grešku.

2.5.2017.

KOLOKVIJUM - rezultati

Rezultati kolokvijuma su skalirani na maksimalnih 35 poena. Studenti koji su bez skaliranja imali 40 ili više poena na kolokvijumu su oslobođeni rada zadatka iz Haskell-a na ispitu u junu. Studenti koji nisu zadovoljni rezultatima kolokvijuma, a nisu se prijavili za izradu seminarskog rada, mogu se do kraja nedelje (do 29. aprila) javiti asistentkinji i dobiti temu za samostalni seminarski rad. Uvid u teoriju: 28. april pre i nakon predavanja. Uvid u zadatke: mejlom na branislavaz [at] matf.bg.ac.rs.

24.4.2017.

KOLOKVIJUM - raspored sedenja

Raspored sedenja možete pronaći [ovde]
Studenti koji žele da promene grupu potrebno je da pronađu kolegu sa kojim će se zameniti i pošalju mejl asistentkinji.

8.4.2017.

Promena termina vežbi

Obe grupe će sledeće nedelje imati vežbe u ponedeljak 3. aprila od 18-21h u učionici DLAB, zbog nenastavnog dana studenata 4. aprila i zdravstvenih obaveza asistentkinje 5. aprila.
Hvala na razumevanju.

31.3.2017.

KOLOKVIJUM - sreda 12. april

  • Praktični deo kolokvijuma traje dva sata i radiće se na računarima u dve grupe.
    Prva grupa će početi u 9h a druga u 13h. Raspored studentata po grupama će biti okačen 8. aprila.
    Gradivo za praktičan deo kolokvijuma će obuhvatiti prvih šest nedelja vežbi (Python i Haskell).
    Gradivo koje bude pređeno na narednom času vežbi neće doći na kolokvijumu.

  • Teorijski deo kolokvijuma će svi studenti raditi istovremeno i počeće u 11:30h.

31.3.2017.

Gostujuća predavanja

    Pozivaju se studenti da posete naredna interesantna predavanja:
  • Gostujuće predavanje u okviru kursa MSNR: petak 7. april, početak u 9h, sala jag2
    Naslov: Tok zapošljavanja i razvojni putevi karijere u IT-u, Microsoft razvojni centar Srbije
    Sažetak
    Praktični saveti vezani za proces prijave i intervjua i na šta se zapravo fokusiraju ljudi koji vas intervjuišu.
    Pregled različitih razvojnih puteva koje ima jedan programer u velikoj međunarodnoj softverskoj kompaniji.
    Upoznavanje sa procesom zapošljavanja Microsoft razvojnog centra u Srbij.
    Predavač
    Milan Novaković - Principal Architect u Microsoft razvojnom centru, bavi se distribuiranim sistemima podataka. Tokom prethodnih 8 godina je intervjuisao preko 200 kandidata i vodio različite inženjerske i data science timove.

  • Gostujuće predavanje u okviru kursa MSNR: petak 21. april, početak u 9h, sala jag2
    Naslov: Priprema za intervju
    Апстракт
    Предавање ће да пружи студентима велики број корисних информација о разговорима за посао – интервјуима. Објасниће се начини на који кандидати могу да побољшају своје шансе да се што пре и што боље интегришу у тржиште рада. Биће набројане припремне активности које треба спровести већ током студија, док ће акценат бити на конкретном понашању током самог разговора. Циљ предавача је да аудиторијум разуме и прихвати неопходност активног односа појединца у потрази за послом и интервјуима.
    Предавач
    Милан Шкоро је консултант у области Информационих Технологија и запошљавања. Током свог радног века радио је као девелопер (Искра Делта) и дугогодишњи регионални директор за ИТ у Хајат корпорацији. Ово предавање одржава и у име својиx сарадника из београдске фирме TNation.

Promena termina vežbi

U sredu 22.3. neće biti vežbi iz Programskih paradigmi zbog neodložnog lekarskog pregleda asistentkinje. Obe grupe će vežbe imati u utorak 21.3. u učionici 830 od 17h do 20h.
Hvala na razumevanju.

20.3.2017.

Odobrene teme seminarskih radova

Na stranici [ ovde ] se može pronaći spisak odobrenih tema za seminarske radove.

19.3.2017.

Prijave seminarskih radova

Na sledećem linku se može naći formular za prijavu timova koji žele da rade seminarske radove: [ prijava ]

Rok za prijavu je 15.3.2017.

Više informacija o seminarskim radovima se može naći [ ovde ].

1.3.2017.

Matematički fakultet, Univerzitet u Beogradu
školska 2016/17. godina