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 spojenim rokovima (jun1-jun2 i sept1-sept2).
  • 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

  • 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

Raspored sedenja - SEPT2

Na sledećem linku možete naći raspored sedenja iz Programiranja 2. (LINK).

Raspored ispita je sledeći:

  • Teorijski deo 13h (trajanje 1h)
  • Praktični deo 14h (trajanje 2h)

Potrebno je doći 15 minuta ranije na određeni deo ispita koji želite da polažete kako biste se smestili u učionicu.

Ukoliko ste ispit prijavili preko Hipatije a niste se pronašli u rasporedu, javite se asistentu Dari Milojković.

27.09.2024

Prijava izlaska na ispit - SEPT2

Potrebno je popuniti sledeću prijavu ukoliko želite da izađete na ispit iz Programiranja 2. (LINK).

Prijava će biti aktivna do 27.09. do 12h. Raspored sedenja će biti okačen kasnije u toku dana.

23.09.2024

Raspored sedenja - SEPT1

Na sledećem linku možete naći raspored sedenja iz Programiranja 2. (LINK).

Raspored ispita je sledeći:

  • Teorijski deo 13h (trajanje 1h)
  • Praktični deo 14h (trajanje 2h)

Potrebno je doći 15 minuta ranije na određeni deo ispita koji želite da polažete kako biste se smestili u učionicu.

Ukoliko ste ispit prijavili preko Hipatije a niste se pronašli u rasporedu, javite se asistentu Dari Milojković.

08.09.2024

Prijava izlaska na ispit - SEPT1

Potrebno je popuniti sledeću prijavu ukoliko želite da izađete na ispit iz Programiranja 2. (LINK).

Prijava će biti aktivna do 08.09. do 12h. Raspored sedenja će biti okačen kasnije u toku dana.

03.09.2024

Raspored sedenja - JUN2

Na sledećem linku možete naći raspored sedenja iz Programiranja 2. (LINK).

Raspored ispita je sledeći:

  • Teorijski deo 13h (trajanje 1h)
  • Praktični deo 14h (trajanje 2h)

Potrebno je doći 15 minuta ranije na određeni deo ispita koji želite da polažete kako biste se smestili u učionicu.

Ukoliko ste ispit prijavili preko Hipatije a niste se pronašli u rasporedu, javite se asistentu Dari Milojković.

05.07.2024

Prijava izlaska na ispit - JUN2

Potrebno je popuniti sledeću prijavu ukoliko želite da izađete na ispit iz Programiranja 2. (LINK).

Prijava će biti aktivna do 05.07. do 12h. Raspored sedenja će biti okačen kasnije u toku dana.

30.06.2024

Objavljivanje rezultata

Rezultati će biti objavljivani u odeljku REZULTATI i biće organizovani po tokovima. Potrebno je pronaći svoj tok i pogledati da li su profesori/asistenti promenili rok.

Za sada je pregledana teorija za tok 1O2 i objavljen je način i vreme uvida. Ostali će tokom vremena pregledati i objaviti rezultate.

Ukoliko imate nekih pitanja u vezu tabela javiti se asistentu Dari Milojković.

15.06.2024

Raspored sedenja - JUN1

Na sledećem linku možete naći raspored sedenja iz Programiranja 2. (LINK).

Raspored ispita je sledeći:

  • Teorijski deo 13h (trajanje 1h)
  • Praktični deo 14h (trajanje 2h)

Potrebno je doći 15 minuta ranije na određeni deo ispita koji želite da polažete kako biste se smestili u učionicu.

Ukoliko ste ispit prijavili preko Hipatije a niste se pronašli u rasporedu, javite se asistentu Dari Milojković.

13.06.2024

Prijava izlaska na ispit - JUN1

Potrebno je popuniti sledeću prijavu ukoliko želite da izađete na ispit iz Programiranja 2. (LINK).

Prijava će biti aktivna do 13.06. do 12h. Raspored sedenja će biti okačen kasnije u toku dana.

08.06.2024

[Tok 1o2] -vežbe 20.05.

Vežbe kod asistenta Marka Savić se neće održati u ponedeljak 20. maja.

Nadoknada vežbi će se održati u petak 17.05. počev od 11h u učionici JAG2.

14.05.2024

[Tok 1o2] -nadoknada

Nadoknada vežbi će se održati u petak 12.04. počev od 11h u učionici JAG2.

08.04.2024

[Tok 1o2] -vežbe 01.04.

Vežbe kod asistenta Marka Savić se neće održati u ponedeljak 01. aprila.

Termin nadoknade će biti naknadno objavljen.

29.03.2024.

[Tok 1o1] - konsultacije 27.03.

Konsultacije kod asistenta Dare Milojković će se održati u sredu 27. marta od 16h u učionici RLAB.

27.3.2024.

[Tok 1o1] - vežbe 29.02.

Vežbe kod asistenta Dare Milojković se neće održati u četvrtak 29. februara.

Nadoknada će se održati u sredu 06. marta sa početkom od 16h u učionici RLAB.

28.2.2024.

[Tok 1o4] - predavanja prve nedelje (utorak 20.2.)

Obaveštavam Vas da će predavanje kod profesorke Sane biti održano od 8h (u istoj sali) umesto od 9h.
Predavanje ce održati profesorka Ivana Tanasijević.

19. 2. 2024.

Početak novog semestra

Srećno!

17. 2. 2024.

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