PROGRAMIRANJE 2

U okviru kursa Programiranje 2 obrađuju se napredni pojmovi proceduralnog programiranja i osnovni pojmovi algoritama i struktura podataka. U okviru naprednih pojmova proceduralnog programiranja, akcenat je na razumevanju funkcijskih poziva, rekurzije, upravljanju memorijom i primeni tih tehnika u rešavanju problema. U okviru osnovnih pojmova algoritama i struktura podataka, akcenat je na razumevanju pojma složenosti algoritma, osnovnim algoritmima za pretragu i sortiranje, dinamičkim strukturama podataka poput listi i stabala i algoritmima vezanim za njih. Kurs osposobljava studente da prepoznaju prilike za primenu naučenih tehnika, da na osnovu njihovih svojstava od više primenljivih tehnika izaberu bolje i da ih ispravno implementiraju.

Predmetni nastavnici:

Asistenti:

Osnovna literatura:

Dodatna literatura:

  • Brian Kernighan, Dennis Ritchie: The C Programming Language
  • Robert Sedgewick: Algorithms in C

Predispitne obaveze:

  • aktivnost na praktikumima: 5 poena
  • kolokvijum u kolokvijumskoj nedelji: 35 poena (20 poena teorija, 15 poena zadaci)

Završni ispit:

  • teorija: 30 poena (prag 30%)
  • zadaci: 10 poena (kvalifikacioni - prag 50%) + 25 poena (praktični - prag 30%)
    Pravila polaganja završnog ispita:
  • Da bi student mogao da izađe na praktični deo ispita, neophodno je da prethodno položi teorijski i kvalifikacioni deo ispita
  • Svi delovi završnog ispita mogu se polagati u jednom ispitnom roku
  • Svi delovi završnog ispita mogu se polagati u dva ispitna roka, po sledećim pravilima:
    • Ukoliko student položi teoriju i kvalifikacioni deo, a ne položi praktični deo ispita u jednom roku, ima mogućnost izlaska na praktični deo i u prvom narednom roku (teorija i kvalifikacioni deo mu se priznaju)
    • Ukoliko student položi teoriju a ne položi kvalifikacioni deo u jednom roku, ima mogućnost izlaska na kvalifikacioni i praktični deo ispita i u prvom narednom roku (teorija mu se priznaje)
    • Ispit je potrebno prijaviti u oba roka
  • Napomena: ukoliko student ne položi teoriju, prethodna pravila očigledno ne pružaju nikakve pogodnosti.

Primeri:

  • Primer teorijskog dela ispita (OVDE)
  • Primer kvalifikacionog dela ispita (OVDE)
  • Primer praktičnog dela ispita (OVDE)
  • Primeri praktičnog dela ispita (OVDE)

Mole se svi studenti da sve uočene greške i/ili propuste iz zbirke prijave preko ove forme kako bi naredno izdanje bilo još bolje. Hvala!

Linkovi ka snimcima vežbi i praktikuma: Tok 1o1, Tok 1o2, Tok 1o3, Tok 1o4

ČAS 2: Algoritmi za rad sa bitovima

ČAS 3: Rekurzija

ČAS 4: Algoritmi pretrage

ČAS 5: Algoritmi sortiranja

ČAS 6: Primene algoritama sortiranja

ČAS 7: Pokazivači i aritmetika sa pokazivačima

ČAS 8: Višedimenzioni nizovi

ČAS 9: Dinamička alokacija

ČAS 10: Pokazivači na funkcije i bibliotečke funkcije pretraživanja i sortiranja

ČAS 11: Liste

ČAS 12: Liste i binarno pretraživačko stablo

ČAS 13: Binarno pretraživačko stablo - nastavak

Slackware virtuelna mašina

Linkovi ka snimcima vežbi i praktikuma: Tok 1o1, Tok 1o2, Tok 1o3, Tok 1o4

Aktivnost studenata na praktikumu: Tok 1o1, Tok 1o2, Tok 1o3, Tok 1o4

ČAS 1: Obnavljanje gradiva Programiranja 1

ČAS 2: Kompilacija iz više izvornih datoteka

ČAS 3: Bitovski operatori

ČAS 4: Rekurzija

ČAS 5: Algoritmi pretrage

ČAS 6: Sortiranje

ČAS 7: Sortiranje

ČAS 8: Pokazivači i pokazivačka aritmetika

ČAS 9: Matrice

ČAS 10: Dinamička alokacija memorije

