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

Završni ispit:

Ispit u celini nosi 100 poena i oni će biti raspodeljeni na sledeći način:

  • Teorijski deo - nosi 50 poena (prag 40%) i radi se 1h
  • Praktični deo - nosi 50 poena (prag 40%) i radi se 2h

Poeni koji se mogu ostvariti u toku semestra:
  • teorijski testovi
  • dodatni poeni za aktivnost na vežbama
Pravila polaganja završnog ispita:
  • Ispit se sastoji iz praktičnog i teorijskog dela. Svaki deo nosi po 50 poena. Prag za svaki deo je 40% (20 poena). Da bi student položio ispit, mora da na svakom delu ostvari prag i u zbiru sakupi najmanje 51 poen.
  • U svakom ispitnom roku, termin ispita obuhvata i praktični i teorijski deo. Najčešće se prvo polaže teorijski deo (1 sat), a potom praktični deo (2 sata). Raspored sedenja po učionicama se objavljuje na sajtu predmeta dan pre termina ispita u odgovarajućem ispitnom roku.
  • Polaganje teorijskog dela ispita preko teorijskih testova. Biće organizovano 4 ili 5 teorijskih testova od čega će se računati 4 najbolja rezultata. Studenti koji su teorijski deo položili kroz teorijske testove i zadovoljni su ostvarenim brojem poena, polažu samo praktični deo ispita. Teorijski testovi važe za proizvoljan broj polaganja praktičnog dela ispita u okviru akademske 2025/26. godine (čak i ako padnete praktični ili ste nezadovoljni rezultatom, ostaje da važi teorijski položen preko testova). Teorijski testovi prestaju da važe ako student izađe na teorijski deo ispita u ispitnom roku.
  • Polaganje teorijskog dela ispita u ispitnom roku. Uslov za pregledanje teorijskog dela ispita je ostvareni prag na praktičnom delu ispita. Ostvareni prag na praktičnom delu ispita važi u spojenim rokovima (Jan1-Jan2, Jun1-Jun2, Sept1-Sept2). To znači sledeće:
    • Student može u prvom roku (Jan1/Jun1/Sept1) raditi praktični deo ispita, a u drugom (Jan2/Jun2/Sept2) teorijski deo ispita.
    • Student može u prvom od spojenih rokova (Jan1/Jun1/Sept1) raditi oba dela ispita, i ako je nezadovoljan rezultatom na teorijskom delu može izaći samo na taj deo u drugom roku (Jan2/Jun2/Sept2). U ovom slučaju poeni ostvareni na tom delu ispita u prvom roku se više neće računati.
  • Ispit je potrebno prijaviti u svim rokovima u kojima student izlazi na neki deo ispita.
  • Studenti mogu dobiti dodatnih 10 poena aktivnim učešćem na vežbama. Može se ostvariti najviše 10 poena za ceo semestar, najviše 1 poen u svakoj nedelji u kojoj student učestvuje. Asistenti će davati poene i vodiće se evidencija studenata koji su učestvovali. Poeni bi se dodali na ukupan konačan rezultat nakon ostvarenog praga na pismenom i teorijskom delu ispita.

Primeri:

  • Primer teorijskog dela ispita iz januara 2026.(OVDE)
  • Primer praktičnog dela ispita iz januara 2026.(OVDE)
  • Primer praktičnog dela ispita iz juna 2024.(OVDE)
  • Primer teorijskog dela ispita (OVDE)
  • Primeri praktičnog dela ispita (OVDE)

Jelena Graovac

ČAS 1: Doseg i zivotni vek. Bitovski operatori.

ČAS 2: Organizacija memorije. Rekurzija.

ČAS 3-4: Slozenost.

ČAS 5-6: Pretrazivanje. Sortiranje.

ČAS 7: Pokazivaci. Dinamicka alokacija memorije.

ČAS 8: Bibliotecke funkcije.

ČAS 9-10: Liste. Stek. Red.

ČAS 11-12: Stabla.

Sana Stojanović-Đurđević

NAPOMENA: najavljena je promena cuvanja webex snimaka

  • u slucaju da ne rade donji linkovi video materijale mozete naci na linku: enastava

