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 30%) i radi se 1h
  • Praktični deo - nosi 50 poena (prag 30%) i radi se 2h

Pravila polaganja završnog ispita:
  • Svi delovi završnog ispita mogu se polagati u jednom ispitnom roku
  • Svi delovi završnog ispita mogu se polagati u više ispitnih rokova
  • Jednom položen bilo koji od delova ispita važi u svim narednim ispitnim rokovima
  • Ispit je potrebno prijaviti u svim rokovima u kojima student izlazi na neki deo ispita

Primeri:

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

Ivana Tanasijević, 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

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

ČAS 13: Vežbanje za ispit

Snimci

Snimke časova iz 2021/2022 godine možete naći u kartici VEŽBE ispod svakog časa.

Preporuka asistenata je da slušate na brzini 2x.

Potrebno je ukucati šifru koja se nalazi u nazivu linka.

Ukoliko ste naišli na neki problem javite se asistentu Dari Milojković.

13.03.2025.

Početak novog semestra

Srećno!

22.2.2025.

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.

9. 7. 2022.

Matematički fakultet, Univerzitet u Beogradu
školska 2023/24. godina