ČAS 11: Pokazivači na funkcije i bibliotečke funkcije pretrage i sortiranja

ČAS 12: Liste

ČAS 13: Stabla

Konsultacije za grupe 1O1A i 1O3A

Konsultacije će biti održane u utorak, 02.06, u BIM-u od 9 do 11h. Na konsultacijama će se raditi neki od prethodnih rokova, uz pitanja studenata.

30.05.2020.

Konsultacije u periodu 25.05.2020. - 05.06.2020.

Od 25.5.2020. do 05.6.2020. konsultacije će se održavati u prostorijama fakulteta ili online (putem Zoom sastanaka), u dogovoru sa studentima zainteresovanim za konsultacije. Termini koje su asistenti namenili za konsultacije su sledeći:

  • kod asistenta Filipa Vidojevića - u nedelji počev od 01.06. (biće naknadno objavljeno)
  • kod asistenta Miodraga Radojevića - 01.06. u 9h online
  • kod asistentkinje Nevene Ćirić - u petak 29.05. i 05.06. u 10h (zbornica u Svetog Nikole)
    (Potrebno je prijaviti se za željeni termin putem ankete - ovde )
  • kod asistentkinje Jelene Marković - svakog dana u periodu 25.05. - 31.05. u terminu 15-17h online
    (Ukoliko ste zainteresovani, potrebno je da se prijavite tako što ćete dan ranije (do 15h) poslati mejl sa svojim imenom i prezimenom, indeksom, nazivom predmeta i spiskom pitanja i eventualno zadacima. Pojašnjenja takođe dolaze u obzir. Takođe, možete da se prijavite i da slušate šta drugi imaju da pitaju. Potom ću ja poslati šifru za pristup sastanku svima koji su se prijavili. Ukoliko se niko ne prijavi, sastanak se neće držati.)
  • kod asistentkinje Božice Kalinić - petak u 11h online
Ukoliko vam navedeni termini ne odgovaraju, obratiti se svom asistentu putem mejla radi dogovora o terminu koji oboma odgovara.

23.05.2020.

Nadoknada za tok 1o1

U ponedeljak 18.05.2020. u 10h biće održana nadoknada časa vežbi.

13.05.2020.

Nadoknada za tok 1o2

U ponedeljak 11.05.2020. 16-18h biće održana nadoknada časa vežbi na kome će biti rađen uvod u binarna pretraživačka stabla, odnosno zadatak 4.14.

09.05.2020.

Nadoknade časova od petka 1.5.2020.

Vežbe:

  • Tok 1o2 - umesto u petak 1.5. čas će biti održan četvrtak 30.04. 17-19h
  • Tok 1o4 - umesto u petak 1.5. čas će biti održan u četvrtak 30.04. 18-20h

28.04.2020.

Raspodela poena i plan organizacije ispita u novonastalim okolnostima

  • Osvojeni poeni na praktikumima će biti skalirani na 5 poena koliko inače nosi aktivnost na praktikumima.
  • Ispit u celini nosi 100 poena i oni će biti raspodeljeni na sledeći način:
    • Teorijski deo - nosi 50 poena (prag 30%) i radi se 1h
    • Kvalifikacioni deo - nosi 15 poena (prag 50%) i radi se 1h (2 zadatka)
    • Praktični deo - nosi 35 poena (prag 30%) i radi se 2h (3 zadatka)
Jednom položen bilo koji od delova ispita važi u svim narednim rokovima, pri čemu se uslov za izlazak na praktični deo ispita stiče tek nakon uspešno položenog teorijskog i kvalifikacionog dela.

21.04.2020.

Nadoknade časova od petka 17.04. i ponedeljka 20.04.

Vežbe:

  • Tok 1o1 - umesto u ponedeljak 20.04. čas će biti održan u utorak 21.04. 9-11h
  • Tok 1o2 - umesto u petak 17.04. čas će biti održan u sredu 15.04. 13-15h
  • Tok 1o4 - umesto u petak 17.04. čas će biti održan u četvrtak 16.04. 17-19h
Praktikumi:
  • Tok 1o1 - umesto u ponedeljak 20.04. čas će biti održan u utorak 21.04. 8-9h

14.04.2020.

Termini vežbi, praktikuma i konsultacija 30.03. - neodređeno