ČAS 1: Doseg i životni vek promenljivih, organizacija programa

ČAS 2: Bitovski operatori, organizacija memorije

ČAS 3: Rekurzija

ČAS 4: Repna rekurzija, složenost algoritma

ČAS 5: Pretraživanje i sortiranje

ČAS 6: Pokazivači i dinamička alokacija memorije

ČAS 7: Generička funkcija za sortiranje nizova

ČAS 8: Dinamičke strukture podataka - Liste: implementacija funkcija; Primena: stek i red

ČAS 9: Dinamičke strukture podataka - Stabla; Osnovni pojmovi i primeri

  • [Sana Stojanović Đurđević] Snimak časa (šifra je data u imenu linka): 4uPuXWbw
  • Kratke beleške sa časa: beleske.txt
  • [Milena Vujošević Janičić, Jelena Graovac] Slajdovi: 11_12_stabla.pdf

ČAS 10: Dinamičke strukture podataka - Stabla; Pretraga, oslobađanje, ispisivanje stabla u širinu (po nivoima)

  • [Sana Stojanović Đurđević] Snimak časa (šifra je data u imenu linka): VeFBJ9pJ
  • Kratke beleške sa časa: beleske10.odt

ČAS 11: Dinamičke strukture podataka - vežbanje (izračunavanje vrednosti aritmetičkog stabla)

  • [Sana Stojanović Đurđević] Snimak časa (šifra je data u imenu linka): nU7JbJG3
  • Kratke beleške sa časa (kratak opis domaćeg zadatka, duži je u snimku): beleske11.odt, primer sa časa: aritmeticko_stablo.c

ČAS 12: Dinamičke strukture podataka - vežbanje (obrtanje jednostruko povezane liste u linearnom vremenu)

  • [Sana Stojanović-Đurđević] Snimak časa (šifra je data u imenu linka): 68pKg5mQ
  • Kratke beleške sa časa: obrtanje_liste.odt

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!

Slackware virtuelna mašina

ČAS 2: Algoritmi za rad sa bitovima

ČAS 3: Rekurzija

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

ČAS 5: Dinamička alokacija memorije i višedimenzioni nizovi

ČAS 6: Algoritmi pretrage

ČAS 7: Algoritmi sortiranja

ČAS 9: Pokazivaci na funkcije, bibliotecke funkcije qsort i bsearch, liste (uvod)

ČAS 10: Liste (nastavak)

ČAS 11: Liste (vežbanje) i uvod u binarno pretraživačko stablo

  • Prvi zadatak iz zadataka za vežbanje sa časa 10
  • Zadaci iz zbirke: 4.14
  • Biblioteka funkcija za rad sa binarnim pretraživačim stablom celih brojeva: stabla.c, stabla.h

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

ČAS 13: Vežbanje za ispit

Rezultati prvog teorijskog testa kod profesorke Jelene Graovac

Rezultate možete pogledati u kartici REZULTATI.

15.04.2026.

Odlaganje predavanja kod profesorke Jelene 24. marta

Časovi predavanja kod profesorke Jelene 24. marta se otkazuju. Nadoknada će se održati po dogovoru u nekom kasnijem terminu.

20.03.2026.

Početak novog semestra

Srećno!

20.03.2026.

REZULTATI ISPITA

U ovom odeljku se nalaze rezultati ispita. Na vrhu svake tabele označen je rok u kom je taj deo pregledan. Kada se u novom roku pregleda ispit, biće ažurirana i sama tabela.

U sledećoj tabeli možete naći poene za aktivnost na časovima vežbi. Svaka kartica na dnu tabele odgovara toku.

U sledećoj tabeli možete naći rezultate sa teorijskih testova kod profesorke Jelene Graovac. Svaka kartica na dnu tabele odgovara toku 1o2 ili 1o3.

15.4.2026.

Kako napisati poruku profesoru ili asistentu

Ukoliko ste u nedoumici kako da napišete elektronsku poruku profesoru ili asistentu, pročitajte ovo kratko uputstvo.

Gde se još nalaze prostorije Matematičkog fakulteta?

Važni i korisni linkovi

MATF takmičenja

Matematički fakultet, Univerzitet u Beogradu
školska 2025/2026. godina