Vežbe:

  • Tok 1o1 kod asistenta Miodraga Radojevića - ponedeljkom 9-11h
  • Tok 1o2 kod asistentkinje Nevene Ćirić - petkom 11-13h
  • Tok 1o3 kod asistentkinje Jelene Marković - četvrtkom 13-15h
  • Tok 1o4 kod asistentkinje Božice Kalinić - petkom 11-13h

Praktikumi:

  • Tok 1o1 kod asistenta Miodraga Radojevića - ponedeljkom 8-9h
  • Tok 1o2 kod asistentkinje Jelene Marković - utorkom 10-11h
  • Tok 1o3 kod asistentkinje Božice Kalinić - sredom 14-15h
  • Tok 1o4 kod asistentkinje Božice Kalinić - sredom 13-14h

Konsultacije:

  • Tok 1o1 kod asistenta Miodraga Radojevića
    • ponedeljkom 11-12h
    • sredom 9-10h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
  • Tok 1o2 kod asistentkinje Nevene Ćirić
    • sredom 13-14h
    • petkom 15-16h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
  • Tok 1o3 kod asistentkinje Jelene Marković
    • četvrtkom 17-18h
    • petkom 16-17h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
  • Tok 1o4 kod asistentkinje Božice Kalinić
    • utorkom 13-14h
    • petkom 13-14h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
Da biste se prijavili za konsultacije potrebno je da popunite anketu kod asistenta koji vam drži vežbe. Pre nego što popunite anketu proverite u odgovarajućoj tabeli pitanja koja su već postavili ostali studenti, i ukoliko je već postavljeno pitanje koje vas interesuje, nemojte ga duplirati (u tom slučaju uopšte ne popunjavate anketu, već se samo pojavljujete na Zoom sastanku kako biste čuli odgovor). Spisak postavljenih pitanja se 'čisti' nakon svakih održanih konsultaicija, tako da se sva vaša pitanja koja se dodaju nakon toga odnose na prvi sledeći termin konsultacija za vaš tok. Ukoliko se u toku konsultacija setite još nekog pitanja koje niste prethodno naveli popunjavanjem ankete, uvek se možete uključiti u toku Zoom sastanka i postaviti pitanje asistentu.
NAPOMENA: Ukoliko ne bude nijednog postavljenog pitanja putem ankete, konsultacije se neće održati (asistent neće pokrenuti Zoom sastanak u tom terminu).

28.03.2020.

Konsultacije za nedelju 23.03. - 27.03.

Konsultacije će ove nedelje biti u jednom terminu za svaki tok, dok će u počev od sledeće nedelje uvek biti ponuđena dva termina. Da biste se prijavili za konsultacije potrebno je da popunite anketu kod asistenta koji vam drži vežbe. Pre nego što popunite anketu proverite u odgovarajućoj tabeli pitanja koja su već postavili ostali studenti, i ukoliko je već postavljeno pitanje koje vas interesuje, nemojte ga duplirati (u tom slučaju uopšte ne popunjavate anketu, već se samo pojavljujete na Zoom sastanku kako biste čuli odgovor). Ukoliko se u toku konsultacija setite još nekog pitanja koje niste prethodno naveli popunjavanjem ankete, uvek se možete uključiti u toku Zoom sastanka i postaviti pitanje asistentu. NAPOMENA: Ukoliko ne bude nijednog postavljenog pitanja putem ankete, konsultacije se neće održati (asistent neće pokrenuti Zoom sastanak u tom terminu).

Termini konsultacija za ovu nedelju su:

  • Tok 1o1 kod asistenta Miodraga Radojevića - sreda 25.03.2020. 9-10h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
  • Tok 1o2 kod asistentkinje Nevene Ćirić - petak 27.03.2020. 14-15h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
  • Tok 1o3 kod asistentkinje Jelene Marković - petak 27.03.2020. 16-17h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde
  • Tok 1o4 kod asistentkinje Božice Kalinić - petak 27.03.2020. 13-14h
    • link ka spisku već postavljenih pitanja - ovde
    • link ka anketi za postavljanje pitanja - ovde

24.03.2020.

Uputstvo za uključivanje na Zoom sastanke

Detaljno uputstvo možete pronaći ovde. Na mejl koji vam stoji na Hipatiji smo vam poslali Personal ID asistenata koji vam drže vežbe i praktikum.

Molimo vas da se pridržavate vaše grupe za vežbe i praktikume. Ograničenje za broj učesnika na Zoom sastanku je 100, pa se može desiti da 101. učesnik bude baš student kome je sastanak namenjen i da njemu ne bude omogućen ulazak na sastanak. Uključivanjem na Zoom sastanak koji nije vama namenjen zauzimate mesto studentu kome jeste namenjen.

22.03.2020.

Održavanje časova vežbi, praktikuma i konsultacija za sledeću nedelju

Vežbe će se održavati putem Zoom sastanaka u istom terminu za obe grupe u okviru istog toka. Termini za sledeću nedelju su:

  • Tok 1o1 kod asistenta Miodraga Radojevića:
    • ponedeljak 23.03.2020. 9-12h
      (zadaci: shell sort (3.12), 3.18, 3.20, 3.23, 3.24)
  • Tok 1o2 kod asistentkinje Nevene Ćirić:
    • sreda 25.03.2020. 11-13h
      (zadaci: insertion sort, shell sort, merge sort, quick sort (3.12), 3.18)
    • petak 27.03.2020. 11-13h
      (zadaci: 3.20, 3.23, 3.24)
  • Tok 1o3 kod asistentkinje Jelene Marković:
    • ponedeljak 23.03.2020. 11-13h
      (zadaci: 3.12, 3.18)
    • četvrtak 26.03.2020. 13-15h
      (zadaci: 3.20, 3.23, 3.24)
  • Tok 1o4 kod asistentkinje Božice Kalinić:
    • petak 27.03.2020. 11-12h
      (zadaci: 3.23, 3.24)

Vežbe će počinjati u pun sat i bez pauza u maksimalnom trajanju od 1h/2h/3h.

Ovakav raspored održavanja vežbi važi samo za sledeću nedelju, dok ćete o rasporedu za dalje biti obavešteni naknadno. Kako su različite grupe prešle do sada različito gradivo, potrebno je da se grupe izjednače i da na dalje idemo svi istim tempom. Shodno tome imate spisak zadataka predviđen za svaki od časova ponaosob, pa se možete uključiti u odgovarajući Zoom sastanak, u zavisnosti od toga koje ste gradivo do sada odslušali. Na Zoom sastanak se ne morate uključivati odmah na početku, već možete proceniti otprilike u kom trenutku će početi deo koji vas zanima.

Informacije o načinu na koji ćete se uključivati u Zoom sastanke biće objavljen uskoro na stranici predmeta.

Praktikumi će se u toku sledeće nedelje održavti u terminima po dosadašnjem rasporedu časova, dok će u zavisnosti od vašeg (ne)interesovanja da se uključite i učestvujete u održavanju časa postavljanjem pitanja razmotriti o spajanju grupa za kasnije. O tome ćete biti obavešteni naknadno. Na praktikumima će asistent raditi zadatke koje biste inače radili vi, dok biste vi trebali da postavljate pitanja vezana za zadatke koji se rade, kao i uopšteno za temu koje se obrađuje.

Praktikumi će počinjati u pun sat i maksimalno trajati 1h.

Konsultacije će odžavati dva puta nedeljno u trajanju od 1h putem Zoom sastanaka. Moći ćete unapred da zapišete u deljeni Google Sheet pitanja na koja biste želeli da dobijete odgovor na konsultacijama. Naravno, i u toku samog Zoom sastanka ćete moći da postavljate pitanja. Informacije o terminima konsultacija i linkovi ka deljenim fajlovima za postavljanje pitanja biće postavljeni naknadno.

Naravno, ukoliko je potrebno da asistent pogleda kod koji ste pisali, uvek se možete obratiti svom asistentu mejlom.

Vežbe, praktikumi i konsultacije će biti snimani i snimci će Vam biti dostupni da ih pogledate ukoliko niste bili u mogućnosti da se uključite u Zoom sastanak. Međutim, poželjno je da se što više Vas koji su u mogućnosti uključi u sastanke i učestvuje u njima postavljanjem pitanja. To će vam pomoći da redovno učite i da na vreme razrešite eventualne nedoumice.

20.03.2020.

Predispitne obaveze

Kolokvijum iz Programiranja 2 neće biti održan. Poeni sa kolokvijuma se prebacuju na ispit. Poeni za aktivnost na praktikumima biće dodeljeni prema dosadašnjoj aktivnosti studenata.

18.03.2020.

Održavanje nastave u novonastalim okolnostima kod prof. Graovac

Mole se svi studenti koji žele da prate predavanja na daljinu iz predmeta Programiranje 2 kod profesorke Jelene Graovac da, što je moguće pre, popune sledeću Google formu: Prijava za predavanja na daljinu. Na osnovu unetih podataka, biće oformljena grupa preko koje ćete blagovremeno dobijati sve informacije neophodne za uspešno ovladavanje gradiva iz ovog predmeta, kao što su link preko koga će svake nedelje biti održavana predavanja/konsultacije na daljinu, različita uputstva, odgovori na pristigla pitanja i slično.

17.03.2020.

Održavanje nastave u novonastalim okolnostima

U svetlu tekuće zdravstvene situacije, nastava iz Programiranja 2 se do daljnjeg neće sprovoditi u prostorijama fakulteta. Sva nastava iz ovog predmeta se odlaže do nedelje koja počinje 23. marta i od tada se planira njeno održavanje putem interneta. O detaljima organizacije ovog vida nastave bićete detaljnije obavešteni u drugoj polovini nedelje, ali on će podrazumevati dostupnost snimaka predavanja i vežbi i upotrebu konferencijskih alata. Do početka nastave potrebno je da instalirate alat Zoom (https://zoom.us/) i isprobate ga sa drugim kolegama.

15.03.2020.

Promena sale za časove vežbi za grupu 1o1b i praktikuma P2

U ponedeljak 02.03.2020. vežbe i praktikum će biti održani u sali N202 umesto u sali N201

29.02.2020.

Nadoknada časova vežbi za grupu 1o1b i praktikuma P2

  • Nadoknada vežbi će biti održana u ponedeljak 24.02.2020. u učionici N201 u terminu 14h-16h
  • Nadoknada praktikuma će biti održana u ponedeljak 24.02.2020. u učionici N201 u terminu 16-17h

23.02.2020.

Upis ocena iz januarskog roka za tokove 1O2, 1O3 i 1O4

Upis ocena iz januarskog roka za tokove 1O2, 1O3 i 1O4, će biti održan u petak 21.02. u 15:30 u prostorijama u Siminoj 2.

17.02.2020.

Časovi vežbi za grupe 1o1a i 1o3a u narednoj nedelji

Grupa 1o1a:

  • redovan čas utorak 18.02.2020. 9-11h u učionici BIM
  • nadoknada petak 21.02.2020. 14-16h u učionici N225

Grupa 1o3a:

  • nadoknada četvrtak 20.02.2020. 9-11h u učionici N253
  • nadoknada petak 21.02.2020. 12-14h u učionici N152

16.02.2020.

Nadoknada praktikuma za grupu p11

Nadoknada ce biti odrzana u petak 21.02.2020. u ucionici N201 u terminu 15h-16h

15.02.2020.

Grupa 1o3b - čas praktikuma neće biti održan

Čas koji je trebalo da se održi danas od 12-13h neće biti održan. Detaljnije na sajtu asistenta Jelene Marković.

14.02.2020.

Vežbe za grupe 1o2a i 1o2b

Nadoknada za grupu 1o2a vežbi koji nisu održane 06.02.2020. biće u utorak 11.02.2020. 16-18h u JAG1.

Ubuduće vežbe će biti u sledećim terminima:

  • za grupu 1o2a - petkom 11-13h u N153 (zgrada u ulici Sv. Nikole)
  • za grupu 1o2b - NEMA PROMENE
Promena važi počev od ove nedelje. Očekujte da će ove promene uskoro biti ozvaničene i u rasporedu časova.

11.02.2020.

Vežbe za grupe 1o1a i 1o3a

Grupa 1o1a i 1o3a neće imati časove vežbi naredne nedelje zbog bolesti asistenta. Informacije o nadoknadi će biti objavljene naknadno. Za sva pitanja, obratiti se mejlom asistentu Filipu Vidojeviću.

09.02.2020.

Predavanja za tok 104

Predavanja neće biti održana 10.02.2020. Termin nadoknade biće dogovren sa studentima.

06.02.2020.

Vežbe za grupu 1o2a

Grupa 1o2a neće imati časove vežbi sutra, 06.02.2020. Termin nadoknade će biti u toku sledeće nedelje i biće naknadno objavljen.

05.02.2020.

Vežbe za grupu 1o1a

Grupa 1o1a neće imati časove vežbi sutra, 06.02.2020. Informacije o nadoknadi će biti objavljene naknadno. Za sva pitanja, obratiti se mejlom asistentu Filipu Vidojeviću.

05.02.2020.

Početak novog semestra

Srećno!

05.02.2020.

Matematički fakultet, Univerzitet u Beogradu
školska 2019/20. godina